Add more SET_LINENO instructions in long argument lists

This commit is contained in:
Guido van Rossum 1998-12-10 16:56:22 +00:00
parent f5046d1aea
commit ca90605678

View File

@ -1168,11 +1168,17 @@ com_call_function(c, n)
else { else {
PyObject *keywords = NULL; PyObject *keywords = NULL;
int i, na, nk; int i, na, nk;
int lineno = n->n_lineno;
REQ(n, arglist); REQ(n, arglist);
na = 0; na = 0;
nk = 0; nk = 0;
for (i = 0; i < NCH(n); i += 2) { for (i = 0; i < NCH(n); i += 2) {
com_argument(c, CHILD(n, i), &keywords); node *ch = CHILD(n, i);
if (ch->n_lineno != lineno) {
lineno = ch->n_lineno;
com_addoparg(c, SET_LINENO, lineno);
}
com_argument(c, ch, &keywords);
if (keywords == NULL) if (keywords == NULL)
na++; na++;
else else