~/.octaverc overwrites OCTAVE_PATH!!

Ben Abbott bpabbott at mac.com
Mon Dec 22 13:09:09 CST 2008


On Dec 22, 2008, at 1:37 PM, Rosen Diankov wrote:
>
> 2008/12/21 Ben Abbott <bpabbott at mac.com>:
>>
>> On Dec 21, 2008, at 3:38 PM, Rosen Diankov wrote:
>>
>>> Hi all,
>>>
>>> I'm trying to append my own directory with octave files
>>> (/usr/local/myoctavefiles) to the automatically set octave paths. At
>>> first, I tried doing
>>>
>>> export OCTAVE_PATH=/usr/local/myoctavefiles
>>>
>>> but it didn't work since the auto-generated ~/.octaverc file (from
>>> savepath) overwrites any added paths via the path function. Ie, the
>>> ~/.octaverc file looks like:
>>>
>>> ## Begin savepath auto-created section, do not edit
>>> path ('/usr/local/share/...',...)
>>> ## End savepath auto-created section
>>>
>>> So the next obvious thing to do was to call
>>> addpath('/usr/local/myoctavefiles') right after the '## End savepath
>>> ...', but this has a very dangerous side-effect. The problem is that
>>> the next time the user calls 'savepath', it will put
>>> /usr/local/myoctavefiles inside the auto-generated code. And even  
>>> if I
>>> remove my addpath or set OCTAVE_PATH to something different, my path
>>> will remain added to the octave path!
>>>
>>> So I propose a small savepath change that always puts
>>> getenv('OCTAVE_PATH') inside the auto-generated code.
>>> It would be great if this makes it into octave 3.0.4
>>>
>>> thank you,
>>> rosen diankov
>>
>> If I understand you correctly you'd like to be able to dynamically  
>> add a
>> specific path when octave is run. Have you looked at the command line
>> options. For example,
>>
>>       octave --path "/usr/local/myoctavefiles"
>>
>> Other command line options are detailed at the link below.
>>
>>
>> http://www.gnu.org/software/octave/doc/interpreter/Command-Line-Options.html#Command-Line-Options
>>
>> Ben

>
> It doesn't work, the ~/.octaverc file overwrites any paths from
> OCTAVE_PATH, -p, or --path because savepath directly calls path. it
> would be great if at least it called addpath.
>
> rosen,

Do you mean you'd like to have the lines added to .octaverc by  
savepath use "addpath(...)" rather than "path(...)"?

sigh ... I find the savepath command more trouble that it is worth :-(

You may find the best solution it to modify .octaverc by manually and  
use addpath() to include your local octave directories.

In any event, we will want to be compatible with matlab. Does matlab  
provide the functionality you're looking for?

Ben




More information about the Help-octave mailing list