mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-11 00:51:05 +02:00
40486: Don't warn on creation of MATCH etc. in regex.
This because they are created implicitly rather than by explicit user request, so the warning may not be useful.
This commit is contained in:
parent
caddeca1ac
commit
a32fb005d6
3 changed files with 41 additions and 9 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2017-02-02 Peter Stephenson <p.stephenson@samsung.com>
|
||||||
|
|
||||||
|
* 40486: Src/Modules/regex.c, Src/params.c: don't warn on
|
||||||
|
creation of MATCH etc. from regex test as this is implicit.
|
||||||
|
|
||||||
2017-02-01 Barton E. Schaefer <schaefer@zsh.org>
|
2017-02-01 Barton E. Schaefer <schaefer@zsh.org>
|
||||||
|
|
||||||
* 40483 (cf. Eric Freese: 40482): Src/Modules/zpty.c: Remove zpty
|
* 40483 (cf. Eric Freese: 40482): Src/Modules/zpty.c: Remove zpty
|
||||||
|
|
|
@ -111,7 +111,7 @@ zcond_regex_match(char **a, int id)
|
||||||
*x = NULL;
|
*x = NULL;
|
||||||
}
|
}
|
||||||
if (isset(BASHREMATCH)) {
|
if (isset(BASHREMATCH)) {
|
||||||
setaparam("BASH_REMATCH", arr);
|
assignaparam("BASH_REMATCH", arr, 0);
|
||||||
} else {
|
} else {
|
||||||
zlong offs;
|
zlong offs;
|
||||||
char *ptr;
|
char *ptr;
|
||||||
|
@ -119,7 +119,7 @@ zcond_regex_match(char **a, int id)
|
||||||
|
|
||||||
m = matches;
|
m = matches;
|
||||||
s = metafy(lhstr + m->rm_so, m->rm_eo - m->rm_so, META_DUP);
|
s = metafy(lhstr + m->rm_so, m->rm_eo - m->rm_so, META_DUP);
|
||||||
setsparam("MATCH", s);
|
assignsparam("MATCH", s, 0);
|
||||||
/*
|
/*
|
||||||
* Count the characters before the match.
|
* Count the characters before the match.
|
||||||
*/
|
*/
|
||||||
|
@ -133,7 +133,7 @@ zcond_regex_match(char **a, int id)
|
||||||
ptr += clen;
|
ptr += clen;
|
||||||
leftlen -= clen;
|
leftlen -= clen;
|
||||||
}
|
}
|
||||||
setiparam("MBEGIN", offs + !isset(KSHARRAYS));
|
assigniparam("MBEGIN", offs + !isset(KSHARRAYS), 0);
|
||||||
/*
|
/*
|
||||||
* Add on the characters in the match.
|
* Add on the characters in the match.
|
||||||
*/
|
*/
|
||||||
|
@ -144,7 +144,7 @@ zcond_regex_match(char **a, int id)
|
||||||
ptr += clen;
|
ptr += clen;
|
||||||
leftlen -= clen;
|
leftlen -= clen;
|
||||||
}
|
}
|
||||||
setiparam("MEND", offs + !isset(KSHARRAYS) - 1);
|
assigniparam("MEND", offs + !isset(KSHARRAYS) - 1, 0);
|
||||||
if (nelem) {
|
if (nelem) {
|
||||||
char **mbegin, **mend, **bptr, **eptr;
|
char **mbegin, **mend, **bptr, **eptr;
|
||||||
bptr = mbegin = (char **)zalloc(sizeof(char *)*(nelem+1));
|
bptr = mbegin = (char **)zalloc(sizeof(char *)*(nelem+1));
|
||||||
|
|
37
Src/params.c
37
Src/params.c
|
@ -3192,11 +3192,12 @@ sethparam(char *s, char **val)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set a generic shell number, floating point or integer.
|
* Set a generic shell number, floating point or integer.
|
||||||
|
* Option to warn on setting.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**/
|
/**/
|
||||||
Param
|
mod_export Param
|
||||||
setnparam(char *s, mnumber val)
|
assignnparam(char *s, mnumber val, int flags)
|
||||||
{
|
{
|
||||||
struct value vbuf;
|
struct value vbuf;
|
||||||
Value v;
|
Value v;
|
||||||
|
@ -3248,15 +3249,41 @@ setnparam(char *s, mnumber val)
|
||||||
unqueue_signals();
|
unqueue_signals();
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
check_warn_pm(v->pm, "numeric", !was_unset, 1);
|
if (flags & ASSPM_WARN)
|
||||||
|
check_warn_pm(v->pm, "numeric", !was_unset, 1);
|
||||||
} else {
|
} else {
|
||||||
check_warn_pm(v->pm, "numeric", 0, 1);
|
if (flags & ASSPM_WARN)
|
||||||
|
check_warn_pm(v->pm, "numeric", 0, 1);
|
||||||
}
|
}
|
||||||
setnumvalue(v, val);
|
setnumvalue(v, val);
|
||||||
unqueue_signals();
|
unqueue_signals();
|
||||||
return v->pm;
|
return v->pm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set a generic shell number, floating point or integer.
|
||||||
|
* Warn on setting based on option.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**/
|
||||||
|
mod_export Param
|
||||||
|
setnparam(char *s, mnumber val)
|
||||||
|
{
|
||||||
|
return assignnparam(s, val, ASSPM_WARN);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Simplified interface to assignnparam */
|
||||||
|
|
||||||
|
/**/
|
||||||
|
mod_export Param
|
||||||
|
assigniparam(char *s, zlong val, int flags)
|
||||||
|
{
|
||||||
|
mnumber mnval;
|
||||||
|
mnval.type = MN_INTEGER;
|
||||||
|
mnval.u.l = val;
|
||||||
|
return assignnparam(s, mnval, flags);
|
||||||
|
}
|
||||||
|
|
||||||
/* Simplified interface to setnparam */
|
/* Simplified interface to setnparam */
|
||||||
|
|
||||||
/**/
|
/**/
|
||||||
|
@ -3266,7 +3293,7 @@ setiparam(char *s, zlong val)
|
||||||
mnumber mnval;
|
mnumber mnval;
|
||||||
mnval.type = MN_INTEGER;
|
mnval.type = MN_INTEGER;
|
||||||
mnval.u.l = val;
|
mnval.u.l = val;
|
||||||
return setnparam(s, mnval);
|
return assignnparam(s, mnval, ASSPM_WARN);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue