diff options
author | Chet Ramey <chet.ramey@case.edu> | 2011-11-21 20:49:12 -0500 |
---|---|---|
committer | Chet Ramey <chet.ramey@case.edu> | 2011-11-21 20:49:12 -0500 |
commit | 89a92869e56aba4e4cab2d639c00a86f0545c862 (patch) | |
tree | e1cd4da50318af8ab1f3141d39d4b0b8e1e7c500 /pcomplete.c | |
parent | 17345e5ad288f7543b77b23a25aa380eacc279f2 (diff) | |
download | android_external_bash-89a92869e56aba4e4cab2d639c00a86f0545c862.tar.gz android_external_bash-89a92869e56aba4e4cab2d639c00a86f0545c862.tar.bz2 android_external_bash-89a92869e56aba4e4cab2d639c00a86f0545c862.zip |
Bash-4.0 patchlevel 38
Diffstat (limited to 'pcomplete.c')
-rw-r--r-- | pcomplete.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/pcomplete.c b/pcomplete.c index e1ccaac..40fcc34 100644 --- a/pcomplete.c +++ b/pcomplete.c @@ -1032,6 +1032,7 @@ gen_shell_function_matches (cs, text, line, ind, lwords, nw, cw) cmdlist = build_arg_list (funcname, text, lwords, cw); pps = &ps; + save_parser_state (pps); begin_unwind_frame ("gen-shell-function-matches"); add_unwind_protect (restore_parser_state, (char *)pps); add_unwind_protect (dispose_words, (char *)cmdlist); @@ -1174,13 +1175,15 @@ command_line_to_word_list (line, llen, sentinel, nwp, cwp) { WORD_LIST *ret; char *delims; + int i, j; -#if 0 - delims = "()<>;&| \t\n"; /* shell metacharacters break words */ -#else - delims = rl_completer_word_break_characters; -#endif + delims = xmalloc (strlen (rl_completer_word_break_characters) + 1); + for (i = j = 0; rl_completer_word_break_characters[i]; i++) + if (rl_completer_word_break_characters[i] != '\'' && rl_completer_word_break_characters[i] != '"') + delims[j++] = rl_completer_word_break_characters[i]; + delims[j] = '\0'; ret = split_at_delims (line, llen, delims, sentinel, nwp, cwp); + free (delims); return (ret); } |