summaryrefslogtreecommitdiff
path: root/Src
diff options
context:
space:
mode:
Diffstat (limited to 'Src')
-rw-r--r--Src/builtin.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/Src/builtin.c b/Src/builtin.c
index 36b780e8c..95f3b6f57 100644
--- a/Src/builtin.c
+++ b/Src/builtin.c
@@ -1909,7 +1909,7 @@ typeset_single(char *cname, char *pname, Param pm, int func,
"%s: array elements must be scalar", pname, 0);
return NULL;
}
- } else if (isident(pname)) {
+ } else if (isident(pname) && !idigit(*pname)) {
/*
* Create a new node for a parameter with the flags in `on' minus the
* readonly flag
@@ -1918,7 +1918,10 @@ typeset_single(char *cname, char *pname, Param pm, int func,
DPUTS(!pm, "BUG: parameter not created");
pm->ct = auxlen;
} else {
- zerr("not an identifier: %s", pname, 0);
+ if (isident(pname))
+ zerrnam(cname, "not valid in this context: %s", pname, 0);
+ else
+ zerrnam(cname, "not an identifier: %s", pname, 0);
return NULL;
}