From fd2ca229ddfc913f14f3b4b27fe8dcb25a5bba1d Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Fri, 2 Dec 2016 16:01:04 +0000 Subject: 40067: internal: Document 'cmatcher', parse_cmatcher(), 'comptoend', unsetparam_pm(), and getindex(). --- ChangeLog | 6 ++++++ Src/Zle/comp.h | 4 +++- Src/Zle/complete.c | 12 ++++++++++-- Src/params.c | 18 +++++++++++++++++- 4 files changed, 36 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index b521687cc..20574d17e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2016-12-03 Daniel Shahaf + + * 40067: Src/Zle/comp.h, Src/Zle/complete.c, Src/params.c: + internal: Document 'cmatcher', parse_cmatcher(), 'comptoend', + unsetparam_pm(), and getindex(). + 2016-12-03 Daniel Hahler * 40029: Functions/VCS_Info/Backends/VCS_INFO_get_data_git: diff --git a/Src/Zle/comp.h b/Src/Zle/comp.h index 3711fde29..3e9834560 100644 --- a/Src/Zle/comp.h +++ b/Src/Zle/comp.h @@ -153,7 +153,9 @@ struct cmatcher { Cpattern line; /* what matches on the line */ int llen; /* length of line pattern */ Cpattern word; /* what matches in the word */ - int wlen; /* length of word pattern */ + int wlen; /* length of word pattern, or: + -1: word pattern is one asterisk + -2: word pattern is two asterisks */ Cpattern left; /* left anchor */ int lalen; /* length of left anchor */ Cpattern right; /* right anchor */ diff --git a/Src/Zle/complete.c b/Src/Zle/complete.c index 7980518b7..48fcd4751 100644 --- a/Src/Zle/complete.c +++ b/Src/Zle/complete.c @@ -67,7 +67,7 @@ char *compiprefix, *compexact, *compexactstr, *comppatinsert, - *comptoend, + *comptoend, /* compstate[to_end]; populates 'movetoend' */ *compoldlist, *compoldins, *compvared; @@ -227,7 +227,15 @@ cpcpattern(Cpattern o) return r; } -/* Parse a string for matcher control, containing multiple matchers. */ +/* + * Parse a string for matcher control, containing multiple matchers. + * + * 's' is the string to be parsed. + * + * 'name' is the name of the builtin from which this is called, for errors. + * + * Return 'pcm_err' on error; a NULL return value means ... + */ /**/ mod_export Cmatcher diff --git a/Src/params.c b/Src/params.c index aa8b196bd..21a910190 100644 --- a/Src/params.c +++ b/Src/params.c @@ -1761,6 +1761,18 @@ getarg(char **str, int *inv, Value v, int a2, zlong *w, return r; } +/* + * Parse a subscript. + * + * pptr: In/Out parameter. On entry, *ptr points to a "[foo]" string. On exit + * it will point one past the closing bracket. + * + * v: In/Out parameter. Its .start and .end members (at least) will be updated + * with the parsed indices. + * + * flags: can be either SCANPM_DQUOTED or zero. Other bits are not used. + */ + /**/ int getindex(char **pptr, Value v, int flags) @@ -3245,7 +3257,11 @@ unsetparam(char *s) unqueue_signals(); } -/* Unset a parameter */ +/* Unset a parameter + * + * altflag: if true, don't remove pm->ename from the environment + * exp: See stdunsetfn() + */ /**/ mod_export int -- cgit 1.4.1