summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Src/parse.c16
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) {