Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: bug in preexec()

On Jul 20,  7:29pm, Juhapekka Tolvanen wrote:
} Subject: bug in preexec()
} If I give some command, for example this:
} ls ; sleep 200
} My titlebar shows that command three times and last two are kind
} of distorted

The format of arguments to preexec changed between 3.1.9 and 4.0.1.
Previously it received only a single argument as $1, so $1 and $* were
interchangable.  Now it receives three arguments; to get the previous
behavior, you need to be sure you're referring only to $1.

The doc says:

     [...]  If the history mechanism is active (and the line was not
     discarded from the history buffer), the string that the user typed
     is passed as the first argument, otherwise it is an empty string.
     The actual command that will be executed (including expanded
     aliases) is passed in two different forms: the second argument is
     a single-line, size-limited version of the command (with things
     like function bodies elided); the third argument contains the full
     text that is being executed.

That second argument is (intentionally) the same thing you'd see from
the "jobs" command if the command were backgrounded.

Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   

Messages sorted by: Reverse Date, Date, Thread, Author