octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: more compatibility changes


From: Paul Kienzle
Subject: Re: more compatibility changes
Date: Fri, 11 Jul 2003 23:24:45 -0400
User-agent: Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.3) Gecko/20030312

John W. Eaton wrote:

I'm also considering the following changes:

 * Remove the built-in variables initialize_global_variables and
   default_global_variable_value and only implement the Matlab-like
   thing of always initializing global variables to [], or make the
   default values Matlab compatible.

Oops!  Sometimes I'm not checking for this one.

 * Remove the built-in variable default_eval_print_flag and only
   implement Matlab-compatible behavior, or make the default value
   Matlab compatible.

This just means putting ; after eval --- no big deal.

 * Remove the built-in variable whitespace_in_literal_matrix and only
   implement Matlab-compatible behavior, or make the default value
   "traditional" for Matlab compatibility.

   I don't think that eliminating whitespace_in_literal_matrix would
   cause trouble for code distributed with Octave since it should
   already work with any setting of this variable.  Also, we already
   have a warn_separator_insert to allow warnings to be printed in
   cases like [eye (n)], but it should probably be improved to only
   warn about cases that are potenially troublesome (like the example
   above) and not things like [1 2].

Agreed.  The warning is only when the function is first loaded,
not every time it is run, right?

My current preference would be to remove these variables entirely
rather thanjust changing the default values so that we no longer have
to worry about trying to make code work for different settings.

There are way too many of these, so I'm all for removing
those that you can.
For backward compatibility purposes (I don't want to force
users to upgrade Octave to use OctaveForge), I will have to
assume that these things have the appropriate value and hope
that people update their site startup file.  Or I could replace
code like

 dfi = do_fortran_indexing;

with

 dfi = property('do_fortran_indexing')

where property() is something like

 function v = property(name)
   if exist(name)
     v = eval('name');
   else
     v = [];
   endif
 end

Paul Kienzle
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]