octaverc and version in path?

Ben Abbott bpabbott at mac.com
Sun Dec 30 22:30:42 CST 2007


On Dec 31, 2007, at 1:12 AM, Ben Abbott wrote:

>
> On Dec 31, 2007, at 12:49 AM, John W. Eaton wrote:
>
>> The savepath function only exists for compatibility with Matlab, so
>> whatever it does should be compatible.
>>
>> jwe
>
> Good point.
>

I've spent some time looking over the differences between Matlab and  
Octave regarding path related functions. I've enumerated what I found  
below.

(1) pathdef: In Octave, pathdef() load's the virgin default path. In  
Matlab pathdef.m is a script created by savepath.m, and pathdef.m is  
used to setup Matlab's path each time Matlab is run.

(2) savepath: In Octave, savepath.m saves to current working path to  
~/.octaverc. In Matlab, it saves the current working path to  
pathdef.m. On my Mac, Matlab doesn't require admin access to execute  
savepath.m ... Can someone tell us if it does on Linux?

(3) restoredefaultpath: In Matlab this allows a user to restore the  
working path to its virgin form. It only impacts the current session.  
In Octave, this may be done by path (pathdef);

(4) matlabroot: In Matlab this returns the path to the root of  
Matlab's installation directory. The Octave equivalent is OCTAVE_HOME.

(5) matlabrc: In Matlab matlabrc.m is supposed to have admin access  
(?) and is run each time Matlab is started. It is located in  
<matlabroot>/toolbox/local. The Octave equivalent is octaverc located  
in octave-home/share/octave/version/m/startup.

(6) startup: In Matlab startup.m is run (if it exists in the path)  
each time Matlab is started, but only after matlabrc.m. The Octave  
equilvalent is ~/.octaverc.

(7) finish: In Matlab finish.m is run upon a clean exit. From what I  
can tell there is no Octave equivalent.

There are many differences. Some will require changes to c-code while  
the majority require changes to m-files.

I'm up to the task of handling the m-files but will need someone to  
take on the c part.

If it is desirable and appropriate to reconcile these differences, I  
can put together an approach that will allow for incremental changes  
that ensures a functional Octave.

I'll get started on the sequence of events needed. In the meantime,  
I'm eager for feedback so that I'm not wasting effort and/or time.

Ben





More information about the Octave-maintainers mailing list