diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Src/parse.c | 16 |
2 files changed, 11 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog index fc7b9821f..6d40cc049 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2020-03-22 Daniel Shahaf <d.s@daniel.shahaf.name> + * 45583/0006: Src/parse.c: internal: Add some comments for + orientation. No functional change. + * 45583/0005: Src/parse.c: internal: Document the WC_FUNCDEF data layout for anonymous functions with arguments (follow-up to 29492) diff --git a/Src/parse.c b/Src/parse.c index 6e79f6c4b..6ca6f33be 100644 --- a/Src/parse.c +++ b/Src/parse.c @@ -1676,7 +1676,7 @@ par_funcdef(int *cmplx) zshlex(); p = ecadd(0); - ecadd(0); + ecadd(0); /* p + 1 */ while (tok == STRING) { if ((*tokstr == Inbrace || *tokstr == '{') && @@ -1688,9 +1688,9 @@ par_funcdef(int *cmplx) num++; zshlex(); } - ecadd(0); - ecadd(0); - ecadd(0); + ecadd(0); /* p + num + 2 */ + ecadd(0); /* p + num + 3 */ + ecadd(0); /* p + num + 4 */ nocorrect = 0; incmdpos = 1; @@ -1728,15 +1728,15 @@ par_funcdef(int *cmplx) ecadd(WCB_END()); ecbuf[p + num + 2] = so - oecssub; - ecbuf[p + num + 3] = ecsoffs - so; - ecbuf[p + num + 4] = ecnpats; - ecbuf[p + 1] = num; + ecbuf[p + num + 3] = ecsoffs - so; /* "length of string table" */ + ecbuf[p + num + 4] = ecnpats; /* "number of patterns for body" */ + ecbuf[p + 1] = num; /* "number of names" */ ecnpats = onp; ecssub = oecssub; ecnfunc++; - ecbuf[p] = WCB_FUNCDEF(ecused - 1 - p); + ecbuf[p] = WCB_FUNCDEF(ecused - 1 - p); /* "offset to after body" */ /* If it's an anonymous function... */ if (num == 0) { |