Mercurial > octave
view NEWS @ 27537:7dc31256c5e4
Document that regexp* functions need UTF-8 encoded input (bug #35910).
* regexp.cc (Fregexp, Fregexpi, Fregexpreg): Document that the input strings
must be UTF-8 encoded.
* NEWS: Announce support for UTF-8 encoded strings in regexp* functions.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Thu, 17 Oct 2019 20:41:03 +0200 |
parents | 3912e3a74e31 |
children | 7f1fbc0541bd |
line wrap: on
line source
Summary of important user-visible changes for version 6 (yyyy-mm-dd): ---------------------------------------------------------------------- ### General improvements - The `intersect`, `setdiff', `setxor`, `union`, and `unique` functions accept a new sorting option `"stable"` which will return output values in the same order as the input, rather than in ascending order. - The `linspace` function now produces symmetrical sequences when the endpoints are symmetric. This is more intuitive and also compatible with recent changes made in Matlab R2019b. - The `edit` function option `"editinplace"` now defaults to `true` and the option `"home"` now defaults to the empty matrix `[]`. Files will no longer be copied to the user's HOME directory for editing. The old behavior can be restored by setting `"editinplace"` to `false` and `"home"` to `"~/octave"`. - The `format` command supports two new options: `uppercase` and `lowercase` (default). With the default, print a lowercase 'e' for the exponent character in scientific notation and lowercase 'a-f' for the hex digits representing 10-15. With `uppercase`, print 'E' and 'A-F' instead. The previous uppercase formats, `E` and `G`, no longer control the case of the output. Additionally, the `format` command can be called with multiple options for controlling the format, spacing, and case in arbitrary order. For example: format long e uppercase loose Note, that in case of multiple competing format options the rightmost one is used and in case of an error the previous format remains unchanged. - New warnings have been added about questionable uses of the colon ':' range operator. Each has a new warning ID so that it can be disabled if desired. Octave:colon-complex-argument : when any arg is complex Octave:colon-nonscalar-argument : when any arg is non-scalar - The `regexp` and related functions now correctly handle and *require* strings in UTF-8 encoding. As with any other function that requires strings to be encoded in Octave's native encoding, you can use "native2unicode" to convert from your preferred locale. For example, the copyright symbol in UTF-8 is `native2unicode (169, "latin1")`. #### Graphics backend - Graphic primitives now accept a color property value of `"none"` which is useful when a particular primitive needs to be hidden (for example, the Y-axis of an axes object with `"ycolor" = "none"`) without hiding the entire primitive `"visibility" = "off"`. - A new property `"FontSmoothing"` has been added to text and axes objects that controls whether anti-aliasing is used during the rendering of characters. The default is "on" which produces smooth, more visually appealing text. - The figure property `"windowscrollwheelfcn"`is now implemented. This makes it possible to provide a callback function to be executed when users manipulate the mouse wheel on a given figure. - The figure properties `"pointer"`, `"pointershapecdata"`, and `"pointershapehotspot"` are now implemented. This makes it possible to change the shape of the cursor (pointer in Matlab-speak) displayed in a plot window. - The figure property `"paperpositionmode"` now has the default `"auto"` rather than `"manual"`. This change is more intuitive and is Matlab compatible. - The appearance of patterned lines `"LineStyle" = ":"|"--"|"-."` has been improved for small widths (`"LineWidth"` less than 1.5 pixels) which is a common scenario. - Printing to EPS files now uses a tight bounding box (`"-tight"` argument to print) by default. This makes more sense for EPS files which are normally embedded within other documents, and is Matlab compatible. If necessary use the `"-loose"` option to reproduce figures as they appeared in previous versions of Octave. - The following print devices are no longer officially supported: cdr, corel, aifm, ill, cgm, hpgl, mf and dxf. A warning will be thrown when using those devices, and the code for supporting those formats will eventually be removed from a future version of Octave. ### Matlab compatibility - The function `unique` now returns column index vectors for the second and third outputs. When duplicate values are present, the default index to return is now the `"first"` occurrence. The previous Octave behavior, or Matlab behavior from releases prior to R2012b, can be obtained by using the `"legacy"` flag. - The function `setdiff` with the `"rows"` argument now returns Matlab compatible results. The previous Octave behavior, or Matlab behavior from releases prior to R2012b, can be obtained by using the `"legacy"` flag. - The functions `intersect`, `setxor`, and `union` now accept a `"legacy"` flag which changes the index values (second and third outputs) as well as the orientation of all outputs to match Matlab releases prior to R2012b. - Complex RESTful web services can now be accessed by the `webread` and `webwrite` functions alongside with the `weboptions` structure. One major feature is the support for cookies to enable RESTful communication with the web service. Additionally, the system web browser can be opened by the `web` function. - The interpreter now supports handles to nested functions. - The graphics properties `"LineWidth"` and `"MarkerSize"` are now measured in points, *not* pixels. Compared to previous versions of Octave, some lines and markers will appear 4/3 larger. - The meta.class property "SuperClassList" has been renamed "Superclasslist" for Matlab compatibility. The original name will exist as an alias until Octave version 8.1. ### Alphabetical list of new functions added in Octave 6 - `lightangle` - `namedargs2cell` - `newline` - `rotx` - `roty` - `rotz` - `verLessThan` - `web` - `weboptions` - `webread` - `webwrite` ### Deprecated functions and properties The following functions and properties have been deprecated in Octave 6 and will be removed from Octave 8 (or whatever version is the second major release after 6): - Functions Function | Replacement -----------------------|------------------ `runtests` | `oruntests` - Properties Object | Property | Value -----------------|---------------|------------ | | ### Removed functions and properties The following functions and properties were deprecated in Octave 4.4 and have been removed from Octave 6. - Functions Function | Replacement ---------------------|------------------ `chop` | `sprintf` for visual results `desktop` | `isguirunning` `tmpnam` | `tempname` `toascii` | `double` `java2mat` | `__java2mat__` - Properties Object | Property | Value ---------------------|---------------------------|----------------------- `figure` | `doublebuffer` | | `mincolormap` | | `wvisual` | | `wvisualmode` | | `xdisplay` | | `xvisual` | | `xvisualmode` | `axes` | `drawmode` | `annotation` | `edgecolor ("rectangle")` | `text` | `fontweight` | `"demi"` and `"light"` `uicontrol` | `fontweight` | `"demi"` and `"light"` `uipanel` | `fontweight` | `"demi"` and `"light"` `uibuttongroup` | `fontweight` | `"demi"` and `"light"` `uitable` | `fontweight` | `"demi"` and `"light"` ### Old release news - [Octave 5.x](etc/NEWS.5) - [Octave 4.x](etc/NEWS.4) - [Octave 3.x](etc/NEWS.3) - [Octave 2.x](etc/NEWS.2) - [Octave 1.x](etc/NEWS.1)