changeset 22910:23847979b91e

maint: Strip trailing whitespace from source files.
author John W. Eaton <jwe@octave.org>
date Fri, 16 Dec 2016 10:20:35 -0500
parents 7b368d85e86c
children 82551783527f
files doc/interpreter/genpropdoc.m doc/interpreter/intro.txi etc/icons/octave.appdata.xml.in libgui/src/resource-manager.h libinterp/corefcn/gl2ps-print.cc libinterp/corefcn/graphics.cc libinterp/corefcn/graphics.in.h libinterp/corefcn/pager.cc libinterp/corefcn/profiler.h libinterp/corefcn/symtab.h libinterp/dldfcn/__ode15__.cc run-octave.in scripts/mkdoc.pl scripts/ode/decic.m scripts/ode/ode15i.m scripts/ode/ode15s.m scripts/ode/private/check_default_input.m scripts/plot/draw/isonormals.m scripts/plot/draw/private/__ezplot__.m
diffstat 19 files changed, 275 insertions(+), 276 deletions(-) [+]
line wrap: on
line diff
--- a/doc/interpreter/genpropdoc.m	Fri Dec 16 10:56:23 2016 -0500
+++ b/doc/interpreter/genpropdoc.m	Fri Dec 16 10:20:35 2016 -0500
@@ -870,7 +870,7 @@
 
       case "linewidth"
         s.doc = "Width of the line object measured in points.";
-        
+
       case "linejoin"
         s.doc = "Control the shape of the junction of line segments. \
 This property currently only affects the printed output.";
--- a/doc/interpreter/intro.txi	Fri Dec 16 10:56:23 2016 -0500
+++ b/doc/interpreter/intro.txi	Fri Dec 16 10:20:35 2016 -0500
@@ -654,7 +654,7 @@
 If output arguments are requested, @code{diary} ignores inputs and returns
 the current status.  The boolean @var{status} indicates whether recording is on
 or off, and @var{diaryfile} is the name of the file where the session is
-stored.  
+stored.
 @seealso{history, evalc}
 @end deftypefn
 
--- a/etc/icons/octave.appdata.xml.in	Fri Dec 16 10:56:23 2016 -0500
+++ b/etc/icons/octave.appdata.xml.in	Fri Dec 16 10:20:35 2016 -0500
@@ -3,17 +3,17 @@
   Copyright (C) 2013-2016 Carnë Draug
 
   This file is part of Octave.
-  
+
   Octave is free software; you can redistribute it and/or modify it
   under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3 of the License, or
   (at your option) any later version.
-  
+
   Octave is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
-  
+
   You should have received a copy of the GNU General Public License
   along with Octave; see the file COPYING.  If not, see
   <http://www.gnu.org/licenses/>.
--- a/libgui/src/resource-manager.h	Fri Dec 16 10:56:23 2016 -0500
+++ b/libgui/src/resource-manager.h	Fri Dec 16 10:20:35 2016 -0500
@@ -119,7 +119,7 @@
   static void cleanup_instance (void) { delete instance; instance = 0; }
 
 private:
-  
+
   static bool instance_ok (void);
 
   QString settings_directory;
--- a/libinterp/corefcn/gl2ps-print.cc	Fri Dec 16 10:56:23 2016 -0500
+++ b/libinterp/corefcn/gl2ps-print.cc	Fri Dec 16 10:20:35 2016 -0500
@@ -127,7 +127,7 @@
     void set_linecap (const std::string& s)
       {
         octave::opengl_renderer::set_linejoin (s);
-      
+
 #if defined (HAVE_GL2PSLINEJOIN)
         if (s == "butt")
           gl2psLineCap (GL2PS_LINE_CAP_BUTT);
@@ -141,7 +141,7 @@
     void set_linejoin (const std::string& s)
     {
       octave::opengl_renderer::set_linejoin (s);
-      
+
 #if defined (HAVE_GL2PSLINEJOIN)
       if (s == "round")
         gl2psLineJoin (GL2PS_LINE_JOIN_ROUND);
--- a/libinterp/corefcn/graphics.cc	Fri Dec 16 10:56:23 2016 -0500
+++ b/libinterp/corefcn/graphics.cc	Fri Dec 16 10:20:35 2016 -0500
@@ -1618,13 +1618,13 @@
 }
 
 /*
-## Test validation of uicontextmenu property 
+## Test validation of uicontextmenu property
 %!test
 %! hf = figure ("visible", "off");
 %! unwind_protect
 %!   hax = axes ("parent", hf);
 %!   hpa = patch ("parent", hax);
-%!   try 
+%!   try
 %!     set (hax, "uicontextmenu", hpa);
 %!   catch
 %!     err = lasterr ();
@@ -1632,7 +1632,7 @@
 %!   assert (err, 'set: invalid graphics object type for property "uicontextmenu"');
 %! unwind_protect_cleanup
 %!   delete (hf);
-%! end_unwind_protect   
+%! end_unwind_protect
 */
 
 Matrix
@@ -4612,18 +4612,18 @@
 }
 
 /*
-## Test validation of axes double properties range 
+## Test validation of axes double properties range
 %!test
 %! hf = figure ("visible", "off");
 %! unwind_protect
 %!   hax = axes ("parent", hf);
-%!   try 
+%!   try
 %!     set (hax, "linewidth", -1);
 %!   catch
 %!     err = lasterr ();
 %!   end_try_catch
 %!   assert (err, 'set: "linewidth" must be greater than 0');
-%!   try 
+%!   try
 %!     set (hax, "minorgridalpha", 1.5);
 %!   catch
 %!     err = lasterr ();
@@ -4631,7 +4631,7 @@
 %!   assert (err, 'set: "minorgridalpha" must be less than or equal to 1');
 %! unwind_protect_cleanup
 %!   delete (hf);
-%! end_unwind_protect   
+%! end_unwind_protect
 */
 
 Matrix
--- a/libinterp/corefcn/graphics.in.h	Fri Dec 16 10:56:23 2016 -0500
+++ b/libinterp/corefcn/graphics.in.h	Fri Dec 16 10:20:35 2016 -0500
@@ -1177,7 +1177,7 @@
   base_property* clone (void) const { return new double_property (*this); }
 
   void add_constraint (const std::string& type, double val, bool inclusive)
-  { 
+  {
     if (type == "min")
       minval = std::pair<double, bool> (val, inclusive);
     else if (type == "max")
@@ -2677,8 +2677,8 @@
   void insert_static_property (const std::string& name, base_property& p)
   { insert_property (name, property (&p, true)); }
 
-  virtual void init (void) 
-  { 
+  virtual void init (void)
+  {
     uicontextmenu.add_constraint ("uicontextmenu");
   }
 };
--- a/libinterp/corefcn/pager.cc	Fri Dec 16 10:56:23 2016 -0500
+++ b/libinterp/corefcn/pager.cc	Fri Dec 16 10:20:35 2016 -0500
@@ -538,7 +538,7 @@
 If output arguments are requested, @code{diary} ignores inputs and returns
 the current status.  The boolean @var{status} indicates whether recording is on
 or off, and @var{diaryfile} is the name of the file where the session is
-stored.  
+stored.
 @seealso{history, evalc}
 @end deftypefn */)
 {
--- a/libinterp/corefcn/profiler.h	Fri Dec 16 10:56:23 2016 -0500
+++ b/libinterp/corefcn/profiler.h	Fri Dec 16 10:20:35 2016 -0500
@@ -92,7 +92,7 @@
 
   profile_data_accumulator&
   operator = (const profile_data_accumulator&) = delete;
-  
+
   virtual ~profile_data_accumulator ();
 
   bool is_active (void) const { return enabled; }
--- a/libinterp/corefcn/symtab.h	Fri Dec 16 10:56:23 2016 -0500
+++ b/libinterp/corefcn/symtab.h	Fri Dec 16 10:20:35 2016 -0500
@@ -1810,7 +1810,7 @@
     else
       error ("install_built_in_dispatch: '%s' is undefined", name.c_str ());
   }
-  
+
   static void push_context (scope_id scope = xcurrent_scope)
   {
     if (scope == xglobal_scope || scope == xtop_scope)
--- a/libinterp/dldfcn/__ode15__.cc	Fri Dec 16 10:56:23 2016 -0500
+++ b/libinterp/dldfcn/__ode15__.cc	Fri Dec 16 10:20:35 2016 -0500
@@ -38,7 +38,7 @@
 
 #include <oct.h>
 #include <parse.h>
-#include <time.h> 
+#include <time.h>
 
 #include "defun-dld.h"
 #include "iostream"
@@ -83,7 +83,7 @@
     SparseMatrix (*DAEJacCellSparse) (SparseMatrix *dfdy,
                                       SparseMatrix *dfdyp, realtype cj);
 
-    //Default 
+    //Default
     IDA (void)
       : t0 (0.0), y0 (), yp0 (), havejac (false), havejacfun (false),
         havejacsparse (false), mem (NULL), num (), ida_fun (NULL),
@@ -103,8 +103,8 @@
     { };
 
 
-    ~IDA (void) { IDAFree (&mem); } 
-  
+    ~IDA (void) { IDAFree (&mem); }
+
     IDA&
     set_jacobian (octave_function *jac, DAEJacFuncDense j)
     {
@@ -115,7 +115,7 @@
       havejacsparse = false;
       return *this;
     }
-  
+
     IDA&
     set_jacobian (octave_function *jac, DAEJacFuncSparse j)
     {
@@ -151,7 +151,7 @@
       havejacsparse = true;
       return *this;
     }
- 
+
     void
     set_userdata (void);
 
@@ -162,16 +162,16 @@
     NVecToCol (N_Vector& v, long int n);
 
     static N_Vector
-    ColToNVec (const ColumnVector& data, long int n); 
+    ColToNVec (const ColumnVector& data, long int n);
 
     void
     set_up (void);
 
     void
-    set_tolerance (ColumnVector& abstol, realtype reltol); 
+    set_tolerance (ColumnVector& abstol, realtype reltol);
 
     void
-    set_tolerance (realtype abstol, realtype reltol); 
+    set_tolerance (realtype abstol, realtype reltol);
 
     static int
     resfun (realtype t, N_Vector yy, N_Vector yyp,
@@ -182,7 +182,7 @@
                  N_Vector& yyp, N_Vector& rr);
 
     static int
-    jacdense (long int Neq, realtype t,  realtype cj, 
+    jacdense (long int Neq, realtype t,  realtype cj,
               N_Vector yy, N_Vector yyp, N_Vector resvec,
               DlsMat JJ, void *user_data, N_Vector tempv1,
               N_Vector tempv2, N_Vector tempv3)
@@ -215,10 +215,10 @@
                     N_Vector& yyp, SlsMat& Jac);
 
     void
-    set_maxstep (realtype maxstep); 
+    set_maxstep (realtype maxstep);
 
     void
-    set_initialstep (realtype initialstep); 
+    set_initialstep (realtype initialstep);
 
     bool
     interpolate (int& cont, Matrix& output, ColumnVector& tout,
@@ -231,7 +231,7 @@
                  int& temp, ColumnVector& yold);
 
     bool
-    outputfun (octave_function *output_fcn, bool haveoutputsel, 
+    outputfun (octave_function *output_fcn, bool haveoutputsel,
                const ColumnVector& output, realtype tout, realtype tend,
                ColumnVector& outputsel, std::string flag);
 
@@ -257,7 +257,7 @@
 
     void
     print_stat (void);
-  
+
   private:
 
     realtype t0;
@@ -285,7 +285,7 @@
   int
   IDA::resfun (realtype t, N_Vector yy, N_Vector yyp, N_Vector rr,
                void *user_data)
-  { 
+  {
     IDA *self =
       static_cast <IDA *> (user_data);
 
@@ -306,9 +306,9 @@
       IDA::NVecToCol (yyp, num);
 
     ColumnVector res =
-      (*fun) (y, yp, t, ida_fun);  
-    
-    realtype *puntrr = 
+      (*fun) (y, yp, t, ida_fun);
+
+    realtype *puntrr =
       NV_DATA_S (rr);
 
     for (octave_idx_type i = 0; i < num; i++)
@@ -352,8 +352,8 @@
   void
   IDA::jacdense_impl (long int Neq, realtype t, realtype cj,
                       N_Vector& yy, N_Vector& yyp, DlsMat& JJ)
-  
-  { 
+
+  {
     BEGIN_INTERRUPT_WITH_EXCEPTIONS;
 
     ColumnVector y =
@@ -379,8 +379,8 @@
   void
   IDA::jacsparse_impl (realtype t, realtype cj, N_Vector& yy, N_Vector& yyp,
                        SlsMat& Jac)
-  
-  { 
+
+  {
     BEGIN_INTERRUPT_WITH_EXCEPTIONS;
 
     ColumnVector y =
@@ -399,7 +399,7 @@
     SparseSetMatToZero (Jac);
     int *colptrs = *(Jac -> colptrs);
     int *rowvals = *(Jac -> rowvals);
-    
+
     for (int i = 0; i < num + 1; i++)
       colptrs[i] = jac.cidx(i);
 
@@ -407,7 +407,7 @@
       {
         rowvals[i] = jac.ridx (i);
         Jac -> data[i] = jac.data (i);
-      }    
+      }
 
     END_INTERRUPT_WITH_EXCEPTIONS;
   }
@@ -417,11 +417,11 @@
   {
     ColumnVector data (n);
     realtype *punt;
-    punt = NV_DATA_S (v);  
+    punt = NV_DATA_S (v);
 
     for (octave_idx_type i = 0; i < n; i++)
       data (i) = punt [i];
-  
+
     return data;
   }
 
@@ -436,7 +436,7 @@
 
     for (octave_idx_type i = 0; i < n; i++)
       punt [i] = data (i);
-  
+
     return v;
   }
 
@@ -455,10 +455,10 @@
 
   void
   IDA::initialize (void)
-  {  
-    num = y0.numel();   
+  {
+    num = y0.numel();
     mem = IDACreate ();
-  
+
     N_Vector yy =
       ColToNVec(y0, num);
 
@@ -492,7 +492,7 @@
 
   void
   IDA::set_tolerance (realtype abstol, realtype reltol)
-  { 
+  {
     int flag =
       IDASStolerances (mem, reltol, abstol);
     if (flag != 0)
@@ -504,11 +504,11 @@
   octave_value_list
   IDA::integrate (const int numt, const ColumnVector& tspan,
                   const ColumnVector& y, const ColumnVector& yp,
-                  const int refine, bool haverefine, bool haveoutputfcn, 
+                  const int refine, bool haverefine, bool haveoutputfcn,
                   octave_function *output_fcn, bool haveoutputsel,
                   ColumnVector& outputsel, bool haveeventfunction,
                   octave_function *event_fcn)
-  {  
+  {
     // Set up output
     ColumnVector tout, yout (num), ypout (num), ysel (outputsel.numel ());
     ColumnVector ie, te, oldval, oldisterminal, olddir;
@@ -517,19 +517,19 @@
     bool status = 0;
     std::string string = "";
     ColumnVector yold = y;
-    octave_value_list retval;  
-  
+    octave_value_list retval;
+
     realtype tsol =
       tspan (0);
     realtype tend =
       tspan (numt - 1);
-    
+
     N_Vector yyp =
       ColToNVec (yp, num);
-    
+
     N_Vector yy =
-      ColToNVec (y, num);  
-  
+      ColToNVec (y, num);
+
     // Initialize OutputFcn
     if (haveoutputfcn)
       status = IDA::outputfun (output_fcn, haveoutputsel, y,
@@ -551,7 +551,7 @@
         for (octave_idx_type i = 0; i < num; i++)
           output.elem (0, i) = y.elem (i);
 
-        //Main loop 
+        //Main loop
         for (octave_idx_type j = 1; j < numt && status == 0; j++)
           {
             // IDANORMAL already interpolates tspan(j)
@@ -560,14 +560,14 @@
               {
                 error ("IDASolve failed");
               }
-      
+
             yout = NVecToCol (yy, num);
             ypout = NVecToCol (yyp, num);
-            tout (j) = tsol;      
+            tout (j) = tsol;
 
             for (octave_idx_type i = 0; i < num; i++)
               output.elem (j, i) = yout.elem (i);
-      
+
             if (haveoutputfcn)
               status = IDA::outputfun (output_fcn, haveoutputsel, yout, tsol,
                                        tend, outputsel, string);
@@ -587,7 +587,7 @@
           }
       }
     else // numel (tspan) == 2
-      { 
+      {
         // First output value
         tout.resize (1);
         tout (0) = tsol;
@@ -617,12 +617,12 @@
                                          haveeventfunction, event_fcn, te,
                                          ye, ie, oldval, oldisterminal,
                                          olddir, temp, yold);
-      
+
             ypout = NVecToCol (yyp, num);
             cont += 1;
             output.resize (cont + 1, num); // This may be not efficient
             tout.resize (cont + 1);
-            tout (cont) = tsol;      
+            tout (cont) = tsol;
             yout = NVecToCol (yy, num);
 
             for (octave_idx_type i = 0; i < num; i++)
@@ -631,7 +631,7 @@
             if (haveoutputfcn && ! haverefine && tout (cont) < tend)
               status = IDA::outputfun (output_fcn, haveoutputsel, yout, tsol,
                                        tend, outputsel, string);
-     
+
             if (haveeventfunction && ! haverefine && tout (cont) < tend)
               status = IDA::event (event_fcn, te, ye, ie, tout (cont), yout,
                                    string, ypout, oldval, oldisterminal,
@@ -640,9 +640,9 @@
         if (status == 0)
           {
             // Interpolate in tend
-            N_Vector dky = 
+            N_Vector dky =
               N_VNew_Serial (num);
-            
+
             flag = IDAGetDky (mem, tend, 0, dky);
             if (flag != 0)
               {
@@ -655,7 +655,7 @@
             for (octave_idx_type i = 0; i < num; i++)
               output.elem (cont, i) = yout.elem (i);
 
-            // Plot final value 
+            // Plot final value
             if (haveoutputfcn)
               {
                 status = IDA::outputfun (output_fcn, haveoutputsel, yout,
@@ -668,7 +668,7 @@
                                        olddir, cont, temp, tout (cont - 1),
                                        yold);
               }
- 
+
             N_VDestroy_Serial (dky);
           }
         // Cleanup plotter
@@ -730,14 +730,14 @@
                 index (index.numel () - 1) = i;
               }
           }
-    
+
         if (cont == 1 && index.numel () > 0)  // Events in first step
           {
             temp = 1; // register only the first event
             te.resize (1);
             ye.resize (1, num);
             ie.resize (1);
-      
+
             // Linear interpolation
             ie (0) = index (0);
             te (0) = tsol - val (index (0)) * (tsol - told)
@@ -745,41 +745,41 @@
 
             ColumnVector ytemp =
               y - ((tsol - te (0)) * (y - yold ) / (tsol - told));
-      
+
             for (octave_idx_type i = 0; i < num; i++)
-              ye.elem (0, i) = ytemp.elem (i);      
-             
+              ye.elem (0, i) = ytemp.elem (i);
+
           }
-        else if (index.numel () > 0) 
+        else if (index.numel () > 0)
           // Not first step: register all events and test if stop integration or not
           {
             te.resize (temp + index.numel ());
             ye.resize (temp + index.numel (), num);
             ie.resize (temp + index.numel ());
-      
+
             for (octave_idx_type i = 0; i < index.numel (); i++)
               {
 
                 if (isterminal (index (i)) == 1)
                   status = 1; // Stop integration
-        
-                // Linear interpolation  
+
+                // Linear interpolation
                 ie (temp + i) = index (i);
                 te (temp + i) = tsol -
-                  val (index (i)) * (tsol - told) / 
+                  val (index (i)) * (tsol - told) /
                   (val (index (i)) - oldval (index (i)));
 
                 ColumnVector ytemp =
                   y - (tsol - te (temp + i)) * (y - yold) / (tsol - told);
-       
+
                 for (octave_idx_type j = 0; j < num; j++)
-                  ye.elem (temp + i, j) = ytemp.elem (j);  
-  
+                  ye.elem (temp + i, j) = ytemp.elem (j);
+
               }
 
             temp += index.numel ();
           }
-        
+
         // Update variables
         yold = y;
         told = tsol;
@@ -803,20 +803,20 @@
   {
     realtype h = 0, tcur = 0;
     bool status = 0;
-   
+
     N_Vector dky =
       N_VNew_Serial (num);
-    
+
     N_Vector dkyp =
       N_VNew_Serial (num);
-    
+
     ColumnVector yout (num);
     ColumnVector ypout (num);
     std::string string = "";
 
     int flag =
       IDAGetLastStep (mem, &h);
-    
+
     if (flag != 0)
       {
         error ("IDA failed to return last step");
@@ -826,14 +826,14 @@
       {
         error ("IDA failed to return the current time");
       }
-   
-    realtype tin = 
+
+    realtype tin =
       tcur - h;
 
     realtype step =
       h / refine;
 
-    for (octave_idx_type i = 1; i < refine && tin + step * i < tend 
+    for (octave_idx_type i = 1; i < refine && tin + step * i < tend
            && status == 0; i++)
       {
         flag = IDAGetDky (mem, tin + step*i, 0, dky);
@@ -847,16 +847,16 @@
             error ("IDA failed to interpolate yp");
           }
         cont += 1;
-        output.resize (cont + 1, num); 
+        output.resize (cont + 1, num);
         tout.resize (cont + 1);
 
-        tout (cont) = tin + step * i;      
+        tout (cont) = tin + step * i;
         yout = NVecToCol (dky, num);
         ypout = NVecToCol (dkyp, num);
 
         for (octave_idx_type j = 0; j < num; j++)
           output.elem (cont, j) = yout.elem (j);
-    
+
         if (haveoutputfcn)
           status = IDA::outputfun (output_fcn, haveoutputsel, yout,
                                    tout (cont), tend, outputsel, "");
@@ -872,7 +872,7 @@
   }
 
   bool
-  IDA::outputfun (octave_function *output_fcn, bool haveoutputsel, 
+  IDA::outputfun (octave_function *output_fcn, bool haveoutputsel,
                   const ColumnVector& yout, realtype tsol,
                   realtype tend, ColumnVector& outputsel,
                   std::string flag)
@@ -885,23 +885,23 @@
       {
         for (octave_idx_type i = 0; i < outputsel.numel (); i++)
           ysel (i) = yout (outputsel (i));
-      
+
         output (1) = ysel;
       }
     else
-      output (1) = yout;    
+      output (1) = yout;
 
     output (2) = flag;
 
     if (flag == "init")
-      {  
+      {
         ColumnVector toutput (2);
         toutput (0) = tsol;
         toutput (1) = tend;
         output (0) = toutput;
-  
+
         feval (output_fcn, output, 0);
-      } 
+      }
     else if (flag == "")
       {
         output (0) = tsol;
@@ -920,29 +920,29 @@
   void
   IDA::set_maxstep (realtype maxstep)
   {
-    int flag = 
+    int flag =
       IDASetMaxStep (mem, maxstep);
 
     if (flag != 0)
       {
         error ("IDA: Max Step not set");
       }
-  } 
+  }
 
   void
-  IDA::set_initialstep (realtype initialstep) 
+  IDA::set_initialstep (realtype initialstep)
   {
     int flag =
       IDASetInitStep (mem, initialstep);
 
     if (flag != 0)
       {
-        error ("IDA: Initial Step not set"); 
+        error ("IDA: Initial Step not set");
       }
-  } 
+  }
 
   void
-  IDA::set_maxorder (int maxorder)  
+  IDA::set_maxorder (int maxorder)
   {
     int flag =
       IDASetMaxOrd (mem, maxorder);
@@ -951,7 +951,7 @@
       {
         error ("IDA: Max Order not set");
       }
-  } 
+  }
 
   void
   IDA::print_stat (void)
@@ -973,7 +973,7 @@
     if (flag != 0)
       {
         error ("IDA failed to return the number of residual evaluations");
-      }  
+      }
 
     std::cout<<nsteps<<" successful steps\n";
     std::cout<<netfails<<" failed attempts\n";
@@ -982,7 +982,7 @@
     //std::cout<<<<" LU decompositions\n";
     //std::cout<<<<" solutions of linear systems\n";
   }
- 
+
   ColumnVector
   ida_user_function (const ColumnVector& x, const ColumnVector& xdot,
                      double t, octave_function *ida_fc)
@@ -995,7 +995,7 @@
     args(0) = t;
 
     octave_value_list tmp;
-    
+
     try
       {
         tmp = ida_fc -> do_multi_index_op (1, args);
@@ -1022,7 +1022,7 @@
     newargs (2) = xdot;
 
     octave_value_list tmp;
-    
+
     try
       {
         tmp = ida_jc -> do_multi_index_op (2, newargs);
@@ -1047,7 +1047,7 @@
     newargs (0) = t;
     newargs (1) = x;
     newargs (2) = xdot;
-  
+
     octave_value_list tmp;
 
     try
@@ -1061,7 +1061,7 @@
 
     retval = tmp(0).sparse_matrix_value () +
       cj * tmp(1).sparse_matrix_value ();
-    
+
     return retval;
   }
 
@@ -1092,20 +1092,20 @@
             const octave_scalar_map &options)
   {
     octave_value_list retval;
-  
+
     // Create object
     IDA dae (t0, y0, yp0, ida_fcn, ida_user_function);
 
     // Set Jacobian
     bool havejac =
       options.getfield ("havejac").bool_value ();
-    
+
     bool havejacsparse =
       options.getfield ("havejacsparse").bool_value ();
-    
+
     bool havejacfun =
       options.getfield ("havejacfun").bool_value ();
- 
+
     Matrix ida_dfdy, ida_dfdyp, *dfdy, *dfdyp;
     SparseMatrix ida_spdfdy, ida_spdfdyp, *spdfdy, *spdfdyp;
     octave_function *ida_jac;
@@ -1116,7 +1116,7 @@
         if (havejacfun)
           {
             ida_jac = options.getfield ("Jacobian").function_value ();
-            if (havejacsparse) 
+            if (havejacsparse)
               dae.set_jacobian (ida_jac, ida_sparse_jac);
             else
               dae.set_jacobian (ida_jac, ida_dense_jac);
@@ -1125,7 +1125,7 @@
           {
             jaccell = options.getfield ("Jacobian").cell_value ();
 
-            if (havejacsparse) 
+            if (havejacsparse)
               {
                 ida_spdfdy = jaccell(0).sparse_matrix_value ();
                 ida_spdfdyp = jaccell(1).sparse_matrix_value ();
@@ -1143,57 +1143,57 @@
               }
           }
       }
-  
+
     // Initialize IDA
     dae.initialize ();
- 
-    // Set tolerances  
+
+    // Set tolerances
     realtype rel_tol =
       options.getfield("RelTol").double_value ();
-    
+
     bool haveabstolvec =
       options.getfield ("haveabstolvec").bool_value ();
-  
-    if (haveabstolvec)  
+
+    if (haveabstolvec)
       {
         ColumnVector abs_tol =
           options.getfield("AbsTol").vector_value ();
-        
+
         dae.set_tolerance (abs_tol, rel_tol);
       }
     else
       {
         realtype abs_tol =
           options.getfield("AbsTol").double_value ();
-        
+
         dae.set_tolerance (abs_tol, rel_tol);
       }
- 
+
     //Set max step
     realtype maxstep =
       options.getfield("MaxStep").double_value ();
-    
+
     dae.set_maxstep (maxstep);
 
     //Set initial step
-    if (!(options.getfield("InitialStep").is_empty ())) 
+    if (!(options.getfield("InitialStep").is_empty ()))
       {
         realtype initialstep =
           options.getfield("InitialStep").double_value ();
-        
+
         dae.set_initialstep (initialstep);
       }
 
     //Set max order FIXME: it doesn't work
     int maxorder =
       options.getfield("MaxOrder").int_value ();
-    
-    dae.set_maxorder (maxorder);  
+
+    dae.set_maxorder (maxorder);
 
     //Set Refine
     const int refine =
       options.getfield("Refine").int_value ();
-    
+
     bool haverefine =
       (refine > 1);
 
@@ -1203,16 +1203,16 @@
     // OutputFcn
     bool haveoutputfunction =
       options.getfield("haveoutputfunction").bool_value ();
-    
+
     if (haveoutputfunction)
-      output_fcn = options.getfield("OutputFcn").function_value ();     
+      output_fcn = options.getfield("OutputFcn").function_value ();
 
     // OutputSel
     bool haveoutputsel =
       options.getfield("haveoutputselection").bool_value ();
-    
+
     if (haveoutputsel)
-      outputsel = options.getfield("OutputSel").vector_value (); 
+      outputsel = options.getfield("OutputSel").vector_value ();
 
     octave_function *event_fcn = NULL;
 
@@ -1221,7 +1221,7 @@
       options.getfield("haveeventfunction").bool_value ();
 
     if (haveeventfunction)
-      event_fcn = options.getfield("Events").function_value ();     
+      event_fcn = options.getfield("Events").function_value ();
 
     // Set up linear solver
     dae.set_up ();
@@ -1231,16 +1231,16 @@
                             haverefine, haveoutputfunction,
                             output_fcn, haveoutputsel, outputsel,
                             haveeventfunction, event_fcn);
- 
-    // Statistics 
-    bool havestats = 
+
+    // Statistics
+    bool havestats =
       options.getfield("havestats").bool_value ();
 
     if (havestats)
       dae.print_stat ();
 
     return retval;
-  }  
+  }
 }
 #endif
 
@@ -1261,8 +1261,8 @@
     print_usage ();
 
   // Check odefun
-  octave_function *ida_fcn = NULL; 
-  
+  octave_function *ida_fcn = NULL;
+
   octave_value f_arg = args(0);
 
   if (f_arg.is_function_handle ())
@@ -1273,14 +1273,14 @@
   // Check input tspan
   ColumnVector tspan =
     args(1).xvector_value ("__ode15__: TRANGE must be a vector of numbers");
-  
+
   int numt =
     tspan.numel ();
-  
+
   realtype t0 =
     tspan (0);
 
-  if (numt < 2) 
+  if (numt < 2)
     error ("__ode15__: TRANGE must contain at least 2 elements");
   else if (!(tspan.is_sorted ()) || (tspan(0) == tspan(numt - 1)))
     error ("__ode15__: TRANGE must be strictly monotonic");
@@ -1288,9 +1288,9 @@
   // input y0 and yp0
   ColumnVector y0  =
     args(2).xvector_value ("__ode15__: initial state y0 must be a vector");
-  
+
   ColumnVector yp0 =
-    args(3).xvector_value ("__ode15__: initial state yp0 must be a vector"); 
+    args(3).xvector_value ("__ode15__: initial state yp0 must be a vector");
 
 
   if (y0.numel () != yp0.numel ())
@@ -1301,15 +1301,15 @@
 
   if (! args(4).is_map ())
     error ("__ode15__: OPTS argument must be a structure");
-    
-  octave_scalar_map options = 
+
+  octave_scalar_map options =
     args(4).xscalar_map_value ("__ode15__:",
     "OPTS argument must be a scalar structure");
- 
+
 
   return octave::do_ode15 (ida_fcn, tspan, numt, t0,
                            y0, yp0, options);
-  
+
 
 #else
 
--- a/run-octave.in	Fri Dec 16 10:56:23 2016 -0500
+++ b/run-octave.in	Fri Dec 16 10:20:35 2016 -0500
@@ -5,17 +5,17 @@
 ## Copyright (C) 2006-2016 John W. Eaton
 ##
 ## This file is part of Octave.
-## 
+##
 ## Octave is free software; you can redistribute it and/or modify it
 ## under the terms of the GNU General Public License as published by
 ## the Free Software Foundation; either version 3 of the License, or
 ## (at your option) any later version.
-## 
+##
 ## Octave is distributed in the hope that it will be useful, but
 ## WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
-## 
+##
 ## You should have received a copy of the GNU General Public License
 ## along with Octave; see the file COPYING.  If not, see
 ## <http://www.gnu.org/licenses/>.
--- a/scripts/mkdoc.pl	Fri Dec 16 10:56:23 2016 -0500
+++ b/scripts/mkdoc.pl	Fri Dec 16 10:20:35 2016 -0500
@@ -4,17 +4,17 @@
 # Copyright (C) 2012-2016 Rik Wehbring
 #
 # This file is part of Octave.
-# 
+#
 # Octave is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
-# 
+#
 # Octave is distributed in the hope that it will be useful, but
 # WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
-# 
+#
 # You should have received a copy of the GNU General Public License
 # along with Octave; see the file COPYING.  If not, see
 # <http://www.gnu.org/licenses/>.
--- a/scripts/ode/decic.m	Fri Dec 16 10:56:23 2016 -0500
+++ b/scripts/ode/decic.m	Fri Dec 16 10:20:35 2016 -0500
@@ -31,7 +31,7 @@
 ## and the third is a column vector of unknowns @var{yp}.
 ##
 ## @var{t0} is the initial time such that @code{@var{fun}(@var{t0},
-## @var{y0_new}, @var{yp0_new}) = 0}, specified as a scalar. 
+## @var{y0_new}, @var{yp0_new}) = 0}, specified as a scalar.
 ##
 ## @var{y0} is a vector used as initial guess for @var{y}.
 ##
@@ -56,17 +56,17 @@
 ## The optional seventh argument @var{options} is a structure array.
 ## Use @code{odeset} to generate this structure. The relevant options are
 ## @code{RelTol} and @code{AbsTol} which specify the error thresholds used to
-## compute the initial conditions. 
+## compute the initial conditions.
 ##
 ## The function typically returns two outputs. Variable @var{y0_new} is a
 ## column vector and contains the consistent initial value of y.  The
 ## output @var{yp0_new} is a column vector and contains the consistent initial
 ## value of yp.
 ##
-## The optional third output @var{resnorm} is the vector of norm of the 
+## The optional third output @var{resnorm} is the vector of norm of the
 ## residuals. If @var{resnorm} is small, @code{decic} has successfully computed
 ## the initial conditions. If the value of  @var{resnorm} is large, use
-## @code{RelTol} and @code{AbsTol} to adjust it.  
+## @code{RelTol} and @code{AbsTol} to adjust it.
 ##
 ## Example: Compute initial conditions of @nospell{Robetson}'s equations:
 ##
@@ -91,7 +91,7 @@
   if (nargin < 6 || nargin > 7 || nargout > 3)
     print_usage ();
   endif
- 
+
   #Check input
   if (! isa (odefun, "function_handle"))
     error ("Octave:invalid-input-arg",
@@ -104,11 +104,11 @@
   endif
 
   if (! isnumeric (y0) || ! isvector (y0) || ! isnumeric (fixed_y0) ||
-      ! isvector (fixed_y0) || ! isnumeric (yp0) || ! isvector (yp0)|| 
+      ! isvector (fixed_y0) || ! isnumeric (yp0) || ! isvector (yp0)||
       ! isnumeric (fixed_yp0) || ! isvector (fixed_yp0))
    error ("Octave:invalid-input-arg",
            "decic: y0, fixed_y0, yp0 and fixed_yp0 must be numeric vectors");
-  
+
   elseif (! isequal (numel (y0), numel (fixed_y0), numel (yp0),
           numel (fixed_yp0)))
     error ("Octave:invalid-input-arg",
@@ -122,11 +122,11 @@
              "decic: fixed_y0 and fixed_yp0 must be boolean vectors");
     endif
   endfor
-  
+
   n  = numel (y0);
   nl = sum (~fixed_y0);
   nu = sum (~fixed_yp0);
- 
+
   if (n - nl - nu > 0)
     error ("Octave:invalid-input-arg",
            "decic: you cannot fix more than length(y0) components");
@@ -135,7 +135,7 @@
   #Set default value
   TolFun = 0;
   TolX   = eps;
-  
+
   #Check AbsTol and RelTol
   if (nargin == 7)
     if (! isempty (options.AbsTol))
@@ -143,7 +143,7 @@
         error ("Octave:invalid-input-arg",
                "decic: AbsTol must be a scalar value");
       else
-        TolFun = options.AbsTol; 
+        TolFun = options.AbsTol;
       endif
     endif
 
@@ -152,7 +152,7 @@
         error ("Octave:invalid-input-arg",
                "decic: RelTol must be a scalar value");
       else
-        TolX = options.RelTol; 
+        TolX = options.RelTol;
       endif
     endif
   endif
@@ -162,14 +162,14 @@
   x = fminunc (@(x) objective (x, t0, y0, fixed_y0, yp0, fixed_yp0, nl, nu,
                                odefun),
                x0, opt);
-  
+
   y0_new  = y0;
   yp0_new = yp0;
-  
+
   y0_new(~fixed_y0)   = x(1:nl);
   yp0_new(~fixed_yp0) = x(nl+1:nl+nu);
   resnrm = odefun (t0, y0_new, yp0_new);
- 
+
 endfunction
 
 function res = objective (x, t0, y0, fixed_y0, yp0,
@@ -187,12 +187,12 @@
 %!endfunction
 
 %!test  # Without options
-%! ref1 = [1;0;0]; 
+%! ref1 = [1;0;0];
 %! ref2 = [-4e-2; 4e-2; 0];
 %! [ynew,ypnew] = decic (@rob,0,[1;0;0],[1;1;0],[23;110;0],[0;0;1]);
 %! assert ([ynew(1:end), ypnew(1:end)], [ref1(1:end), ref2(1:end)], 1e-10);
 %!test  # With options
-%! ref1 = [1;0;0]; 
+%! ref1 = [1;0;0];
 %! ref2 = [-4e-2; 4e-2; 0];
 %! opt = odeset ("AbsTol", 1e-8, "RelTol", 1e-4);
 %! [ynew,ypnew] = decic (@rob,0,[1;0;0],[1;1;0],[23;110;0],[0;0;1],opt);
--- a/scripts/ode/ode15i.m	Fri Dec 16 10:56:23 2016 -0500
+++ b/scripts/ode/ode15i.m	Fri Dec 16 10:20:35 2016 -0500
@@ -22,7 +22,7 @@
 ## @deftypefnx {} {[@var{t}, @var{y}, @var{te}, @var{ye}, @var{ie}] =} ode15i (@dots{})
 ## @deftypefnx {} {@var{solution} =} ode15i (@dots{})
 ##
-## Solve a set of full-implicit Ordinary Differential Equations and 
+## Solve a set of full-implicit Ordinary Differential Equations and
 ## Differential Algebraic Equations (DAEs) of index 1, with the variable-step,
 ## variable order BDF (Backward Differentiation Formula) method, which
 ## ranges from order 1 to 5.
@@ -31,7 +31,7 @@
 ## name of the function that defines the ODE: @code{f(@var{t},@var{y},@var{yp})}.
 ## The function must accept three inputs where the first is time @var{t}, the
 ## second is a column vector of unknowns @var{y} and the third is a column
-## vector of unknowns @var{yp}. 
+## vector of unknowns @var{yp}.
 ##
 ## @var{trange} specifies the time interval over which the ODE will be
 ## evaluated.  Typically, it is a two-element vector specifying the initial and
@@ -92,14 +92,14 @@
 
 function varargout = ode15i (fun, trange, y0, yp0, varargin)
 
-  solver = 'ode15i';  
- 
+  solver = 'ode15i';
+
   if (nargin < 4)
     print_usage ();
   endif
-  
+
   n = numel (y0);
-  
+
   if (nargin > 4)
    options = varargin{1};
   else
@@ -108,7 +108,7 @@
 
   ## Check fun, trange, y0, yp0
   fun = check_default_input (fun, trange, solver, y0, yp0);
-  
+
   if (! isempty (options.Jacobian))
     if (ischar (options.Jacobian))
       try
@@ -157,7 +157,7 @@
   persistent ignorefields = {"NonNegative", "Mass", ...
                              "MStateDependence", "MvPattern", ...
                              "MassSingular", "InitialSlope", "BDF"};
-  
+
   defaults   = rmfield (defaults, ignorefields);
   classes    = rmfield (classes, ignorefields);
   attributes = rmfield (attributes, ignorefields);
@@ -177,7 +177,7 @@
 
   if (! isempty (options.Jacobian))
     options.havejac = true;
-    if (iscell (options.Jacobian)) 
+    if (iscell (options.Jacobian))
       if (numel (options.Jacobian) == 2)
         if (issparse (options.Jacobian{1}) && issparse (options.Jacobian{2})) ## Jac is sparse cell
           options.havejacsparse = true;
@@ -197,7 +197,7 @@
                [solver ": invalid value assigned to field '%s'"], "Jacobian");
       endif
 
-    elseif (isa (options.Jacobian, "function_handle"))  
+    elseif (isa (options.Jacobian, "function_handle"))
       options.havejacfun = true;
       if (nargin (options.Jacobian) == 3)
         [A, B] = options.Jacobian (trange(1), y0, yp0);
@@ -220,7 +220,7 @@
                [solver ": invalid value assigned to field '%s'"], "Jacobian");
     endif
   endif
-  
+
   ## Abstol and Reltol
 
   options.haveabstolvec = false;
@@ -228,15 +228,15 @@
   if (numel (options.AbsTol) != 1 && numel (options.AbsTol) != n)
     error ("Octave:invalid-input-arg",
            [solver ": invalid value assigned to field '%s'"], "AbsTol");
-  
+
   elseif (numel (options.AbsTol) == n)
     options.haveabstolvec = true;
   endif
 
   ## Stats
-  options.havestats = false;    
+  options.havestats = false;
   if (strcmp (options.Stats, "on"))
-    options.havestats = true;    
+    options.havestats = true;
   endif
 
   ## Don't use Refine when the output is a structure
@@ -251,7 +251,7 @@
   else
     options.haveoutputfunction = ! isempty (options.OutputFcn);
   endif
-  
+
   options.haveoutputselection = ! isempty (options.OutputSel);
   if (options.haveoutputselection)
     options.OutputSel = options.OutputSel - 1;
@@ -262,7 +262,7 @@
 
 
   [t, y, te, ye, ie] = __ode15__ (fun, trange, y0, yp0, options);
-  
+
 
   if (nargout == 2)
     varargout{1} = t;
@@ -270,7 +270,7 @@
   elseif (nargout == 1)
     varargout{1}.x = t;    # Time stamps are saved in field x
     varargout{1}.y = y;    # Results are saved in field y
-    varargout{1}.solver = solver; 
+    varargout{1}.solver = solver;
     if (options.haveeventfunction)
       varargout{1}.xe = te;  # Time info when an event occurred
       varargout{1}.ye = ye;  # Results when an event occurred
@@ -289,8 +289,8 @@
 
 endfunction
 
-%!demo 
-%! 
+%!demo
+%!
 %! ##Solve Robertson's equations with ode15i
 %! fun = @ (t, y, yp) [-(yp(1) + 0.04*y(1) - 1e4*y(2)*y(3));
 %!                     -(yp(2) - 0.04*y(1) + 1e4*y(2)*y(3) + 3e7*y(2)^2);
@@ -300,7 +300,7 @@
 %! y0 = [1; 0; 0];
 %! yp0 = [-1e-4; 1e-4; 0];
 %! tspan = [0 4*logspace(-6, 6)];
-%! 
+%!
 %! [t, y] = ode15i (fun, tspan, y0, yp0, opt);
 %!
 %! y (:,2) = 1e4 * y (:, 2);
@@ -331,7 +331,7 @@
 %!              1,                  1,         1];
 %!  DFDYP = [-1,  0, 0;
 %!            0, -1, 0;
-%!            0,  0, 0];   
+%!            0,  0, 0];
 %!endfunction
 %!
 %!function [DFDY, DFDYP] = jacfunsparse(t, y, yp)
@@ -340,7 +340,7 @@
 %!                      1,                  1,         1]);
 %!  DFDYP = sparse ([-1,  0, 0;
 %!                    0, -1, 0;
-%!                    0,  0, 0]);   
+%!                    0,  0, 0]);
 %!endfunction
 %!function [DFDY, DFDYP] = jacwrong(t, y, yp)
 %!  DFDY = [-0.04,           1e4*y(3);
@@ -355,7 +355,7 @@
 %!  DFDYP = [-1,  0, 0;
 %!            0, -1, 0;
 %!            0,  0, 0];
-%!  A = DFDY;   
+%!  A = DFDY;
 %!endfunction
 %!function [val, isterminal, direction] = ff (t, y, yp)
 %!  isterminal = [0 1];
@@ -364,7 +364,7 @@
 %!  else
 %!    val = [1 3];
 %!  endif
-%!  
+%!
 %!  direction = [1 0];
 %!endfunction
 
@@ -387,7 +387,7 @@
 %! [t, y] = ode15i (@rob,[0 1e6 2e6 3e6 4e6], [1;0;0], [-1e-4;1e-4;0], opt);
 %! assert ([t(end), y(end,:)], fref2, 1e-3);
 %! opt = odeset();
-%!test  # Without options 
+%!test  # Without options
 %! [t, y] = ode15i (@rob,[0 1e6 2e6 3e6 4e6], [1;0;0], [-1e-4;1e-4;0]);
 %! assert ([t(end), y(end,:)], fref2, 1e-3);
 %!test  # InitialStep option
@@ -471,7 +471,7 @@
 %!test  # Events option, five output arguments
 %! opt = odeset ("Events", @ff);
 %! [t, y, te, ye, ie] = ode15i (@rob,[0 100], [1;0;0], [-1e-4;1e-4;0], opt);
-%! assert ([t(end), te', ie'], [10, 10, 10, 0, 1], [1, 0.2, 0.2, 0, 0]); 
+%! assert ([t(end), te', ie'], [10, 10, 10, 0, 1], [1, 0.2, 0.2, 0, 0]);
 
 %!error  # Jacobian fun wrong dimension
 %! opt = odeset ("Jacobian", @jacwrong);
@@ -505,7 +505,7 @@
 %!error  # Jacobian strange field
 %! opt = odeset ("Jacobian", "foo");
 %! [t, y] = ode15i (@rob,[0 4e6], [1;0;0], [-1e-4;1e-4;0], opt);
-%!function ydot = fun (t, y, yp)  
+%!function ydot = fun (t, y, yp)
 %! ydot = [y - yp];
 %!endfunction
 %!error ode15i ();
--- a/scripts/ode/ode15s.m	Fri Dec 16 10:56:23 2016 -0500
+++ b/scripts/ode/ode15s.m	Fri Dec 16 10:20:35 2016 -0500
@@ -85,17 +85,17 @@
 
 function varargout = ode15s (fun, trange, y0, varargin)
 
-  solver = 'ode15s';  
- 
+  solver = 'ode15s';
+
   if (nargin < 3)
     print_usage ();
   endif
-  
+
   ## Check fun, trange, y0, yp0
   fun = check_default_input (fun, trange, solver, y0);
-  
+
   n = numel (y0);
-  
+
   if (nargin > 3)
    options = varargin{1};
   else
@@ -114,7 +114,7 @@
                [solver ": invalid value assigned to field '%s'"], "Mass");
       endif
     endif
-  endif  
+  endif
 
   if (! isempty (options.Jacobian))
     if (ischar (options.Jacobian))
@@ -177,7 +177,7 @@
   options.havemasssparse = false;
 
   if (! isempty (options.Mass))
-    if (isa (options.Mass, "function_handle"))  
+    if (isa (options.Mass, "function_handle"))
       options.havemassfun = true;
       if (nargin (options.Mass) == 2)
         options.havestatedep = true;
@@ -206,7 +206,7 @@
         error ("Octave:invalid-input-arg",
                 [solver ": invalid value assigned to field '%s'"], "Mass");
       endif
-    else 
+    else
       error ("Octave:invalid-input-arg",
               [solver ": invalid value assigned to field '%s'"], "Mass");
     endif
@@ -220,7 +220,7 @@
 
   if (! isempty (options.Jacobian))
     options.havejac = true;
-    if (isa (options.Jacobian, "function_handle"))  
+    if (isa (options.Jacobian, "function_handle"))
       options.havejacfun = true;
       if (nargin (options.Jacobian) == 2)
         [A] = options.Jacobian (trange(1), y0);
@@ -262,13 +262,13 @@
                " to provide a constant or time-dependent Jacobian"]);
     endif
   endif
-  
+
   ## Use sparse methods only if all matrices are sparse
   if (! options.havemasssparse)
-    options.havejacsparse = false; 
-  endif       
-  
-  ## If Mass or Jacobian is fun, then new Jacobian is fun  
+    options.havejacsparse = false;
+  endif
+
+  ## If Mass or Jacobian is fun, then new Jacobian is fun
   if (options.havejac)
     if (options.havejacfun || options.havetimedep)
       options.Jacobian = @ (t, y, yp) wrapjacfun (t, y, yp,
@@ -279,7 +279,7 @@
       options.havejacfun = true;
     else   ## All matrices are constant
       options.Jacobian = {[- options.Jacobian], [options.Mass]};
-           
+
     endif
   endif
 
@@ -292,15 +292,15 @@
   if (numel (options.AbsTol) != 1 && numel (options.AbsTol) != n)
     error ("Octave:invalid-input-arg",
            [solver ": invalid value assigned to field '%s'"], "AbsTol");
-  
+
   elseif (numel (options.AbsTol) == n)
     options.haveabstolvec = true;
   endif
 
   ## Stats
-  options.havestats = false;    
+  options.havestats = false;
   if (strcmp (options.Stats, "on"))
-    options.havestats = true;    
+    options.havestats = true;
   endif
 
   ## Don't use Refine when the output is a structure
@@ -315,7 +315,7 @@
   else
     options.haveoutputfunction = ! isempty (options.OutputFcn);
   endif
-  
+
   options.haveoutputselection = ! isempty (options.OutputSel);
   if (options.haveoutputselection)
     options.OutputSel = options.OutputSel - 1;
@@ -339,7 +339,7 @@
   elseif (nargout == 1)
     varargout{1}.x = t;    # Time stamps are saved in field x
     varargout{1}.y = y;    # Results are saved in field y
-    varargout{1}.solver = solver; 
+    varargout{1}.solver = solver;
     if (options.haveeventfunction)
       varargout{1}.xe = te;  # Time info when an event occurred
       varargout{1}.ye = ye;  # Results when an event occurred
@@ -360,7 +360,7 @@
 
 function res = wrap (t, y, yp, Mass, havetimedep, havestatedep, fun)
 
-  if (! isempty (Mass) && havestatedep)  
+  if (! isempty (Mass) && havestatedep)
     res = Mass (t, y) * yp - fun (t, y);
   elseif (! isempty (Mass) && havetimedep)
     res = Mass (t) * yp - fun (t, y);
@@ -373,27 +373,27 @@
 endfunction
 
 function [jac, jact] = wrapjacfun (t, y, yp, Jac, Mass,
-                                   havetimedep, havejacfun) 
+                                   havetimedep, havejacfun)
   if (havejacfun)
     jac = - Jac (t, y);
   else
     jac = - Jac;
   endif
 
-  if (! isempty (Mass) && havetimedep) 
+  if (! isempty (Mass) && havetimedep)
     jact = Mass (t);
   elseif (! isempty (Mass))
     jact = Mass;
   else
     jact = speye (numel (y));
   endif
-  
+
 endfunction
 
 
 %!demo
-%! 
-%! ##Solve Robertson's equations with ode15s 
+%!
+%! ##Solve Robertson's equations with ode15s
 %! fun = @ (t, y) [-0.04*y(1) + 1e4*y(2).*y(3);
 %!                  0.04*y(1) - 1e4*y(2).*y(3) - 3e7*y(2).^2;
 %!                  y(1) + y(2) + y(3) - 1 ];
@@ -401,7 +401,7 @@
 %! y0 = [1; 0; 0];
 %! tspan = [0 4*logspace(-6, 6)];
 %! M = [1 0 0; 0 1 0; 0 0 0];
-%!  
+%!
 %! options = odeset ('RelTol', 1e-4, 'AbsTol', [1e-6 1e-10 1e-6],
 %!                   'MStateDependence', 'none', 'Mass', M);
 %!
@@ -449,20 +449,20 @@
 %!  else
 %!    val = [1 3];
 %!  endif
-%!  
+%!
 %!  direction = [1 0];
 %!endfunction
 %!function masrob = massdensefunstate (t, y)
-%! masrob = [1 0 0; 0 1 0; 0 0 0];     
+%! masrob = [1 0 0; 0 1 0; 0 0 0];
 %!endfunction
 %!function masrob = masssparsefunstate (t, y)
-%! masrob = sparse([1 0 0; 0 1 0; 0 0 0]);     
+%! masrob = sparse([1 0 0; 0 1 0; 0 0 0]);
 %!endfunction
 %!function masrob = massdensefuntime (t)
-%! masrob = [1 0 0; 0 1 0; 0 0 0];     
+%! masrob = [1 0 0; 0 1 0; 0 0 0];
 %!endfunction
 %!function masrob = masssparsefuntime (t)
-%! masrob = sparse([1 0 0; 0 1 0; 0 0 0]);     
+%! masrob = sparse([1 0 0; 0 1 0; 0 0 0]);
 %!endfunction
 %!function jac = jacfundense (t, y)
 %!  jac = [-0.04,           1e4*y(3),  1e4*y(2);
@@ -478,101 +478,101 @@
 
 
 %!test
-%! opt = odeset ("MStateDependence", "none", 
+%! opt = odeset ("MStateDependence", "none",
 %!                "Mass", [1 0 0; 0 1 0; 0 0 0]);
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
 %! assert ([t(end), y(end,:)], frefrob, 1e-3);
 %!test
-%! opt = odeset ("MStateDependence", "none", 
+%! opt = odeset ("MStateDependence", "none",
 %!                "Mass", sparse([1 0 0; 0 1 0; 0 0 0]));
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
 %! assert ([t(end), y(end,:)], frefrob, 1e-3);
 %!test
-%! opt = odeset ("MStateDependence", "none", 
+%! opt = odeset ("MStateDependence", "none",
 %!                "Mass", @massdensefunstate);
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
 %! assert ([t(end), y(end,:)], frefrob, 1e-3);
 %!test
-%! opt = odeset ("MStateDependence", "none", 
+%! opt = odeset ("MStateDependence", "none",
 %!                "Mass", @masssparsefunstate);
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
 %! assert ([t(end), y(end,:)], frefrob, 1e-3);
 %!test
-%! opt = odeset ("MStateDependence", "none", 
+%! opt = odeset ("MStateDependence", "none",
 %!                "Mass", 'massdensefuntime');
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
-%! assert ([t(end), y(end,:)], frefrob, 1e-3);  
-%!test 
-%!  opt = odeset ("MStateDependence", "none", 
+%! assert ([t(end), y(end,:)], frefrob, 1e-3);
+%!test
+%!  opt = odeset ("MStateDependence", "none",
 %!                "Mass", [1 0 0; 0 1 0; 0 0 0],
 %!                "Jacobian", 'jacfundense');
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
 %! assert ([t(end), y(end,:)], frefrob, 1e-3);
 %!test
-%! opt = odeset ("MStateDependence", "none", 
+%! opt = odeset ("MStateDependence", "none",
 %!                "Mass", sparse([1 0 0; 0 1 0; 0 0 0]),
-%!                "Jacobian", @jacfundense); 
+%!                "Jacobian", @jacfundense);
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
 %! assert ([t(end), y(end,:)], frefrob, 1e-3);
-%!test              
+%!test
 %! warning ("off", "ode15s:mass_state_dependent_provided", "local");
-%!  opt = odeset ("MStateDependence", "none", 
+%!  opt = odeset ("MStateDependence", "none",
 %!                "Mass", @massdensefunstate,
 %!                "Jacobian", @jacfundense);
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
 %! assert ([t(end), y(end,:)], frefrob, 1e-3);
 %!test
 %! warning ("off", "ode15s:mass_state_dependent_provided", "local");
-%!  opt = odeset ("MStateDependence", "none", 
+%!  opt = odeset ("MStateDependence", "none",
 %!                "Mass", @masssparsefunstate,
 %!                "Jacobian", @jacfundense);
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
 %! assert ([t(end), y(end,:)], frefrob, 1e-3);
 %!test
-%!  opt = odeset ("MStateDependence", "none", 
+%!  opt = odeset ("MStateDependence", "none",
 %!                "Mass", @massdensefuntime,
 %!                "Jacobian", @jacfundense);
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
-%! assert ([t(end), y(end,:)], frefrob, 1e-3);    
-%!  opt = odeset ("MStateDependence", "none", 
+%! assert ([t(end), y(end,:)], frefrob, 1e-3);
+%!  opt = odeset ("MStateDependence", "none",
 %!                "Mass", 'masssparsefuntime',
 %!                "Jacobian", 'jacfundense');
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
-%! assert ([t(end), y(end,:)], frefrob, 1e-3);  
-%!test              
-%!  opt = odeset ("MStateDependence", "none", 
+%! assert ([t(end), y(end,:)], frefrob, 1e-3);
+%!test
+%!  opt = odeset ("MStateDependence", "none",
 %!                "Mass", [1 0 0; 0 1 0; 0 0 0],
 %!                "Jacobian", @jacfunsparse);
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
 %! assert ([t(end), y(end,:)], frefrob, 1e-3);
 %!test
-%!  opt = odeset ("MStateDependence", "none", 
+%!  opt = odeset ("MStateDependence", "none",
 %!                "Mass", sparse([1 0 0; 0 1 0; 0 0 0]),
-%!               "Jacobian", @jacfunsparse); 
+%!               "Jacobian", @jacfunsparse);
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
-%! assert ([t(end), y(end,:)], frefrob, 1e-3); 
-%!test             
+%! assert ([t(end), y(end,:)], frefrob, 1e-3);
+%!test
 %! warning ("off", "ode15s:mass_state_dependent_provided", "local");
-%!  opt = odeset ("MStateDependence", "none", 
+%!  opt = odeset ("MStateDependence", "none",
 %!                "Mass", @massdensefunstate,
 %!                "Jacobian", @jacfunsparse);
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
 %! assert ([t(end), y(end,:)], frefrob, 1e-3);
 %!test
 %! warning ("off", "ode15s:mass_state_dependent_provided", "local");
-%!  opt = odeset ("MStateDependence", "none", 
+%!  opt = odeset ("MStateDependence", "none",
 %!                "Mass", @masssparsefunstate,
 %!                "Jacobian", @jacfunsparse);
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
 %! assert ([t(end), y(end,:)], frefrob, 1e-3);
 %!test
-%!  opt = odeset ("MStateDependence", "none", 
+%!  opt = odeset ("MStateDependence", "none",
 %!                "Mass", @massdensefuntime,
-%!                "Jacobian", @jacfunsparse);  
+%!                "Jacobian", @jacfunsparse);
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
-%! assert ([t(end), y(end,:)], frefrob, 1e-3); 
-%!test 
-%!  opt = odeset ("MStateDependence", "none", 
+%! assert ([t(end), y(end,:)], frefrob, 1e-3);
+%!test
+%!  opt = odeset ("MStateDependence", "none",
 %!                "Mass", @masssparsefuntime,
 %!                "Jacobian", @jacfunsparse);
 %! [t, y] = ode15s (@rob,[0 100], [1;0;0], opt);
@@ -673,7 +673,7 @@
 %! opt = odeset ("Events", @feve, "Mass", @massdensefunstate,
 %!               "MStateDependence", "none");
 %! [t, y, te, ye, ie] = ode15s (@rob,[0 100], [1;0;0], opt);
-%! assert ([t(end), te', ie'], [10, 10, 10, 0, 1], [1, 0.5, 0.5, 0, 0]); 
+%! assert ([t(end), te', ie'], [10, 10, 10, 0, 1], [1, 0.5, 0.5, 0, 0]);
 
 
 
@@ -682,4 +682,3 @@
 
 
 
-
--- a/scripts/ode/private/check_default_input.m	Fri Dec 16 10:56:23 2016 -0500
+++ b/scripts/ode/private/check_default_input.m	Fri Dec 16 10:20:35 2016 -0500
@@ -37,10 +37,10 @@
     error ("Octave:invalid-input-arg",
                [solver ": invalid value assigned to field '%s'"], "fun");
   endif
-  
-  ## Check trange 
+
+  ## Check trange
   validateattributes (trange, {"float"}, {"vector", "real"}, solver, "trange");
-  
+
   if (numel (trange) < 2)
        error ("Octave:invalid-input-arg",
                [solver ": invalid value assigned to field '%s'"], "trange");
@@ -61,5 +61,5 @@
   endif
 
   validateattributes (y0, {"float"}, {"numel", n}, solver, "y0");
- 
+
 endfunction
--- a/scripts/plot/draw/isonormals.m	Fri Dec 16 10:56:23 2016 -0500
+++ b/scripts/plot/draw/isonormals.m	Fri Dec 16 10:20:35 2016 -0500
@@ -195,7 +195,7 @@
 %!error <must be a list of vertices> isonormals (1, {1})
 %!error <must be a list of vertices> isonormals (1, [1 2 3 4])
 %!error <must be a .* patch handle> isonormals (x, y, z, val, x)
-## Test validation of private function __interp_cube__ 
+## Test validation of private function __interp_cube__
 %!error <X, Y, Z have unequal dimensions> isonormals ({x}, y, z, val, vert)
 %!error <X, Y, Z have unequal dimensions> isonormals (x, {y}, z, val, vert)
 %!error <X, Y, Z have unequal dimensions> isonormals (x, y, {z}, val, vert)
--- a/scripts/plot/draw/private/__ezplot__.m	Fri Dec 16 10:56:23 2016 -0500
+++ b/scripts/plot/draw/private/__ezplot__.m	Fri Dec 16 10:20:35 2016 -0500
@@ -504,7 +504,7 @@
     endif
 
     ## Handle exceptional case of constant function
-    if (domain(3) == domain(4)) 
+    if (domain(3) == domain(4))
       domain(3) -= 1;
       domain(4) += 1;
     endif