Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: hzoli change: $foo:s//r/
- X-seq: zsh-workers 319
- From: Thorsten Meinecke <kaefer@xxxxxxxxxxxxxxx>
- To: hzoli@xxxxxxxxxx (Zoltan Hidvegi)
- Subject: Re: hzoli change: $foo:s//r/
- Date: Wed, 16 Aug 1995 03:48:54 +0200 (MET DST)
- Cc: zsh-workers@xxxxxxxxxxxxxxx
- In-reply-to: <9508151702.AA18359@xxxxxxxxxxxxx> from "Zoltan Hidvegi" at Aug 15, 95 07:02:04 pm
- Organization: none. Location: Berlin, Germany
In article "archive/latest/313", Zoltan Hidvegi wrote:
> Anthony Heading wrote:
> > hzoli changelog of Jul 10 says:
> > - $foo:s//r/ gives ... error message ... (194)
> >
> > Now the following used to work
> >
> > % array=(a b c d e)
> > % echo $array:s//\&-\&/
> > a-a b-b c-c d-d e-e
> Maybe we can find an other syntax for that.
In plain unmodified hzoli10.3 the unadorned backslash does exactly that.
$ ./zsh -fc 'echo $ZSH_VERSION
array=(a b c d e)
echo $array:s/\/\&-\&/
'
2.6-beta10-hzoli10.3
a-a b-b c-c d-d e-e
$
Is this just another undocumented feature? Since there's no real need
to escape the delimiter--just choose a different one--the backslash
seems one of the best choices to denote "substitute whole string/ele-
ments of array" to me.
Sincere apologies for my GNUisms breaking hzoli10.2.
Please forgive me.
Thorsten
BTW it is "substitution", isn't it?
--- zsh-2.6-beta10-hzoli10.3/Src/subst.c.orig Wed Aug 16 00:46:45 1995
+++ zsh-2.6-beta10-hzoli10.3/Src/subst.c Wed Aug 16 01:23:57 1995
@@ -905,7 +905,7 @@
*str = aptr + 1;
return n;
} else {
- zerr("bad subtitution", NULL, 0);
+ zerr("bad substitution", NULL, 0);
return NULL;
}
else
@@ -1465,7 +1467,7 @@
del = *ptr1++;
for (ptr2 = ptr1; *ptr2 != del && *ptr2; ptr2++);
if (!*ptr2) {
- zerr("bad subtitution", NULL, 0);
+ zerr("bad substitution", NULL, 0);
return;
}
*ptr2++ = '\0';
--
Thorsten Meinecke
<kaefer@xxxxxxxxxxxxxxx>
Messages sorted by:
Reverse Date,
Date,
Thread,
Author