zsh-workers
 help / color / mirror / code / Atom feed
* AUTO_CD and directory names of options
@ 2015-04-28 18:36 Eric Cook
  2015-04-28 19:32 ` Peter Stephenson
  0 siblings, 1 reply; 2+ messages in thread
From: Eric Cook @ 2015-04-28 18:36 UTC (permalink / raw)
  To: zsh-workers

Hey, someone on irc noticed something interesting about AUTO_CD.

If autocd attempts to cd into a directory that is a valid option for cd,
the option is interpreted like normal
and the directory doesn't change.

Having autocd perform ''cd -- -1'' not ''cd -1'' would fix it.
Src/exec.c seems to handle it, but i am exactly sure how.


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: AUTO_CD and directory names of options
  2015-04-28 18:36 AUTO_CD and directory names of options Eric Cook
@ 2015-04-28 19:32 ` Peter Stephenson
  0 siblings, 0 replies; 2+ messages in thread
From: Peter Stephenson @ 2015-04-28 19:32 UTC (permalink / raw)
  To: zsh-workers

On Tue, 28 Apr 2015 14:36:56 -0400
Eric Cook <llua@gmx.com> wrote:
> Hey, someone on irc noticed something interesting about AUTO_CD.
> 
> If autocd attempts to cd into a directory that is a valid option for cd,
> the option is interpreted like normal
> and the directory doesn't change.

It's actualy worse; it's interpreted as a complete command.  So '-q'
will silently change to the home directory.

diff --git a/Src/exec.c b/Src/exec.c
index 31c80a7..6a8b35a 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -2930,6 +2930,7 @@ execcmd(Estate state, int input, int output, int how, int last1)
 	 * is a directory we should AUTOCD to. */
 	if (!hn && trycd && (s = cancd(peekfirst(args)))) {
 	    peekfirst(args) = (void *) s;
+	    pushnode(args, dupstring("--"));
 	    pushnode(args, dupstring("cd"));
 	    if ((hn = builtintab->getnode(builtintab, "cd")))
 		is_builtin = 1;

-- 
Peter Stephenson <p.w.stephenson@ntlworld.com>
Web page now at http://homepage.ntlworld.com/p.w.stephenson/


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-04-28 19:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-28 18:36 AUTO_CD and directory names of options Eric Cook
2015-04-28 19:32 ` Peter Stephenson

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).