From: Peter Stephenson <p.w.stephenson@ntlworld.com>
To: "Zsh Hackers' List" <zsh-workers@sunsite.dk>
Subject: Re: parse error in process substitution
Date: Thu, 13 Nov 2008 21:00:44 +0000 [thread overview]
Message-ID: <20081113210044.4cea912c@pws-pc> (raw)
In-Reply-To: <20081112105241.40c116d9@news01>
On Mon, 10 Nov 2008 09:21:52 +0100
Louis-David Mitterrand <vindex+lists-zsh-users@apartia.org> wrote:
> So how would you convert that working bash command to zsh?
>
> root-tail <(ssh root@my.host.name tail -F /var/log/kern.log),red,
This fixes the syntax. Unfortunately, I had to impose some limitations
to prevent existing stuff stopping working. Obviously I'd like to
know about anything else this messes up. I'm not worried about
the undocumented feature that <(...) forced a new word.
A non-initial = usually isn't handled specially, and raw parentheses
(i.e. without a disambiguating character in front) are somewhat
overworked in zsh, so I couldn't make =(...) special anywhere except at
the start of an argument. However, you can now put other things after
it.
">" and "<" never used to need quoting when used inside parentheses or
parameter substitutions, so to keep this I've had to forbid the use of
<(...) and >(...) in such places. (The comptest function falls over if
this isn't done.) This isn't likely to be a big problem
in practice. Because of the previous rule this isn't relevant to
=(...).
Parsing of the contents of these expressions is done rather more simply
than for $(...) expressions. I don't really know if there's any mileage
in making parsing of process substitutions more similar (inside the
parentheses only, the context dependence will have to remain
different).
Index: README
===================================================================
RCS file: /cvsroot/zsh/zsh/README,v
retrieving revision 1.58
diff -u -r1.58 README
--- README 30 Oct 2008 12:18:54 -0000 1.58
+++ README 13 Nov 2008 20:46:40 -0000
@@ -69,6 +69,16 @@
consistent with recent versions of other shells. The option
DEBUG_BEFORE_CMD can be unset to revert to the previous behaviour.
+Previously, process substitutions of the form =(...), <(...) and
+>(...) were only handled if they appeared as separate command arguments,
+although the latter two forms caused a new command argument to be
+started at that point. Now all three may be followed by other strings,
+and the latter two may also be preceeded by other string. None may
+occur inside parameter substitutions, or inside parentheses used for
+grouping of patterns, in order to avoid clashes with cases where
+tt(<) or tt(>) where not treated specially in previous versions of the
+shell.
+
In previous versions of the shell it was possible to use index 0 in an
array or string subscript to refer to the same element as index 1 if the
option KSH_ARRAYS was not in effect. This was a limited approximation to
Index: Doc/Zsh/expn.yo
===================================================================
RCS file: /cvsroot/zsh/zsh/Doc/Zsh/expn.yo,v
retrieving revision 1.97
diff -u -r1.97 expn.yo
--- Doc/Zsh/expn.yo 26 Oct 2008 17:57:13 -0000 1.97
+++ Doc/Zsh/expn.yo 13 Nov 2008 20:46:41 -0000
@@ -353,11 +353,17 @@
sect(Process Substitution)
cindex(process substitution)
cindex(substitution, process)
-Each command argument of the form
+Each part of a command argument that takes the form
`tt(<LPAR())var(list)tt(RPAR())',
`tt(>LPAR())var(list)tt(RPAR())' or
`tt(=LPAR())var(list)tt(RPAR())'
-is subject to process substitution.
+is subject to process substitution. The expression may be proceeded
+or followed by other strings except that, to prevent clashes with
+commonly occurring strings and patterns, the last
+form must occur at the start of a command argument, and none of
+the forms may occur inside parentheses used for grouping of patterns or
+inside parameter substitutions.
+
In the case of the tt(<) or tt(>) forms, the shell runs process
var(list) asynchronously. If the system supports the tt(/dev/fd)
mechanism, the command argument is the name of the device file
Index: Src/exec.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/exec.c,v
retrieving revision 1.160
diff -u -r1.160 exec.c
--- Src/exec.c 10 Oct 2008 09:55:34 -0000 1.160
+++ Src/exec.c 13 Nov 2008 20:46:43 -0000
@@ -3560,7 +3560,7 @@
/**/
static Eprog
-parsecmd(char *cmd)
+parsecmd(char *cmd, char **eptr)
{
char *str;
Eprog prog;
@@ -3571,7 +3571,9 @@
return NULL;
}
*str = '\0';
- if (str[1] || !(prog = parse_string(cmd + 2, 0))) {
+ if (eptr)
+ *eptr = str+1;
+ if (!(prog = parse_string(cmd + 2, 0))) {
zerr("parse error in process substitution");
return NULL;
}
@@ -3582,7 +3584,7 @@
/**/
char *
-getoutputfile(char *cmd)
+getoutputfile(char *cmd, char **eptr)
{
pid_t pid;
char *nam;
@@ -3592,7 +3594,7 @@
if (thisjob == -1)
return NULL;
- if (!(prog = parsecmd(cmd)))
+ if (!(prog = parsecmd(cmd, eptr)))
return NULL;
if (!(nam = gettempname(NULL, 0)))
return NULL;
@@ -3677,7 +3679,7 @@
/**/
char *
-getproc(char *cmd)
+getproc(char *cmd, char **eptr)
{
#if !defined(HAVE_FIFOS) && !defined(PATH_DEV_FD)
zerr("doesn't look like your system supports FIFOs.");
@@ -3696,7 +3698,7 @@
return NULL;
if (!(pnam = namedpipe()))
return NULL;
- if (!(prog = parsecmd(cmd)))
+ if (!(prog = parsecmd(cmd, eptr)))
return NULL;
if (!jobtab[thisjob].filelist)
jobtab[thisjob].filelist = znewlinklist();
@@ -3723,7 +3725,7 @@
if (thisjob == -1)
return NULL;
pnam = hcalloc(strlen(PATH_DEV_FD) + 6);
- if (!(prog = parsecmd(cmd)))
+ if (!(prog = parsecmd(cmd, eptr)))
return NULL;
mpipe(pipes);
if ((pid = zfork(&bgtime))) {
@@ -3772,7 +3774,7 @@
pid_t pid;
struct timeval bgtime;
- if (!(prog = parsecmd(cmd)))
+ if (!(prog = parsecmd(cmd, NULL)))
return -1;
mpipe(pipes);
if ((pid = zfork(&bgtime))) {
Index: Src/lex.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/lex.c,v
retrieving revision 1.46
diff -u -r1.46 lex.c
--- Src/lex.c 31 Aug 2008 19:50:49 -0000 1.46
+++ Src/lex.c 13 Nov 2008 20:46:44 -0000
@@ -835,7 +835,7 @@
return OUTPAR;
case LX1_INANG:
d = hgetc();
- if (!incmdpos && d == '(') {
+ if (d == '(') {
hungetc(d);
lexstop = 0;
unpeekfd:
@@ -1152,20 +1152,13 @@
c = Comma;
break;
case LX2_OUTANG:
- if (!intpos) {
- if (in_brace_param || sub)
- break;
- else
- goto brk;
- }
+ if (in_brace_param || sub)
+ break;
e = hgetc();
if (e != '(') {
hungetc(e);
lexstop = 0;
- if (in_brace_param || sub)
- break;
- else
- goto brk;
+ goto brk;
}
add(Outang);
if (skipcomm()) {
@@ -1178,7 +1171,7 @@
if (isset(SHGLOB) && sub)
break;
e = hgetc();
- if(e == '(' && intpos) {
+ if (!(in_brace_param || sub) && e == '(') {
add(Inang);
if (skipcomm()) {
peek = LEXERR;
Index: Src/subst.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/subst.c,v
retrieving revision 1.90
diff -u -r1.90 subst.c
--- Src/subst.c 30 Oct 2008 15:34:18 -0000 1.90
+++ Src/subst.c 13 Nov 2008 20:46:45 -0000
@@ -56,43 +56,27 @@
queue_signals();
for (node = firstnode(list); node; incnode(node)) {
- char *str, c;
-
- str = (char *)getdata(node);
- if (((c = *str) == Inang || c == Outang || c == Equals) &&
- str[1] == Inpar) {
- if (c == Inang || c == Outang)
- setdata(node, (void *) getproc(str)); /* <(...) or >(...) */
- else
- setdata(node, (void *) getoutputfile(str)); /* =(...) */
- if (!getdata(node)) {
- setdata(node, dupstring(""));
- unqueue_signals();
- return;
- }
- } else {
- if (isset(SHFILEEXPANSION)) {
- /*
- * Here and below we avoid taking the address
- * of a void * and then pretending it's a char **
- * instead of a void ** by a little inefficiency.
- * This could be avoided with some extra linked list
- * machinery, but that would need quite a lot of work
- * to ensure consistency. What we really need is
- * templates...
- */
- char *cptr = (char *)getdata(node);
- filesub(&cptr, flags & (PF_TYPESET|PF_ASSIGN));
- /*
- * The assignment is so simple it's not worth
- * testing if cptr changed...
- */
- setdata(node, cptr);
- }
- if (!(node = stringsubst(list, node, flags & PF_SINGLE, asssub))) {
- unqueue_signals();
- return;
- }
+ if (isset(SHFILEEXPANSION)) {
+ /*
+ * Here and below we avoid taking the address
+ * of a void * and then pretending it's a char **
+ * instead of a void ** by a little inefficiency.
+ * This could be avoided with some extra linked list
+ * machinery, but that would need quite a lot of work
+ * to ensure consistency. What we really need is
+ * templates...
+ */
+ char *cptr = (char *)getdata(node);
+ filesub(&cptr, flags & (PF_TYPESET|PF_ASSIGN));
+ /*
+ * The assignment is so simple it's not worth
+ * testing if cptr changed...
+ */
+ setdata(node, cptr);
+ }
+ if (!(node = stringsubst(list, node, flags & PF_SINGLE, asssub))) {
+ unqueue_signals();
+ return;
}
}
for (node = firstnode(list); node; incnode(node)) {
@@ -168,7 +152,37 @@
char *str = str3, c;
while (!errflag && (c = *str)) {
- if ((qt = c == Qstring) || c == String) {
+ if ((c == Inang || c == Outang || (str == str3 && c == Equals)) &&
+ str[1] == Inpar) {
+ char *subst, *rest, *snew, *sptr;
+ int str3len = str - str3, sublen, restlen;
+
+ if (c == Inang || c == Outang)
+ subst = getproc(str, &rest); /* <(...) or >(...) */
+ else
+ subst = getoutputfile(str, &rest); /* =(...) */
+ if (!subst)
+ subst = "";
+
+ sublen = strlen(subst);
+ restlen = strlen(rest);
+ sptr = snew = hcalloc(str3len + sublen + restlen + 1);
+ if (str3len) {
+ memcpy(sptr, str3, str3len);
+ sptr += str3len;
+ }
+ if (sublen) {
+ memcpy(sptr, subst, sublen);
+ sptr += sublen;
+ }
+ if (restlen)
+ memcpy(sptr, rest, restlen);
+ sptr[restlen] = '\0';
+ str3 = snew;
+ str = snew + str3len + sublen;
+ setdata(node, str3);
+ continue;
+ } else if ((qt = c == Qstring) || c == String) {
if ((c = str[1]) == Inpar) {
if (!qt)
list->list.flags |= LF_ARRAY;
Index: Test/D03procsubst.ztst
===================================================================
RCS file: /cvsroot/zsh/zsh/Test/D03procsubst.ztst,v
retrieving revision 1.4
diff -u -r1.4 D03procsubst.ztst
--- Test/D03procsubst.ztst 14 Apr 2005 04:41:28 -0000 1.4
+++ Test/D03procsubst.ztst 13 Nov 2008 20:46:45 -0000
@@ -36,3 +36,51 @@
0:FDs remain open for external commands called from functions
>First
>Zweite
+
+ catfield2() {
+ local -a args
+ args=(${(s.,.)1})
+ print $args[1]
+ cat $args[2]
+ print $args[3]
+ }
+ catfield2 up,<(print $'\x64'own),sideways
+0:<(...) when embedded within an argument
+>up
+>down
+>sideways
+
+ outputfield2() {
+ local -a args
+ args=(${(s.,.)1})
+ print $args[1]
+ echo 'How sweet the moonlight sits upon the bank' >$args[2]
+ print $args[3]
+ }
+ outputfield2 muddy,>(sed -e s/s/th/g >outputfield2.txt),vesture
+ # yuk
+ while [[ ! -e outputfield2.txt || ! -s outputfield2.txt ]]; do :; done
+ cat outputfield2.txt
+0:>(...) when embedded within an argument
+>muddy
+>vesture
+>How thweet the moonlight thitth upon the bank
+
+ catfield1() {
+ local -a args
+ args=(${(s.,.)1})
+ cat $args[1]
+ print $args[2]
+ }
+ catfield1 =(echo s$'\x69't),jessica
+0:=(...) followed by something else without a break
+>sit
+>jessica
+
+ (
+ setopt nonomatch
+ # er... why is this treated as a glob?
+ print everything,=(here is left),alone
+ )
+0:=(...) preceded by other stuff has no special effect
+>everything,=(here is left),alone
--
Peter Stephenson <p.w.stephenson@ntlworld.com>
Web page now at http://homepage.ntlworld.com/p.w.stephenson/
next prev parent reply other threads:[~2008-11-13 21:01 UTC|newest]
Thread overview: 417+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20081106150224.GA10992@apartia.fr>
[not found] ` <081106082517.ZM27477@torch.brasslantern.com>
[not found] ` <20081110082152.GA9563@apartia.fr>
[not found] ` <20081110142850.0add2680@news01>
2008-11-12 10:52 ` Peter Stephenson
2008-11-13 21:00 ` Peter Stephenson [this message]
2008-11-13 21:08 ` Mikael Magnusson
2008-11-16 4:10 ` Bart Schaefer
2008-11-16 21:18 ` Peter Stephenson
2008-11-16 21:51 ` Bart Schaefer
2008-11-17 10:10 ` Peter Stephenson
2008-11-17 15:51 ` Bart Schaefer
2008-11-17 16:08 ` Peter Stephenson
2008-11-17 16:51 ` Peter Stephenson
2015-11-22 17:52 Possibly excessive WARN_CREATE_GLOBAL Bart Schaefer
2015-11-22 18:27 ` Peter Stephenson
2015-11-22 19:04 ` Bart Schaefer
2015-11-22 19:15 ` Peter Stephenson
2015-11-22 20:30 ` Bart Schaefer
2015-11-23 15:49 ` Peter Stephenson
2015-11-24 4:43 ` Bart Schaefer
2015-11-24 10:41 ` Peter Stephenson
-- strict thread matches above, loose matches on Subject: below --
2014-08-01 8:20 Possible bug to RPROMPT Felipe G. Silveira
2014-08-04 19:31 ` Bart Schaefer
2014-08-04 19:50 ` Peter Stephenson
2014-08-04 20:50 ` Bart Schaefer
2014-08-05 7:54 ` Bart Schaefer
2014-08-06 7:57 ` Bart Schaefer
2014-08-07 8:36 ` [PATCH] Better prompt width calculations (Re: Possible bug to RPROMPT) Bart Schaefer
2015-04-02 15:46 ` Jun T.
2015-04-02 16:48 ` Bart Schaefer
2014-07-17 12:58 [PATCH] Fix loading of multi-line history entires from disk Augie Fackler
2014-07-17 18:23 ` Bart Schaefer
2014-07-17 19:58 ` Peter Stephenson
2014-07-17 23:56 ` Augie Fackler
2014-07-18 3:08 ` Bart Schaefer
2014-07-18 6:01 ` Bart Schaefer
2014-07-18 18:21 ` Peter Stephenson
2014-07-18 18:21 ` Peter Stephenson
2014-07-17 19:51 ` Peter Stephenson
2014-02-15 20:45 SUGGESTION: Simplify auto-completion, a little mail
2014-02-15 23:15 ` Bart Schaefer
2014-02-15 23:29 ` Peter Stephenson
2014-02-16 3:06 ` Bart Schaefer
2013-07-15 13:35 bug with eval, proc-subst and pipes Stephane Chazelas
2013-07-15 17:06 ` Bart Schaefer
2013-07-15 19:14 ` Re[2]: " Manuel Presnitz
2013-07-15 21:52 ` Bart Schaefer
2013-07-16 20:55 ` Peter Stephenson
2013-07-17 7:00 ` Bart Schaefer
2013-07-17 19:17 ` Peter Stephenson
2013-07-18 3:50 ` Vin Shelton
2013-07-18 8:57 ` Peter Stephenson
2013-07-18 9:22 ` Peter Stephenson
2013-07-18 11:32 ` Peter Stephenson
2013-07-18 11:47 ` Peter Stephenson
2013-07-19 20:01 ` Stephane Chazelas
2013-07-19 20:58 ` Stephane Chazelas
2013-07-20 17:11 ` Peter Stephenson
2013-07-20 20:25 ` Stephane Chazelas
2013-07-20 22:55 ` Peter Stephenson
2013-07-21 9:45 ` Stephane Chazelas
2013-07-21 12:23 ` Stephane Chazelas
2013-07-21 19:51 ` Stephane Chazelas
2013-07-20 20:57 ` Bart Schaefer
2013-07-20 22:16 ` Peter Stephenson
2013-07-24 15:39 ` Peter Stephenson
2013-07-19 21:36 ` Bart Schaefer
2013-07-19 22:56 ` Stephane Chazelas
2013-07-18 9:44 ` Stephane Chazelas
2013-07-18 18:08 ` Bart Schaefer
2013-07-18 18:25 ` Bart Schaefer
2012-12-06 19:44 It's time for 5.0.1 Peter Stephenson
2012-12-08 19:54 ` Bart Schaefer
2012-12-09 19:10 ` Peter Stephenson
2012-12-12 8:14 ` Bart Schaefer
2012-12-12 9:56 ` Peter Stephenson
2012-12-12 19:29 ` Bart Schaefer
2012-12-15 18:16 ` Peter Stephenson
2012-12-15 19:26 ` Bart Schaefer
2012-12-15 19:47 ` Peter Stephenson
2012-12-16 20:03 ` Peter Stephenson
2012-12-17 5:59 ` Bart Schaefer
2012-12-17 21:13 ` Axel Beckert
2012-12-18 16:22 ` S. Cowles
2012-12-18 16:44 ` Peter Stephenson
[not found] <86aadnwtl2.fsf@gmail.com>
2011-06-12 14:22 ` killing suspended jobs makes zsh hang after 47d1215 Bart Schaefer
2011-06-12 14:59 ` Bart Schaefer
2011-06-12 17:02 ` Peter Stephenson
2011-06-12 22:13 ` Bart Schaefer
2011-06-13 0:02 ` Pan Tsu
2011-06-13 1:53 ` Bart Schaefer
2011-06-13 11:07 ` Peter Stephenson
2011-06-13 14:37 ` Bart Schaefer
2011-06-14 18:54 ` Peter Stephenson
2011-06-15 2:59 ` Bart Schaefer
[not found] <201008311754.27361.joke@seiken.de>
2010-08-31 19:18 ` environment variables Peter Stephenson
2010-09-01 15:25 ` Bart Schaefer
2010-09-01 18:35 ` Peter Stephenson
[not found] <matthi@infodrom.north.de>
2009-11-08 11:49 ` FEATURES description wrong line Maddi Kopfermann
2009-11-08 17:08 ` Bart Schaefer
2009-11-08 19:48 ` Stephane Chazelas
2009-11-08 18:44 ` Peter Stephenson
2009-11-10 15:07 ` Bart Schaefer
2009-11-10 18:09 ` Peter Stephenson
2009-07-12 20:59 zsh 4.3.10 terminates with SIGINT when one types Ctrl-G in emacs under Mac OS X Vincent Lefevre
2009-07-12 21:50 ` Bart Schaefer
2009-07-13 0:43 ` Vincent Lefevre
2009-07-13 2:36 ` Bart Schaefer
2009-07-13 18:39 ` Peter Stephenson
2009-07-16 16:24 ` Vincent Lefevre
2009-07-18 5:29 ` Bart Schaefer
2009-07-18 10:16 ` Vincent Lefevre
2009-07-18 18:16 ` Bart Schaefer
2009-07-19 18:03 ` Bart Schaefer
2009-07-19 19:15 ` Bart Schaefer
2009-07-19 20:14 ` Bart Schaefer
2009-07-19 20:41 ` Peter Stephenson
2009-07-18 18:35 ` Bart Schaefer
2009-07-18 23:09 ` Vincent Lefevre
2009-07-19 9:51 ` Vincent Lefevre
2009-07-19 16:32 ` Bart Schaefer
2009-07-19 22:24 ` Vincent Lefevre
2009-07-19 18:31 ` Bart Schaefer
2009-07-20 8:31 ` Vincent Lefevre
2009-07-22 2:58 ` Eric Blake
2009-07-22 8:16 ` Vincent Lefevre
2009-07-07 21:08 non-interactive set -m Eric Blake
2009-07-08 8:58 ` Peter Stephenson
2009-07-08 13:26 ` Eric Blake
2009-07-08 13:49 ` Peter Stephenson
2009-07-09 14:03 ` Eric Blake
2009-07-09 14:13 ` Peter Stephenson
2009-07-09 16:25 ` Eric Blake
2009-07-09 18:13 ` Eric Blake
2009-07-09 19:36 ` Peter Stephenson
2009-07-09 19:56 ` Peter Stephenson
2009-07-10 3:40 ` Bart Schaefer
2009-07-09 20:23 ` Peter Stephenson
2009-07-09 21:40 ` Eric Blake
2009-07-10 8:58 ` Peter Stephenson
2009-07-10 10:53 ` Peter Stephenson
2009-07-10 3:25 ` Eric Blake
2009-07-10 3:32 ` Eric Blake
2009-07-11 18:57 ` Peter Stephenson
2009-07-11 19:05 ` Peter Stephenson
2009-07-11 23:16 ` Eric Blake
2009-07-12 15:01 ` Peter Stephenson
2009-07-12 18:28 ` Bart Schaefer
2009-07-12 19:35 ` Peter Stephenson
2009-07-12 21:19 ` Bart Schaefer
2009-07-13 1:48 ` Eric Blake
2009-07-13 13:20 ` Eric Blake
2009-07-12 14:42 ` Peter Stephenson
2009-07-01 13:14 zsh bug in . builtin Eric Blake
2009-07-01 14:24 ` Peter Stephenson
2009-07-02 12:01 ` Eric Blake
2009-07-02 13:40 ` Peter Stephenson
2009-07-06 20:39 ` Peter Stephenson
2009-07-05 19:41 ` Bart Schaefer
2009-07-05 20:04 ` Peter Stephenson
2009-03-08 8:21 Modules/attr.c compile error on Mac OS X Taro M
2009-03-08 9:10 ` François Revol
2009-03-08 19:55 ` Peter Stephenson
2009-03-08 21:33 ` Bart Schaefer
2009-03-08 21:51 ` Peter Stephenson
2009-03-08 23:45 ` Bart Schaefer
[not found] <BD9D2405-AD6A-4336-9C8A-85149165B6B8@gmail.com>
[not found] ` <090116075615.ZM21871@torch.brasslantern.com>
[not found] ` <200901161939.54651.arvidjaar@newmail.ru>
2009-01-16 18:29 ` sourcing a sh file in zsh Bart Schaefer
2009-01-17 3:59 ` Phil Pennock
2009-01-17 5:00 ` Bart Schaefer
2009-01-17 5:55 ` Phil Pennock
2009-01-17 20:15 ` Bart Schaefer
2009-01-19 21:21 ` Phil Pennock
2009-01-20 19:48 ` Peter Stephenson
2009-01-21 4:48 ` Bart Schaefer
2009-01-24 15:59 ` Andrey Borzenkov
2009-01-24 17:38 ` Peter Stephenson
2009-01-24 20:47 ` Richard Hartmann
2009-01-24 23:26 ` Bart Schaefer
2009-01-25 8:56 ` Andrey Borzenkov
2009-01-25 10:25 ` Richard Hartmann
2009-01-25 10:41 ` Andrey Borzenkov
2009-01-25 10:51 ` Richard Hartmann
2009-01-26 23:07 ` Phil Pennock
2009-01-27 0:51 ` Richard Hartmann
2009-01-27 16:28 ` Bart Schaefer
2009-01-25 12:20 ` Bart Schaefer
2009-01-25 18:26 ` Andrey Borzenkov
2009-01-26 7:51 ` Bart Schaefer
2009-01-26 9:24 ` Richard Hartmann
2009-01-26 16:49 ` Andrey Borzenkov
2009-01-30 4:25 ` Bart Schaefer
2009-01-31 8:32 ` Andrey Borzenkov
2009-01-31 20:40 ` Bart Schaefer
2009-01-31 21:10 ` Peter Stephenson
2009-01-31 21:39 ` Bart Schaefer
2009-01-31 23:23 ` Peter Stephenson
2009-02-01 18:03 ` Andrey Borzenkov
2009-02-01 19:20 ` Bart Schaefer
2009-02-07 15:45 ` Andrey Borzenkov
2009-02-07 20:18 ` Bart Schaefer
2009-01-25 21:39 ` Peter Stephenson
2009-01-26 6:18 ` Phil Pennock
2009-01-26 12:21 ` Peter Stephenson
2009-01-26 23:16 ` Phil Pennock
2009-01-27 9:50 ` Peter Stephenson
2009-01-27 10:16 ` Peter Stephenson
2009-01-27 15:22 ` Bart Schaefer
2009-01-24 23:11 ` Bart Schaefer
2009-01-25 8:15 ` Richard Hartmann
2009-01-25 8:40 ` Andrey Borzenkov
2009-01-01 16:24 Bug in executable completion: unable to handle .. it $PATH Richard Hartmann
2009-01-01 17:41 ` Vincent Lefevre
2009-01-07 20:09 ` Peter Stephenson
2009-01-07 20:18 ` Bart Schaefer
2009-01-07 20:49 ` Peter Stephenson
2009-01-07 23:22 ` Richard Hartmann
[not found] <clint@zsh.org>
[not found] ` <20071011182853.GA19842@scowler.net>
2007-10-11 19:18 ` ZSH (CVS) configure problem? Peter Stephenson
2007-10-11 20:23 ` Clint Adams
2007-10-12 9:09 ` Peter Stephenson
2007-10-12 10:18 ` Peter Stephenson
2008-11-15 0:39 ` unusable fd in tcp_send Clint Adams
2008-11-15 16:32 ` Peter Stephenson
2008-11-15 16:47 ` Clint Adams
2008-06-07 20:34 PATCH: rewrite of completion matching Peter Stephenson
2008-06-16 7:17 ` Bart Schaefer
2008-06-16 12:54 ` Peter Stephenson
2008-06-16 15:30 ` Bart Schaefer
2008-06-16 16:52 ` Peter Stephenson
2008-06-16 17:49 ` Bart Schaefer
2008-06-17 9:06 ` Peter Stephenson
2008-03-16 14:40 ${a[(i)pattern]} if a=() Stephane Chazelas
2008-03-16 17:20 ` Bart Schaefer
2008-03-16 17:59 ` Bart Schaefer
2008-03-16 18:47 ` Bart Schaefer
2008-03-16 21:57 ` Peter Stephenson
2008-03-16 23:23 ` Stephane Chazelas
2008-03-17 0:59 ` Bart Schaefer
2008-03-18 12:13 ` Peter Stephenson
2008-03-18 15:47 ` Bart Schaefer
2008-03-25 17:24 ` Peter Stephenson
2008-02-23 0:04 PATCH: completion of glob qualifiers Peter Stephenson
2008-02-23 6:06 ` Bart Schaefer
2008-02-23 17:33 ` Peter Stephenson
2008-02-23 18:09 ` Peter Stephenson
2008-11-07 12:38 ` Oliver Kiddle
2008-11-08 23:28 ` Peter Stephenson
[not found] <20071205200825.148710@gmx.net>
2007-12-06 15:54 ` Bug#451382: i18n is NOT so easy! Clint Adams
2007-12-06 16:08 ` Ismail Dönmez
2007-12-06 16:10 ` Clint Adams
2007-12-07 10:44 ` Peter Stephenson
2007-12-07 14:11 ` Peter Stephenson
2007-12-07 17:15 ` Clint Adams
2007-12-07 17:26 ` Peter Stephenson
2007-12-09 18:01 ` Peter Stephenson
2007-12-09 22:49 ` Bart Schaefer
2007-12-10 0:06 ` Peter Stephenson
[not found] ` <20071206165612.292830@gmx.net>
2007-12-06 19:06 ` Clint Adams
2007-12-07 10:29 ` Oliver Kiddle
2007-11-09 15:08 delete-whole-word-match fails on words starting with -, patch Mikael Magnusson
2007-11-09 17:06 ` Peter Stephenson
2007-11-09 19:48 ` Peter Stephenson
2007-11-09 22:38 ` Mikael Magnusson
2007-11-10 14:22 ` Peter Stephenson
[not found] <DD973F2C-E6A0-4FCA-96F5-6C96701DC677@chemistry.ucsc.edu>
[not found] ` <20071012215906.GA8935@mastermind>
[not found] ` <20071012152257.91edf6d3.wgscott@chemistry.ucsc.edu>
2007-10-13 13:30 ` precmd, preexec, and supplied prompt themes Clint Adams
2007-10-13 17:11 ` Bart Schaefer
2007-10-13 19:10 ` Peter Stephenson
2007-10-13 20:47 ` Bart Schaefer
2007-10-13 17:16 ` Peter Stephenson
[not found] ` <071012185005.ZM2921@torch.brasslantern.com>
[not found] ` <35490.69.3.191.19.1192241340.squirrel@mail.acg.ucsc.edu>
[not found] ` <071012202721.ZM13638@torch.brasslantern.com>
[not found] ` <20071013135858.18e842df.wgscott@chemistry.ucsc.edu>
[not found] ` <071013144046.ZM15536@torch.brasslantern.com>
[not found] ` <42409.66.167.127.82.1192312408.squirrel@mail.acg.ucsc.edu>
[not found] ` <071013161113.ZM15656@torch.brasslantern.com>
[not found] ` <43237.69.3.24.27.1192318777.squirrel@mail.acg.ucsc.edu>
[not found] ` <071013194931.ZM15792@torch.brasslantern.com>
2007-10-31 11:07 ` Oliver Kiddle
2007-10-31 14:49 ` Bart Schaefer
2007-10-31 15:12 ` Bart Schaefer
[not found] <zsh-workers+phil.pennock@spodhuis.org>
2007-04-28 7:56 ` PATCH: zsh/regex and =~ Phil Pennock
2007-04-28 8:20 ` Phil Pennock
2007-04-29 0:51 ` Phil Pennock
2007-04-29 15:16 ` Peter Stephenson
2007-04-29 15:28 ` Peter Stephenson
2007-04-29 19:17 ` Phil Pennock
2007-05-01 21:59 ` Peter Stephenson
2007-05-02 0:11 ` Phil Pennock
2007-05-02 2:53 ` Bart Schaefer
2007-05-29 8:56 ` Phil Pennock
2007-01-27 17:07 4.3.2/20061219 -> 4.3.2/20070126 very broken Alexey Tourbin
2007-01-27 17:15 ` Alexey Tourbin
2007-01-27 18:55 ` Peter Stephenson
2007-01-27 23:47 ` Peter Stephenson
2007-01-28 12:04 ` Alexey Tourbin
2007-01-27 19:10 ` Bart Schaefer
2006-12-15 10:04 Is wait not interruptable? Dave Yost
2006-12-15 12:05 ` Peter Stephenson
2006-12-15 21:00 ` Peter Stephenson
2006-12-16 21:37 ` Bart Schaefer
2006-12-17 16:00 ` Peter Stephenson
2006-12-17 17:54 ` Bart Schaefer
2006-12-18 11:39 ` Peter Stephenson
2006-12-18 16:09 ` Bart Schaefer
2006-12-18 16:12 ` Peter Stephenson
2006-12-18 16:37 ` Bart Schaefer
2006-12-18 16:51 ` Peter Stephenson
[not found] <p.w.stephenson@ntlworld.com>
2006-12-08 21:23 ` PATCH: _firefox Peter Stephenson
2006-12-08 21:28 ` Peter Stephenson
2006-12-08 21:52 ` Clint Adams
2006-12-17 13:32 ` arno.
2010-05-23 19:58 ` ${(q)...} for newline Peter Stephenson
2010-05-23 20:45 ` Peter Stephenson
2010-05-25 13:25 ` Stephane Chazelas
2010-05-25 14:48 ` Peter Stephenson
2010-05-26 19:54 ` Peter Stephenson
2010-05-25 14:00 ` Bart Schaefer
[not found] <schizo@debian.org>
2006-11-18 3:47 ` error code for failure to execute Clint Adams
2006-11-19 19:50 ` Peter Stephenson
2006-11-19 20:02 ` Clint Adams
2006-11-19 21:33 ` Peter Stephenson
2006-10-26 17:39 PATCH: $! on bg Peter Stephenson
2006-10-28 17:51 ` Bart Schaefer
2006-10-29 12:58 ` Peter Stephenson
2006-10-29 17:01 ` Bart Schaefer
2006-10-30 11:38 ` Peter Stephenson
2006-08-19 18:11 zstyle is badly broken as of 20060817 Bart Schaefer
2006-08-20 16:54 ` Peter Stephenson
2006-08-20 20:44 ` Bart Schaefer
2006-08-20 20:53 ` Bart Schaefer
2006-08-20 21:38 ` Peter Stephenson
2006-08-21 5:44 ` Bart Schaefer
2006-08-21 11:39 ` Vincent Lefevre
2006-08-11 20:03 Bug#335481: zsh: zsh/sched waits for next return to prompt even with NOTIFY set Jared K. Sorensen
2006-09-07 19:25 ` Peter Stephenson
2006-09-08 3:18 ` Bart Schaefer
2006-09-08 11:31 ` Peter Stephenson
2006-09-10 15:26 ` Peter Stephenson
2006-07-30 18:00 env -u completion doesn't work when there is a command Vincent Lefevre
2006-07-30 18:36 ` Bart Schaefer
2006-07-30 21:13 ` Peter Stephenson
[not found] <200607261638.k6QGcE7E010498@news01.csr.com>
[not found] ` <dc507f4a0607270901r5a4c19f2n20a895b8a831ab3@mail.gmail.com>
[not found] ` <060727212432.ZM4920@torch.brasslantern.com>
2006-07-28 9:10 ` Menu-driven version of history-beginning-search-backward Peter Stephenson
2006-07-28 10:08 ` Peter Stephenson
2006-08-01 17:30 ` Peter Stephenson
2006-08-01 20:18 ` Peter Stephenson
2006-08-02 2:49 ` Bart Schaefer
[not found] <20060529075722.GA28846@sci.fi>
[not found] ` <200605291532.k4TFWueM011027@pwslaptop.csr.com>
2006-05-30 17:48 ` Vanishing files ? Peter Stephenson
2006-05-30 22:29 ` Peter Stephenson
2006-05-31 1:08 ` Wayne Davison
2006-05-31 14:11 ` Bart Schaefer
[not found] <EXCHANGE03lhK9atCT1000118c6@exchange03.csr.com>
[not found] ` <20060228140411.GA2150@prunille.vinc17.org>
2006-02-28 14:19 ` 4.3.1 released Peter Stephenson
2006-02-28 14:30 ` Vincent Lefevre
2006-02-28 14:44 ` Peter Stephenson
2006-03-02 17:59 ` Peter Stephenson
2006-02-28 18:45 ` Bart Schaefer
2006-02-28 23:51 ` Peter Stephenson
2006-03-07 19:48 ` "type punned" warnings Wayne Davison
2006-03-07 20:47 ` Peter Stephenson
2006-03-08 10:27 ` Peter Stephenson
2006-03-08 15:47 ` Peter Stephenson
[not found] <20050425063521.GA17598@quark.hightek.org>
[not found] ` <1050425163202.ZM25027@candle.brasslantern.com>
[not found] ` <20050426030308.GA21501@quark.hightek.org>
[not found] ` <200504261834.j3QIYHSa018951@news01.csr.com>
[not found] ` <1050427053638.ZM28743@candle.brasslantern.com>
2005-04-27 9:54 ` localtraps Peter Stephenson
2005-04-27 14:09 ` localtraps Bart Schaefer
2005-05-01 18:54 ` localtraps Vincent Stemen
2005-05-03 10:04 ` localtraps Peter Stephenson
2005-05-03 19:20 ` yodl and Z shell documentation (was localtraps) Vincent Stemen
[not found] ` <zsh@hightek.org>
2005-05-04 9:26 ` Peter Stephenson
2005-05-10 9:45 ` Oliver Kiddle
2005-05-10 14:10 ` Bart Schaefer
2005-05-10 14:42 ` Oliver Kiddle
2005-05-10 15:43 ` Bart Schaefer
2005-05-11 9:59 ` Oliver Kiddle
2005-05-11 15:09 ` Bart Schaefer
2005-05-11 15:21 ` Clint Adams
2005-05-04 1:42 ` localtraps Bart Schaefer
[not found] ` <20050507171938.GA51740@quark.hightek.org>
[not found] ` <5415.1115631148@csr.com>
2005-05-10 18:46 ` localtraps and signal handling on NetBSD Vincent Stemen
2005-05-13 11:26 ` Peter Stephenson
2005-05-14 4:33 ` Vincent Stemen
2005-05-16 10:46 ` Peter Stephenson
2005-05-17 8:15 ` Z shell signal handling Vincent Stemen
2005-05-17 15:42 ` Bart Schaefer
[not found] <16883.11714.845975.423895@cns-build4.cisco.com>
[not found] ` <1050123064401.ZM16256@candle.brasslantern.com>
[not found] ` <200501241052.j0OAqY3S007966@news01.csr.com>
2005-01-24 16:51 ` Is this a bug for zsh 4.2.3? Bart Schaefer
[not found] ` <schaefer@brasslantern.com>
2005-01-24 17:00 ` Peter Stephenson
2005-05-04 9:28 ` localtraps Peter Stephenson
2005-05-04 14:35 ` Compiling without yodl (Re: localtraps) Bart Schaefer
2006-06-17 17:46 ` Recursion error and line numbers Bart Schaefer
2006-06-18 12:38 ` Peter Stephenson
2006-06-18 14:06 ` Bart Schaefer
2006-06-19 10:19 ` Peter Stephenson
2006-07-08 17:58 ` BUG: cmdstack empty Bart Schaefer
2006-07-09 14:44 ` Peter Stephenson
2007-02-10 19:07 ` Quoting problem and crashes with ${(#)var} Bart Schaefer
2007-02-10 22:08 ` Peter Stephenson
2007-02-10 22:10 ` Peter Stephenson
2007-02-13 4:59 ` Bart Schaefer
2007-02-13 21:11 ` Peter Stephenson
2007-02-14 7:48 ` Bart Schaefer
2007-02-14 10:16 ` Peter Stephenson
2007-02-14 16:03 ` Bart Schaefer
2007-02-14 16:19 ` Peter Stephenson
2007-02-25 23:15 ` Bart Schaefer
2007-02-26 10:34 ` Peter Stephenson
2007-02-26 16:13 ` Bart Schaefer
2007-02-26 16:24 ` Peter Stephenson
2007-02-26 17:28 ` Bart Schaefer
2007-02-26 17:36 ` Peter Stephenson
2009-02-06 22:50 ` POSIX and the "&>" operator Bart Schaefer
2009-02-07 0:02 ` Peter Stephenson
2009-02-07 3:51 ` Bart Schaefer
2009-02-07 22:48 ` Peter Stephenson
2009-02-10 2:11 ` Vincent Lefevre
[not found] <pws@csr.com>
2004-02-25 11:24 ` PATCH: terminfo configuration redux Peter Stephenson
2004-02-25 17:21 ` Bart Schaefer
2004-02-25 17:30 ` Peter Stephenson
2004-02-26 10:37 ` Oliver Kiddle
2004-02-25 18:45 ` peta
2004-02-26 12:52 ` Peter Stephenson
2004-02-27 15:13 ` Felix Rosencrantz
2004-02-27 15:22 ` Peter Stephenson
2004-02-27 16:53 ` Felix Rosencrantz
2004-02-29 19:14 ` Peter Stephenson
2004-03-08 17:29 ` Felix Rosencrantz
2004-03-08 17:39 ` Peter Stephenson
2004-03-09 6:18 ` Felix Rosencrantz
2004-03-09 12:15 ` Peter Stephenson
2004-03-10 8:10 ` Felix Rosencrantz
2004-03-10 11:02 ` Peter Stephenson
[not found] ` <200706121751.l5CHpr8D015577@news01.csr.com>
2007-06-12 21:56 ` Calling a zle widget from a function Peter Stephenson
2007-06-12 22:01 ` Peter Stephenson
2007-06-14 13:21 ` Peter Stephenson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20081113210044.4cea912c@pws-pc \
--to=p.w.stephenson@ntlworld.com \
--cc=zsh-workers@sunsite.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).