mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-01-30 15:02:18 +01:00
32954 plus new test: [[ ... = ...(#q...) ]] shouldn't force a glob.
The (#q...) expression should simply be removed to leave a normal pattern as before
This commit is contained in:
parent
b516dc37ac
commit
6116f1dafa
3 changed files with 10 additions and 4 deletions
|
@ -1,5 +1,9 @@
|
|||
2014-08-04 Peter Stephenson <p.w.stephenson@ntlworld.com>
|
||||
|
||||
* 32954 (plus new test): Src/cond.c, Test/D02glob.ztst:
|
||||
(#q) on patterns with [[ ... = ... ] and [[ ... != ... ]]
|
||||
shouldn't force a glob, it should simply be ignored.
|
||||
|
||||
* unposted: Src/subst.c: remove unused variables.
|
||||
|
||||
2014-08-04 Mikael Magnusson <mikachu@gmail.com>
|
||||
|
|
|
@ -297,8 +297,7 @@ evalcond(Estate state, char *fromtest)
|
|||
|
||||
right = dupstring(opat = ecrawstr(state->prog, state->pc,
|
||||
&htok));
|
||||
if (htok)
|
||||
cond_subst(&right, !fromtest);
|
||||
singsub(&right);
|
||||
save = (!(state->prog->flags & EF_HEAP) &&
|
||||
!strcmp(opat, right) && pprog != dummy_patprog2);
|
||||
|
||||
|
|
|
@ -533,14 +533,12 @@
|
|||
cd glob.tmp
|
||||
[[ -n a*(#qN) ]] && print File beginning with a
|
||||
[[ -z z*(#qN) ]] && print No file beginning with z
|
||||
[[ "a b c" = ?(#q) ]] && print Multiple files matched
|
||||
setopt nonomatch
|
||||
[[ -n z*(#q) ]] && print Normal string if nullglob not set
|
||||
)
|
||||
0:Force glob expansion in conditions using (#q)
|
||||
>File beginning with a
|
||||
>No file beginning with z
|
||||
>Multiple files matched
|
||||
>Normal string if nullglob not set
|
||||
|
||||
(){ print $#@ } glob.tmp/dir*(Y1)
|
||||
|
@ -562,3 +560,8 @@
|
|||
>Globs before last path component
|
||||
>Respects qualifiers
|
||||
>Argument required
|
||||
|
||||
[[ "ce fichier n'existe pas" = (#b)ce\ (f[^ ]#)\ *s(#q./) ]]
|
||||
print $match[1]
|
||||
0:(#q) is ignored completely in conditional pattern matching
|
||||
>fichier
|
||||
|
|
Loading…
Reference in a new issue