changeset 22586:d0e972e74851

maint: merge stable to default.
author Carnë Draug <carandraug@octave.org>
date Tue, 04 Oct 2016 18:56:29 +0100
parents 98eeed41f372 (current diff) d2bca82253ee (diff)
children e22906126af5
files NEWS configure.ac doc/interpreter/linalg.txi liboctave/numeric/lo-lapack-proto.h liboctave/numeric/module.mk liboctave/operators/mx-defs.h liboctave/operators/mx-ext.h scripts/help/__unimplemented__.m
diffstat 6 files changed, 46 insertions(+), 31 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Sun Oct 02 08:22:00 2016 -0700
+++ b/NEWS	Tue Oct 04 18:56:29 2016 +0100
@@ -1,3 +1,11 @@
+Summary of important user-visible changes for version 4.4:
+---------------------------------------------------------
+
+ ** Other new functions added in 4.4:
+
+      gsvd
+
+
 Summary of important user-visible changes for version 4.2:
 ---------------------------------------------------------
 
@@ -164,7 +172,6 @@
       deg2rad
       dialog
       evalc
-      gsvd
       hash
       im2double
       isocaps
--- a/libinterp/corefcn/module.mk	Sun Oct 02 08:22:00 2016 -0700
+++ b/libinterp/corefcn/module.mk	Tue Oct 04 18:56:29 2016 +0100
@@ -173,7 +173,6 @@
   libinterp/corefcn/gl2ps-print.cc \
   libinterp/corefcn/graphics.cc \
   libinterp/corefcn/gripes.cc \
-  libinterp/corefcn/gsvd.cc \
   libinterp/corefcn/hash.cc \
   libinterp/corefcn/help.cc \
   libinterp/corefcn/hess.cc \
--- a/scripts/plot/util/print.m	Sun Oct 02 08:22:00 2016 -0700
+++ b/scripts/plot/util/print.m	Tue Oct 04 18:56:29 2016 +0100
@@ -400,14 +400,16 @@
       hax = findall (opts.figure, "-depth", 1, "type", "axes",
                                   "-not", "tag", "legend",
                                   "-not", "color", "none");
-      m = numel (props);
-      for n = 1:numel(hax)
-        props(m+n).h = hax(n);
-        props(m+n).name = "color";
-        props(m+n).value{1} = get(hax(n), "color");
-        set (hax(n), "color", "white");
-      endfor
-      nfig += n;
+      if (! isempty (hax))
+        m = numel (props);
+        for n = 1:numel (hax)
+          props(m+n).h = hax(n);
+          props(m+n).name = "color";
+          props(m+n).value{1} = get(hax(n), "color");
+          set (hax(n), "color", "white");
+        endfor
+        nfig += n;
+      endif
     endif
 
     if (opts.force_solid != 0)
--- a/scripts/plot/util/private/__gnuplot_draw_axes__.m	Sun Oct 02 08:22:00 2016 -0700
+++ b/scripts/plot/util/private/__gnuplot_draw_axes__.m	Tue Oct 04 18:56:29 2016 +0100
@@ -335,10 +335,6 @@
     fputs (plot_stream, "set border front;\n");
   else
     fputs (plot_stream, "set grid layerdefault;\n");
-    ## FIXME: The gnuplot help says that "layerdefault" should work
-    ##        for set border too, but it fails for me with gnuplot 4.2.5.
-    ##        So, use "back" instead.
-    fputs (plot_stream, "set border back;\n");
   endif
 
   xlogscale = strcmp (axis_obj.xscale, "log");
@@ -775,14 +771,16 @@
                     ccol = cdat;
                   endif
                   if (strcmp (obj.facecolor, "flat"))
-                    ccdat = mapcdata (ccol, obj.cdatamapping, clim, cmap_sz);
                     if (isequal (size (ccol), [1, 3]))
                       ## RGB Triplet
                       color = ccol;
-                    elseif (nd == 3 && numel (xcol) == 3)
-                      color = cmap(ccdat(1), :);
                     else
-                      color = cmap(ccdat, :);
+                      ccdat = mapcdata (ccol, obj.cdatamapping, clim, cmap_sz);
+                      if (nd == 3 && numel (xcol) == 3)
+                        color = cmap(ccdat(1), :);
+                      else
+                        color = cmap(ccdat, :);
+                      endif
                     endif
                   elseif (strcmp (obj.facecolor, "interp"))
                     if (nd == 3 && numel (xcol) == 3)
@@ -894,10 +892,12 @@
                   ccol = cdat;
                 endif
                 if (strcmp (ec, "flat"))
-                  ccol = mapcdata (ccol, obj.cdatamapping, clim, cmap_sz);
                   if (isequal (size (ccol), [1, 3]))
                     color = ccol;
                   else
+                    if (columns (ccol) != 3)
+                      ccol = mapcdata (ccol, obj.cdatamapping, clim, cmap_sz);
+                    endif
                     if (isscalar (ccol))
                       ccol = repmat (ccol, numel (xcol), 1);
                     endif
@@ -1203,6 +1203,9 @@
               && ylen == rows (xdat) && ylen == rows (ydat))
             len = 4 * xlen;
             zz = zeros (ylen, len);
+            if (! flat_interp_face)
+              addedcmap = [addedcmap; obj.facecolor];
+            endif
             k = 1;
             for kk = 1:4:len
               zz(:,kk)   = xdat(:,k);
@@ -1211,9 +1214,7 @@
               if (flat_interp_face)
                 zz(:,kk+3) = cdat(:,k);
               else
-                ## Convert color to 24-bit RGB
-                zz(:,kk+3) = hex2dec (sprintf ("%02x%02x%02x",
-                                               round (255*obj.facecolor)));
+                zz(:,kk+3) = cmap_sz + rows (addedcmap);
               endif
               k += 1;
             endfor
@@ -1232,12 +1233,7 @@
           fputs (plot_stream, "unset pm3d\n");
           fputs (plot_stream, "set style increment default;\n");
           hidden_removal = true;
-          if (flat_interp_face)
-            color_source = "";
-          else
-            color_source = " linecolor rgb variable";
-          endif
-          withclause{data_idx} = sprintf ("with pm3d%s", color_source);
+          withclause{data_idx} = sprintf ("with pm3d");
 
           if (doing_interp_color)
             ## "depthorder" interferes with interpolation of colors.
@@ -2335,7 +2331,10 @@
 
   if (isempty (t.fontname) || strcmp (t.fontname, "*"))
     if (ispc ())
-      fnt = "Helvetica";
+      ## FIXME: Should really test for "windows" terminal which is the
+      ## only terminal to have a problem with a null font specification.
+      ## See Bug #49135.
+      fnt = "Arial";
     else
       fnt = "";
     endif
@@ -2417,7 +2416,7 @@
   endif
 
   if (enhanced)
-    str = regexprep (str, '(?<!\\)@', '\@');
+    str = regexprep (str, '(?<!\\)@', '\\@');
   endif
 
   if (enhanced)
--- a/scripts/plot/util/private/__gnuplot_draw_figure__.m	Sun Oct 02 08:22:00 2016 -0700
+++ b/scripts/plot/util/private/__gnuplot_draw_figure__.m	Tue Oct 04 18:56:29 2016 +0100
@@ -38,10 +38,11 @@
       fputs (plot_stream, "set size 1, 1\n");
       bg = get (h, "color");
       if (isnumeric (bg))
-        fprintf (plot_stream, "set obj 1 rectangle from screen 0,0 to screen 1,1 behind fc rgb \"#%02x%02x%02x\" fs solid noborder\n", round (255 * bg));
+        fprintf (plot_stream, "if (GPVAL_TERM eq \"qt\") {set obj 1 rectangle from screen 0,0 to screen 1,1 behind fc rgb \"#%02x%02x%02x\" fs solid noborder}\n", round (255 * bg));
         bg_is_set = true;
       else
         bg_is_set = false;
+        fprintf (plot_stream, "unset obj 1");
       endif
       fg_was_set = false;
 
--- a/scripts/plot/util/private/__gnuplot_print__.m	Sun Oct 02 08:22:00 2016 -0700
+++ b/scripts/plot/util/private/__gnuplot_print__.m	Tue Oct 04 18:56:29 2016 +0100
@@ -45,6 +45,13 @@
   ## The axes-label and tick-label spacing is determined by
   ## the font spec given in "set terminal ..."
   gp_opts = font_spec (opts);
+  bg = get (opts.figure, "color");
+  if (isnumeric (bg))
+    gp_opts = sprintf ("%s background rgb \"#%02x%02x%02x\"",
+                       gp_opts, round (255 * bg));
+  else
+    gp_opts = sprintf ("%s nobackground", gp_opts);
+  endif
 
   pipeline = "";