Mercurial > octave
changeset 33570:c978eff7a857
maint: Merge stable to default.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Sat, 11 May 2024 14:59:27 +0200 |
parents | 69b9695538fb (current diff) aa773ddbe25b (diff) |
children | 742d8fc77688 |
files | |
diffstat | 2 files changed, 46 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/etc/NEWS.9.md Fri May 10 17:56:08 2024 -0400 +++ b/etc/NEWS.9.md Sat May 11 14:59:27 2024 +0200 @@ -19,6 +19,13 @@ states (bug #65595). - Fix segmentation fault when trying to set breakpoint in non-existent method of `classdef` class (bug #65610). +- Improve default display of `classdef` properties (bug #62432). +- Avoid crash with Qt6 6.7.0 (bug #65605). +- `bar.m`: Catch input number validation error. +- Prevent OOM crash or segmentation fault in `sort ()` when `dim` equals `Inf` + (bug #65712). +- `legend.m`: Avoid setting more colors than coordinates for `patch` objects + (bug #65632). ### GUI @@ -44,6 +51,10 @@ summary. - Run test program for polymorphic allocators if possible instead of a simple build check. +- Speed up BIST for the central part of `convn` with `'full'` shape. +- Require Qt Widgets module when building the GUI (bug #65625). +- `bug-53027.tst`: Delete temporary file after test is done (bug #53027). +- Avoid build error with GCC 14 when targeting Windows. ### Documentation @@ -56,6 +67,12 @@ - Add application notes in `fminsearch`, `fminbnd`, `fminunc` indicating the preferred way to pass parameters is through anonymous functions. - Update remaining copyright statements to 2024. +- Minor fix for `setappdata.m`. +- Section "Assignment Expressions": Use `@emph` rather than `@i` macro for + better rendering in plaintext formats. +- Section "Running Octave": Tell new users how to start Octave on their + computers. +- `tsearch`: Add programming note about expected performance. ### Deprecated functions, properties, and operators
--- a/scripts/plot/appearance/legend.m Fri May 10 17:56:08 2024 -0400 +++ b/scripts/plot/appearance/legend.m Sat May 11 14:59:27 2024 +0200 @@ -1072,7 +1072,7 @@ persistent lprops = {"color", "linestyle", "linewidth"}; persistent mprops = {"color", "marker", "markeredgecolor", ... "markerfacecolor", "markersize"}; - persistent pprops = {"edgecolor", "facecolor", "cdata", ... + persistent pprops = {"edgecolor", "facecolor", ... "linestyle", "linewidth", ... "marker", "markeredgecolor", ... "markerfacecolor", "markersize"}; @@ -1125,11 +1125,16 @@ case {"patch", "surface"} vals = get (hplt, pprops); + cdata = get (hplt, "cdata"); - hicon = __go_patch__ (hl, [pprops; vals]{:}); + hicon = __go_patch__ (hl, [pprops; vals]{:}, ... + "cdata", median (median (cdata, 1), 2)); ## Listeners safe_property_link (hplt(1), hicon, pprops); + addlistener (hplt, "cdata", ... + @(h, ~) set (hicon, "cdata", ... + median (median (get (h, "cdata"), 1), 2))); setappdata (hicon, "__creator__", typ); @@ -1171,7 +1176,9 @@ ## Main patch vals = get (hplt(1), pprops); - hicon = __go_patch__ (hl, [pprops; vals]{:}, ... + cdata = get (hplt(1), "cdata"); + hicon = __go_patch__ (hl, "cdata", cdata, ... + [pprops; vals]{:}, ... "pickableparts", "all", ... "buttondownfcn", ... {@execute_itemhit, hl, hplt, "icon"}); @@ -1181,15 +1188,17 @@ ## Additional patch for the inner contour vals = get (hplt(end), pprops); + cdata = get (hplt(end), "cdata"); htmp = __go_patch__ (hl, "handlevisibility", "off", ... - "xdata", 0, "ydata", 0, [pprops; vals]{:}, ... + "xdata", 0, "ydata", 0, "cdata", cdata, ... + [pprops; vals]{:}, ... "pickableparts", "all", ... "buttondownfcn", ... {@execute_itemhit, hl, hplt, "icon"}); ## Listeners - safe_property_link (hplt(1), hicon, pprops); - safe_property_link (hplt(end), htmp, pprops); + safe_property_link (hplt(1), hicon, [{"cdata"}, pprops]); + safe_property_link (hplt(end), htmp, [{"cdata"}, pprops]); addlistener (hicon, "ydata", ... @(h, ~) set (htmp, "ydata", get (h, "innerydata"))); addlistener (hicon, "xdata", ... @@ -1911,6 +1920,20 @@ %! title ("legend() works for surface objects too"); %!demo +%! clf; +%! [x,y,z] = meshgrid (-.2:0.02:.2, -.2:0.02:.2, -.2:0.02:.2); +%! val = (x.^2 + y.^2 + z.^2); +%! +%! h_axes = axes (); +%! view (3); +%! fv = isosurface (x, y, z, val, .039, z); +%! h_patch = patch (fv, "FaceColor", "flat", "EdgeColor", "none"); +%! view (3); +%! axis tight +%! axis equal +%! legend ({"colored patch"}); + +%!demo %! clf reset; # needed to undo colormap assignment in previous demo %! rand_2x3_data2 = [0.44804, 0.84368, 0.23012; 0.72311, 0.58335, 0.90531]; %! bar (rand_2x3_data2);