bugGNU Octave - Bugs: bug #55681, octave --no-init-file still uses...


bug #55681: octave --no-init-file still uses finish.m and startup.m in the current directory

Submitted by:  Mike Miller <mtmiller>
Submitted on:  Fri 08 Feb 2019 10:59:40 PM UTC  
Category:  Configuration and Build System Severity:  2 - Minor
Priority:  5 - Normal Item Group:  Incorrect Result
Status:  Fixed Assigned to:  Mike Miller <mtmiller>
Originator Name:  Open/Closed:  Closed
Release:  dev Operating System:  GNU/Linux

Add a New Comment (Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


Fri 15 Feb 2019 07:53:01 PM UTC, comment #4: 

Works fine.  Marking as fixed and closing report.

Rik <rik5>
Project Administrator
Tue 12 Feb 2019 12:27:55 AM UTC, comment #3: 

I added a change that moves startup.m and finish.m directly into the interpreter where other init files are loaded


There was still the problem that --no-site-file would also skip loading the user's startup.m or finish.m. With this change they follow both --no-site-file and --no-init-file as expected.

Mike Miller <mtmiller>
Project AdministratorIn charge of this item.
Sat 09 Feb 2019 05:46:06 PM UTC, comment #2: 

I checked in a patch that addresses this issue.  See https://hg.savannah.gnu.org/hgweb/octave/rev/7c027116ee21.

Something could be done in the C++ as well if you like, but this seems good enough for now.

Rik <rik5>
Project Administrator
Sat 09 Feb 2019 12:07:15 AM UTC, comment #1: 

Yeah, I've known about this for a while.  It was just a low priority.

There are other weird cases as well.  If you change the path so that _finish_ is not available then you get another error

octave:1> cd ..
octave:2> path (".");
warning: default load path altered.  Some built-in functions may not be found.  Try restoredefaultpath() to recover it.
octave:3> exit
error: feval: function '__finish__' not found
error: ignoring const execution_exception& while preparing to exit

This is also low priority.

Rik <rik5>
Project Administrator
Fri 08 Feb 2019 10:59:40 PM UTC, original submission:  

The Matlab compatible startup files "finish.m" and "startup.m" are tied to Octave's system-wide version startup file, even though they are user configuration files, essentially equivalent to having a .octaverc file in the current directory.

They should be disabled with --no-init-file, which is supposed to disable all user configuration files. Even better, they should still be enabled when --no-site-file is used, but that's even more of a corner case.

$ echo 'disp ("This is startup.m!")' > startup.m
$ echo 'disp ("This is finish.m!")' > finish.m
$ octave --eval exit
This is startup.m!
This is finish.m!
$ octave --norc --eval exit
$ octave --no-init-file --eval exit
This is startup.m!
This is finish.m!
$ octave --no-site-file --eval exit

I concede that this is low priority, but I think it is definitely worth fixing, since the intent is that "octave --no-init-file" protects Octave from any stray configuration that a user may have in their home directory or in the current working directory.

I think the only way to fix this is to remove the handling of these files from scripts/startup/version-rcfile and into the interpreter proper where it handles all startup files.

I will look at this for Octave 6, but feel free to start on it or throw ideas or problems at me.

Mike Miller <mtmiller>
Project AdministratorIn charge of this item.


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by rik5 (Posted a comment)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.




    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-02-15 rik5 StatusReady For Test => Fixed
        Open/ClosedOpen => Closed
    2019-02-09 rik5 StatusConfirmed => Ready For Test
    2019-02-09 rik5 StatusNone => Confirmed
    2019-02-08 mtmiller Carbon-CopyRemoved 80942 => -

    Back to the top

    Powered by Savane 3.5