patchGNU Octave - Patches: patch #8139, cd: Add Bash-like "cd -"...

 
 

patch #8139: cd: Add Bash-like "cd -" shortcut to change to last dir from input prompt.

Submitted by:  Philipp Kutin <pkutin>
Submitted on:  Tue 30 Jul 2013 09:09:41 PM UTC  
 
Category: NonePriority: 5 - Normal
Status: Need InfoPrivacy: Public
Assigned to: NoneOpen/Closed: Open

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

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

 

Fri 08 Nov 2013 12:48:11 PM UTC, comment #3:

Attached is a second patch that can be applied on a recent Octave HG and incorporating Mike's suggestions:

  • "cd -" works everywhere
  • shorter error message

(file #29572)

Philipp Kutin <pkutin>
Fri 18 Oct 2013 01:45:38 PM UTC, comment #2:

I merely did it that way for minimality's sake -- so that there's no change of the API and programmatic use of 'cd' will continue to function as before. But I didn't succeed very well, as the cases where '-' is effective (script, etc.) show. So I guess going with always invoking that special behavior is OK.

Agreed about the message, it's short and to the point.

Philipp Kutin <pkutin>
Fri 18 Oct 2013 02:48:28 AM UTC, comment #1:

Is there a reason for only wanting to do this at the top execution level? In the unix shell it is perfectly legal to do "cd -" inside of a script or a subshell.

I agree it's probably unlikely that anyone names a directory "-", but it is something to consider.

I like the idea, as long as no one else is worried about potentially breaking compatibility with directories named "-".

I'd prefer something like "cd: no previous directory" as the error message.

Mike Miller <mtmiller>
Project Member
Tue 30 Jul 2013 09:09:41 PM UTC, original submission:
  • libinterp/corefcn/dirfns.cc: When issuing "cd" from the top level, save

current working dir before the change. When doing "cd -", change to that
one. Caveat: works in a little more contexts than just from the prompt.
(For example, anon. function defined at top level that does "cd", script
called from top level.)

----------

This is useful when you're working in a directory with code, but temporarily want to load some data. You'd "cd" into that directory, but to return to the first one, don't need to enter it on the command line (which is inconvenient, as the completion doesn't behave properly when the partial path has more than one component.)

The idea is to make it work only when issued from the input prompt. However, the closest I found is symbol_table::at_top_level(), which presumably embodies the "workspace" concept. So, "cd -" also changes to the last WD in e.g. M-scripts called from the top level, which may not be desirable. (But then again, it's unlikely to be practically relevant -- who would call their directory "-"?)

Philipp Kutin <pkutin>

 

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

Attach File(s):
   
   
Comment:
   

Attached Files
file #28714:  cd-bashlike-dash-pk.patch added by pkutin (2kB - text/x-patch)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by mtmiller (Posted a comment)
  • -unavailable- added by pkutin (Submitted the item)
  •  

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

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 08 Nov 2013 12:48:11 PM UTCpkutinAttached File-=>Added cd-bashlike-dash-pk-2.patch, #29572
    Fri 18 Oct 2013 02:48:28 AM UTCmtmillerStatusNone=>Need Info
    Tue 30 Jul 2013 09:09:41 PM UTCpkutinAttached File-=>Added cd-bashlike-dash-pk.patch, #28714

    Back to the top


    Powered by Savane 3.1-cleanup