instead of the shell metacharacters to split words, so programmable
completion does the same thing readline does internally. Reported
by Vasily Tarasov <vtaras@sw.ru>
+
+ 10/16
+ -----
+bashline.c
+ - When completing a command name beginnig with a tilde and containing
+ escaped specical characters, dequote the filename before prefixing
+ it to the matches, so the escapes are not quoted again. Reported
+ by neil@s-z.org
+
+ 10/17
+ -----
+expr.c
+ - in readtok(), don't reset lasttp if we've consumed the whitespace
+ at the end of the expression string. Fixes error message problem
+ reported by <anmaster@tele2.se>
if (*hint_text == '~')
{
int l, tl, vl, dl;
- char *rd;
+ char *rd, *dh;
+
+ dh = bash_dequote_filename ((char *)hint_text, 0);
+
vl = strlen (val);
- tl = strlen (hint_text);
+ tl = strlen (dh);
#if 0
l = vl - hint_len; /* # of chars added */
#else
free (rd);
#endif
temp = (char *)xmalloc (l + 2 + tl);
- strcpy (temp, hint_text);
+ strcpy (temp, dh);
strcpy (temp + tl, val + vl - l);
+ free (dh);
}
else
temp = savestring (val);
It has no direct C file production, but defines builtins for the Bash
builtin help command.
-Copyright (C) 1987-2006 Free Software Foundation, Inc.
+Copyright (C) 1987-2007 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA.
$BUILTIN for
-$SHORT_DOC for NAME [in WORDS ... ;] do COMMANDS; done
+$SHORT_DOC for NAME [in WORDS ... ] ; do COMMANDS; done
The `for' loop executes a sequence of commands for each member in a
list of items. If `in WORDS ...;' is not present, then `in "$@"' is
assumed. For each element in WORDS, NAME is set to that element, and
if (c)
cp++;
- lasttp = tp = cp - 1;
-
if (c == '\0')
{
lasttok = curtok;
tp = cp;
return;
}
+ lasttp = tp = cp - 1;
if (legal_variable_starter (c))
{