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

Submitter:  Mike Miller <mtmiller>
Submitted:  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:  mtmiller
Originator Name:  Open/Closed:  * Closed
Release:  * dev Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

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

Works fine.  Marking as fixed and closing report.

Rik <rik5>
Group 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

https://hg.savannah.gnu.org/hgweb/octave/rev/f51e8a7c33f4

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>
Group Member
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>
Group 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>
Group 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>
Group Member

 

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

Attach Files:
   
   
Comment:
   

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)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group 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.13-4448.
    Corresponding source code