Mercurial > octave
view NEWS @ 27517:85ad4689aa05
Add warning when non-scalar argument presented to ':' range operator.
* NEWS: Announce new warning IDs Octave:colon-nonscalar-argument,
Octave:colon-complex-argument.
* basics.txi: Document that warning Octave:colon-nonscalar-argument is turned
off when --traditional mode is used.
* interpreter.cc (interpreter::maximum_braindamage): Disable
Octave:colon-nonscalar-argument when --traditional used.
* ov.cc (do_colon_op): Check that numel() == 1 for base, limit, and increment,
or call warning_with_id. Change warning() to warning_with_id call for
Octave:colon-complex-argument.
* warning_ids.m: Document new warning IDs Octave:colon-nonscalar-argument,
Octave:colon-complex-argument.
* edit.m (default_user): Fix code that emitted a colon warning.
author | Rik <rik@octave.org> |
---|---|
date | Wed, 16 Oct 2019 13:49:19 -0700 |
parents | bea2823affa4 |
children | 37f9eb2c05e0 |
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. - 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 #### 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)