aboutsummaryrefslogtreecommitdiffstats
path: root/awkgram.y
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2015-06-29 20:36:50 +0300
committerArnold D. Robbins <arnold@skeeve.com>2015-06-29 20:36:50 +0300
commit5cb179dbcfe1503b2eaffa87b5f7502f41482be2 (patch)
tree917ebd36146fb87b8ecb39fb1cca9f6b4e7e02ff /awkgram.y
parent2befea585a321d9d092bfb99cbfa65350a839752 (diff)
downloadegawk-5cb179dbcfe1503b2eaffa87b5f7502f41482be2.tar.gz
egawk-5cb179dbcfe1503b2eaffa87b5f7502f41482be2.tar.bz2
egawk-5cb179dbcfe1503b2eaffa87b5f7502f41482be2.zip
Debugger fix, eval for builtin extensions + test.
Diffstat (limited to 'awkgram.y')
-rw-r--r--awkgram.y10
1 files changed, 8 insertions, 2 deletions
diff --git a/awkgram.y b/awkgram.y
index 4f223797..18530eb1 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -4006,14 +4006,20 @@ retry:
/* allow parameter names to shadow the names of gawk extension built-ins */
if ((tokentab[mid].flags & GAWKX) != 0) {
+ NODE *f;
+
switch (want_param_names) {
case FUNC_HEADER:
/* in header, defining parameter names */
goto out;
case FUNC_BODY:
/* in body, name must be in symbol table for it to be a parameter */
- if (lookup(tokstart) != NULL)
- goto out;
+ if ((f = lookup(tokstart)) != NULL) {
+ if (f->type == Node_builtin_func)
+ break;
+ else
+ goto out;
+ }
/* else
fall through */
case DONT_CHECK: