commit bash-20040805 snapshot

This commit is contained in:
Chet Ramey
2011-12-03 13:34:46 -05:00
parent 8a9c66f622
commit 8ed8525cb1
22 changed files with 4435 additions and 112 deletions
+47
View File
@@ -9816,3 +9816,50 @@ variables.c
pcomplete.c
- make sure COMP_WORDS is not invisible when bind_comp_words returns
- ditto for COMPREPLY in gen_shell_function_matches
8/4
---
braces.c
- fix problem where ${ was ignored but did not increment the open
brace count. Bug reported by Tim Waugh <twaugh@redhat.com>
variables.c
- if make_local_variable finds a variable in the correct context in
the right variable scope, make sure it's not invisible before
returning it
8/5
---
builtins/trap.def
- fixed usage message to show `action' as not optional, though it
actually is when not in posix mode (for a single argument)
8/7
---
configure.in
- kfreebsd-gnu has had its sbrk() problems fixed, and no longer needs
to be configured --without-gnu-malloc
lib/readline/vi_mode.c
- in rl_vi_search, free any saved history line before starting the
search, so failure leaves you at that line, not the last line in
the history (assuming the current line is not the last history line).
Fix from llattanzi@apple.com to replace fix of 7/7
8/9
---
support/Makefile.in
- renamed `mostly-clean' target to `mostlyclean'
8/11
----
lib/readline/vi_mode.c
- make same change for EOL in multibyte character case of
rl_vi_change_char
8/12
----
subst.c
- in verify_substring_values, fix off-by-one error checking bounds of
`offset', esp. in array values (e.g., getting the highest element
of an array)
+41 -1
View File
@@ -9815,4 +9815,44 @@ variables.c
pcomplete.c
- make sure COMP_WORDS is not invisible when bind_comp_words returns
- ditto for COMPREPLY in gen_shell_function_completions
- ditto for COMPREPLY in gen_shell_function_matches
8/4
---
braces.c
- fix problem where ${ was ignored but did not increment the open
brace count. Bug reported by Tim Waugh <twaugh@redhat.com>
variables.c
- if make_local_variable finds a variable in the correct context in
the right variable scope, make sure it's not invisible before
returning it
8/5
---
builtins/trap.def
- fixed usage message to show `action' as not optional, though it
actually is when not in posix mode (for a single argument)
8/7
---
configure.in
- kfreebsd-gnu has had its sbrk() problems fixed, and no longer needs
to be configured --without-gnu-malloc
lib/readline/vi_mode.c
- in rl_vi_search, free any saved history line before starting the
search, so failure leaves you at that line, not the last line in
the history (assuming the current line is not the last history line).
Fix from llattanzi@apple.com to replace fix of 7/7
8/9
---
support/Makefile.in
- renamed `mostly-clean' target to `mostlyclean'
8/11
----
lib/readline/vi_mode.c
- make same change for EOL in multibyte character case of
rl_vi_change_char
+2 -2
View File
@@ -1,5 +1,5 @@
@%:@! /bin/sh
@%:@ From configure.in for Bash 3.0, version 3.166, from autoconf version AC_ACVERSION.
@%:@ From configure.in for Bash 3.0, version 3.167, from autoconf version AC_ACVERSION.
@%:@ Guess values for system-dependent variables and create Makefiles.
@%:@ Generated by GNU Autoconf 2.57 for bash 3.0-release.
@%:@
@@ -1464,7 +1464,7 @@ sparc-netbsd*) opt_bash_malloc=no ;; # needs 8-byte alignment
mips-irix6*) opt_bash_malloc=no ;; # needs 8-byte alignment
m68k-sysv) opt_bash_malloc=no ;; # fixes file descriptor leak in closedir
sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
*-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here
#*-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here
#*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree
*-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
*-aix*) opt_bash_malloc=no ;; # AIX machines
+83 -83
View File
@@ -15,96 +15,96 @@
'configure.in'
],
{
'AC_STRUCT_TM' => 1,
'AC_TYPE_PID_T' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'm4_pattern_forbid' => 1,
'AC_FUNC_OBSTACK' => 1,
'AC_PROG_LEX' => 1,
'AC_FUNC_GETMNTENT' => 1,
'AC_FUNC_REALLOC' => 1,
'AC_FUNC_MEMCMP' => 1,
'AC_FUNC_GETPGRP' => 1,
'AC_CANONICAL_HOST' => 1,
'AC_HEADER_DIRENT' => 1,
'AC_PROG_AWK' => 1,
'AC_HEADER_SYS_WAIT' => 1,
'AM_CONDITIONAL' => 1,
'AC_FUNC_ALLOCA' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AC_STRUCT_TIMEZONE' => 1,
'AC_FUNC_MMAP' => 1,
'AC_TYPE_MODE_T' => 1,
'AC_TYPE_SIZE_T' => 1,
'AC_C_INLINE' => 1,
'AC_FUNC_GETGROUPS' => 1,
'AC_FUNC_FSEEKO' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'AC_FUNC_STRCOLL' => 1,
'AC_INIT' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AM_MAINTAINER_MODE' => 1,
'AM_PROG_CC_C_O' => 1,
'AC_PROG_YACC' => 1,
'AC_FUNC_STRFTIME' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_TYPE_OFF_T' => 1,
'AC_PROG_LN_S' => 1,
'AC_FUNC_MKTIME' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_PROG_RANLIB' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'AC_STRUCT_TM' => 1,
'm4_include' => 1,
'AC_FUNC_SETPGRP' => 1,
'AC_FUNC_GETPGRP' => 1,
'AC_PROG_CXX' => 1,
'AC_HEADER_DIRENT' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_PROG_CC' => 1,
'AC_HEADER_SYS_WAIT' => 1,
'AM_PROG_CC_C_O' => 1,
'AC_HEADER_STDC' => 1,
'AM_GNU_GETTEXT' => 1,
'AC_FUNC_FSEEKO' => 1,
'AC_TYPE_SIZE_T' => 1,
'AC_FUNC_CHOWN' => 1,
'AC_CHECK_TYPES' => 1,
'm4_pattern_allow' => 1,
'AH_OUTPUT' => 1,
'AC_TYPE_UID_T' => 1,
'AC_FUNC_MALLOC' => 1,
'AC_HEADER_MAJOR' => 1,
'AC_HEADER_STAT' => 1,
'AC_FUNC_UTIME_NULL' => 1,
'AC_FUNC_GETMNTENT' => 1,
'AC_FUNC_STRTOD' => 1,
'AC_CONFIG_FILES' => 1,
'AC_FUNC_SETVBUF_REVERSED' => 1,
'AC_FUNC_MEMCMP' => 1,
'AC_FUNC_STAT' => 1,
'AC_PROG_MAKE_SET' => 1,
'AC_FUNC_STRCOLL' => 1,
'AC_FUNC_VPRINTF' => 1,
'AC_FUNC_ERROR_AT_LINE' => 1,
'AC_SUBST' => 1,
'AC_FUNC_OBSTACK' => 1,
'AC_FUNC_MKTIME' => 1,
'AC_PROG_INSTALL' => 1,
'AC_PROG_AWK' => 1,
'AC_PROG_LEX' => 1,
'AC_FUNC_GETGROUPS' => 1,
'AC_FUNC_CLOSEDIR_VOID' => 1,
'AC_FUNC_STRNLEN' => 1,
'AC_CANONICAL_HOST' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_LIBSOURCE' => 1,
'AC_CHECK_HEADERS' => 1,
'include' => 1,
'AC_PATH_X' => 1,
'AC_HEADER_TIME' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_FUNC_MBRTOWC' => 1,
'AC_PROG_CPP' => 1,
'AC_FUNC_UTIME_NULL' => 1,
'AC_DECL_SYS_SIGLIST' => 1,
'AC_CHECK_HEADERS' => 1,
'm4_include' => 1,
'AC_HEADER_STAT' => 1,
'AC_FUNC_GETLOADAVG' => 1,
'AC_PROG_GCC_TRADITIONAL' => 1,
'AC_TYPE_SIGNAL' => 1,
'AC_PROG_RANLIB' => 1,
'AC_FUNC_VPRINTF' => 1,
'AC_PROG_YACC' => 1,
'AC_FUNC_STRNLEN' => 1,
'AC_FUNC_FORK' => 1,
'AH_OUTPUT' => 1,
'AC_STRUCT_TIMEZONE' => 1,
'AC_HEADER_TIME' => 1,
'AC_FUNC_STAT' => 1,
'AC_FUNC_SELECT_ARGTYPES' => 1,
'AC_PROG_CC' => 1,
'include' => 1,
'AC_CHECK_MEMBERS' => 1,
'AC_PROG_INSTALL' => 1,
'AC_FUNC_ERROR_AT_LINE' => 1,
'AM_GNU_GETTEXT' => 1,
'AC_FUNC_STRTOD' => 1,
'AC_HEADER_STDC' => 1,
'AC_CHECK_FUNCS' => 1,
'AC_LIBSOURCE' => 1,
'AC_REPLACE_FNMATCH' => 1,
'AC_CONFIG_FILES' => 1,
'AC_CHECK_TYPES' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_FUNC_CLOSEDIR_VOID' => 1,
'AC_C_CONST' => 1,
'AC_FUNC_STRERROR_R' => 1,
'AC_FUNC_CHOWN' => 1,
'AC_FUNC_SETPGRP' => 1,
'AC_FUNC_SETVBUF_REVERSED' => 1,
'AC_CHECK_LIB' => 1,
'AC_FUNC_WAIT3' => 1,
'AC_PROG_MAKE_SET' => 1,
'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
'AC_FUNC_ALLOCA' => 1,
'AC_FUNC_LSTAT' => 1,
'm4_pattern_allow' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'AC_PROG_CXX' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AC_C_VOLATILE' => 1,
'AC_PATH_X' => 1,
'AC_TYPE_SIGNAL' => 1,
'AC_INIT' => 1,
'AC_C_CONST' => 1,
'AC_C_INLINE' => 1,
'AC_HEADER_MAJOR' => 1,
'AC_PROG_LN_S' => 1,
'AC_REPLACE_FNMATCH' => 1,
'AC_FUNC_SELECT_ARGTYPES' => 1,
'm4_pattern_forbid' => 1,
'AC_CHECK_LIB' => 1,
'AC_FUNC_REALLOC' => 1,
'AC_TYPE_OFF_T' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AC_CHECK_FUNCS' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AM_CONDITIONAL' => 1,
'AC_TYPE_MODE_T' => 1,
'AC_STRUCT_ST_BLOCKS' => 1,
'AC_SUBST' => 1
'AC_DECL_SYS_SIGLIST' => 1,
'AC_TYPE_PID_T' => 1,
'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
'AC_FUNC_GETLOADAVG' => 1,
'AC_FUNC_MALLOC' => 1,
'AC_PROG_GCC_TRADITIONAL' => 1,
'AC_FUNC_WAIT3' => 1,
'AC_CHECK_MEMBERS' => 1,
'AC_C_VOLATILE' => 1,
'AC_FUNC_STRERROR_R' => 1,
'AM_MAINTAINER_MODE' => 1,
'AC_FUNC_FORK' => 1
}
], 'Request' )
);
+1
View File
@@ -402,6 +402,7 @@ brace_gobbler (text, tlen, indx, satisfy)
{
pass_next = 1;
i++;
level++;
continue;
}
#endif
+1 -1
View File
@@ -23,7 +23,7 @@ $PRODUCES trap.c
$BUILTIN trap
$FUNCTION trap_builtin
$SHORT_DOC trap [-lp] [[arg] signal_spec ...]
$SHORT_DOC trap [-lp] [arg signal_spec ...]
The command ARG is to be read and executed when the shell receives
signal(s) SIGNAL_SPEC. If ARG is absent (and a single SIGNAL_SPEC
is supplied) or `-', each specified signal is reset to its original
Vendored
+2 -2
View File
@@ -1,5 +1,5 @@
#! /bin/sh
# From configure.in for Bash 3.0, version 3.166, from autoconf version AC_ACVERSION.
# From configure.in for Bash 3.0, version 3.167, from autoconf version AC_ACVERSION.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.57 for bash 3.0-release.
#
@@ -1464,7 +1464,7 @@ sparc-netbsd*) opt_bash_malloc=no ;; # needs 8-byte alignment
mips-irix6*) opt_bash_malloc=no ;; # needs 8-byte alignment
m68k-sysv) opt_bash_malloc=no ;; # fixes file descriptor leak in closedir
sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
*-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here
#*-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here
#*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree
*-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
*-aix*) opt_bash_malloc=no ;; # AIX machines
+2 -2
View File
@@ -22,7 +22,7 @@ dnl Process this file with autoconf to produce a configure script.
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_REVISION([for Bash 3.0, version 3.166, from autoconf version] AC_ACVERSION)dnl
AC_REVISION([for Bash 3.0, version 3.167, from autoconf version] AC_ACVERSION)dnl
define(bashvers, 3.0)
define(relstatus, release)
@@ -73,7 +73,7 @@ sparc-netbsd*) opt_bash_malloc=no ;; # needs 8-byte alignment
mips-irix6*) opt_bash_malloc=no ;; # needs 8-byte alignment
m68k-sysv) opt_bash_malloc=no ;; # fixes file descriptor leak in closedir
sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
*-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here
#*-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here
#*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree
*-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
*-aix*) opt_bash_malloc=no ;; # AIX machines
+1026
View File
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -1,4 +1,4 @@
This is the Bash FAQ, version 3.27, for Bash version 3.0.
This is the Bash FAQ, version 3.28, for Bash version 3.0.
This document contains a set of frequently-asked questions concerning
Bash, the GNU Bourne-Again Shell. Bash is a freely-available command
@@ -1763,7 +1763,6 @@ These are features that may or may not appear in a future version of bash.
breaking some of the shell functionality into embeddable libraries
a module system like zsh's, using dynamic loading like builtins
date-stamped command history
a bash programmer's guide with a chapter on creating loadable builtins
a better loadable interface to perl with access to the shell builtins and
variables (contributions gratefully accepted)
-8
View File
@@ -276,14 +276,6 @@ rl_maybe_save_line ()
_rl_saved_line_for_history->line = savestring (rl_line_buffer);
_rl_saved_line_for_history->data = (char *)rl_undo_list;
}
#if 0
else if (STREQ (rl_line_buffer, _rl_saved_line_for_history->line) == 0)
{
free (_rl_saved_line_for_history->line);
_rl_saved_line_for_history->line = savestring (rl_line_buffer);
_rl_saved_line_for_history->data = (char *)rl_undo_list; /* XXX possible memleak */
}
#endif
return 0;
}
+2
View File
@@ -276,12 +276,14 @@ rl_maybe_save_line ()
_rl_saved_line_for_history->line = savestring (rl_line_buffer);
_rl_saved_line_for_history->data = (char *)rl_undo_list;
}
#if 0
else if (STREQ (rl_line_buffer, _rl_saved_line_for_history->line) == 0)
{
free (_rl_saved_line_for_history->line);
_rl_saved_line_for_history->line = savestring (rl_line_buffer);
_rl_saved_line_for_history->data = (char *)rl_undo_list; /* XXX possible memleak */
}
#endif
return 0;
}
+12 -6
View File
@@ -272,10 +272,12 @@ rl_vi_search (count, key)
switch (key)
{
case '?':
_rl_free_saved_history_line ();
rl_noninc_forward_search (count, key);
break;
case '/':
_rl_free_saved_history_line ();
rl_noninc_reverse_search (count, key);
break;
@@ -1310,12 +1312,16 @@ rl_vi_change_char (count, key)
rl_vi_delete (1, c);
#if defined (HANDLE_MULTIBYTE)
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
while (_rl_insert_char (1, c))
{
RL_SETSTATE (RL_STATE_MOREINPUT);
c = rl_read_key ();
RL_UNSETSTATE (RL_STATE_MOREINPUT);
}
{
if (rl_point < p) /* Did we retreat at EOL? */
rl_point++;
while (_rl_insert_char (1, c))
{
RL_SETSTATE (RL_STATE_MOREINPUT);
c = rl_read_key ();
RL_UNSETSTATE (RL_STATE_MOREINPUT);
}
}
else
#endif
{
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -4911,7 +4911,7 @@ verify_substring_values (value, substr, vtype, e1p, e2p)
if (*e1p < 0) /* negative offsets count from end */
*e1p += len;
if (*e1p >= len || *e1p < 0)
if (*e1p > len || *e1p < 0)
return (-1);
#if defined (ARRAY_VARS)
+5 -1
View File
@@ -4911,7 +4911,11 @@ verify_substring_values (value, substr, vtype, e1p, e2p)
if (*e1p < 0) /* negative offsets count from end */
*e1p += len;
#if 0
if (*e1p >= len || *e1p < 0)
#else
if (*e1p > len || *e1p < 0)
#endif
return (-1);
#if defined (ARRAY_VARS)
@@ -5002,7 +5006,7 @@ get_var_and_type (varname, value, quoted, varp, valp)
else
return -1;
}
else if ((v = find_variable (varname)) && invisible_p (v) == 0 && array_p (v))
else if ((v = find_variable (varname)) && (invisible_p (v) == 0) && array_p (v))
{
vtype = VT_ARRAYMEMBER;
*varp = v;
+1 -1
View File
@@ -81,7 +81,7 @@ man2html$(EXEEXT): $(OBJ1)
clean:
$(RM) man2html$(EXEEXT)
distclean maintainer-clean mostly-clean: clean
distclean maintainer-clean mostlyclean: clean
$(RM) $(OBJ1)
man2html.o: man2html.c
+87
View File
@@ -0,0 +1,87 @@
#
# Simple Makefile for the support programs.
#
# documentation support: man2html
# testing support: printenv recho zecho
#
# bashbug lives here but is created by the top-level makefile
#
# Currently only man2html is built
#
#
# Copyright (C) 1998 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
#
# Boilerplate
#
topdir = @top_srcdir@
srcdir = @srcdir@
VPATH = .:@srcdir@
BUILD_DIR = @BUILD_DIR@
RM = rm -f
SHELL = @MAKE_SHELL@
CC = @CC@
CC_FOR_BUILD = @CC_FOR_BUILD@
EXEEXT = @EXEEXT@
#
# Compiler options:
#
PROFILE_FLAGS = @PROFILE_FLAGS@
CFLAGS = @CFLAGS@
CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
LOCAL_CFLAGS = @LOCAL_CFLAGS@
DEFS = @DEFS@
LOCAL_DEFS = @LOCAL_DEFS@
LOCAL_LDFLAGS = @LOCAL_LDFLAGS@
LIBS = @LIBS@
LDFLAGS = @LDFLAGS@ $(LOCAL_LDFLAGS) $(CFLAGS)
LDFLAGS_FOR_BUILD = $(LDFLAGS)
INCLUDES = -I${BUILD_DIR} -I${topdir}
BASE_CCFLAGS = ${PROFILE_FLAGS} $(DEFS) $(LOCAL_DEFS) $(SYSTEM_FLAGS) \
${INCLUDES} $(LOCAL_CFLAGS)
CCFLAGS = $(BASE_CCFLAGS) $(CPPFLAGS) $(CFLAGS)
CCFLAGS_FOR_BUILD = $(BASE_CCFLAGS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD)
SRC1 = man2html.c
OBJ1 = man2html.o
.c.o:
$(RM) $@
$(CC_FOR_BUILD) -c $(CCFLAGS_FOR_BUILD) $<
all: man2html$(EXEEXT)
man2html$(EXEEXT): $(OBJ1)
$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) $(OBJ1) -o $@ ${LIBS}
clean:
$(RM) man2html$(EXEEXT)
distclean maintainer-clean mostly-clean: clean
$(RM) $(OBJ1)
man2html.o: man2html.c
+1 -1
View File
@@ -85,7 +85,7 @@ command: usage: command [-pVv] command [arg ...]
./errors.tests: line 213: /bin/sh + 0: syntax error: operand expected (error token is "/bin/sh + 0")
./errors.tests: line 216: trap: NOSIG: invalid signal specification
./errors.tests: line 219: trap: -s: invalid option
trap: usage: trap [-lp] [[arg] signal_spec ...]
trap: usage: trap [-lp] [arg signal_spec ...]
./errors.tests: line 225: return: can only `return' from a function or sourced script
./errors.tests: line 229: break: 0: loop count out of range
./errors.tests: line 233: continue: 0: loop count out of range
+100
View File
@@ -0,0 +1,100 @@
./errors.tests: line 17: alias: -x: invalid option
alias: usage: alias [-p] [name[=value] ... ]
./errors.tests: line 18: unalias: -x: invalid option
unalias: usage: unalias [-a] name [name ...]
./errors.tests: line 19: alias: hoowah: not found
./errors.tests: line 20: unalias: hoowah: not found
./errors.tests: line 23: `1': not a valid identifier
declare -fr func
./errors.tests: line 36: func: readonly function
./errors.tests: line 39: unset: -x: invalid option
unset: usage: unset [-f] [-v] [name ...]
./errors.tests: line 42: unset: func: cannot unset: readonly function
./errors.tests: line 45: declare: func: readonly function
./errors.tests: line 49: unset: XPATH: cannot unset: readonly variable
./errors.tests: line 52: unset: `/bin/sh': not a valid identifier
./errors.tests: line 55: unset: cannot simultaneously unset a function and a variable
./errors.tests: line 58: declare: -z: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...]
./errors.tests: line 60: declare: `-z': not a valid identifier
./errors.tests: line 61: declare: `/bin/sh': not a valid identifier
./errors.tests: line 65: declare: cannot use `-f' to make functions
./errors.tests: line 68: exec: -i: invalid option
exec: usage: exec [-cl] [-a name] file [redirection ...]
./errors.tests: line 72: export: XPATH: not a function
./errors.tests: line 75: break: only meaningful in a `for', `while', or `until' loop
./errors.tests: line 76: continue: only meaningful in a `for', `while', or `until' loop
./errors.tests: line 79: shift: label: numeric argument required
./errors.tests: line 84: shift: too many arguments
./errors.tests: line 90: let: expression expected
./errors.tests: line 93: local: can only be used in a function
./errors.tests: line 96: logout: not login shell: use `exit'
./errors.tests: line 99: hash: notthere: not found
./errors.tests: line 102: hash: -v: invalid option
hash: usage: hash [-lr] [-p pathname] [-dt] [name ...]
./errors.tests: line 106: hash: hashing disabled
./errors.tests: line 109: export: `AA[4]': not a valid identifier
./errors.tests: line 110: readonly: `AA[4]': not a valid identifier
./errors.tests: line 113: [-2]: bad array subscript
./errors.tests: line 117: AA: readonly variable
./errors.tests: line 121: AA: readonly variable
./errors.tests: line 129: shift: 5: shift count out of range
./errors.tests: line 130: shift: -2: shift count out of range
./errors.tests: line 133: shopt: no_such_option: invalid shell option name
./errors.tests: line 134: shopt: no_such_option: invalid shell option name
./errors.tests: line 137: umask: 09: octal number out of range
./errors.tests: line 138: umask: `:': invalid symbolic mode character
./errors.tests: line 139: umask: `:': invalid symbolic mode operator
./errors.tests: line 142: umask: -i: invalid option
umask: usage: umask [-p] [-S] [mode]
./errors.tests: line 146: umask: `u': invalid symbolic mode character
./errors.tests: line 155: VAR: readonly variable
./errors.tests: line 158: declare: VAR: readonly variable
./errors.tests: line 159: declare: VAR: readonly variable
./errors.tests: line 161: declare: unset: not found
./errors.tests: line 164: VAR: readonly variable
./errors.tests: command substitution: line 168: syntax error: unexpected end of file
./errors.tests: command substitution: line 168: syntax error near unexpected token `done'
./errors.tests: command substitution: line 168: ` for z in 1 2 3; done '
./errors.tests: line 171: cd: HOME not set
./errors.tests: line 172: cd: /tmp/xyz.bash: No such file or directory
./errors.tests: line 174: cd: OLDPWD not set
./errors.tests: line 175: cd: /bin/sh: Not a directory
./errors.tests: line 177: cd: /tmp/cd-notthere: No such file or directory
./errors.tests: line 180: .: filename argument required
.: usage: . filename [arguments]
./errors.tests: line 181: source: filename argument required
source: usage: source filename [arguments]
./errors.tests: line 184: .: -i: invalid option
.: usage: . filename [arguments]
./errors.tests: line 187: set: -q: invalid option
set: usage: set [--abefhkmnptuvxBCHP] [-o option] [arg ...]
./errors.tests: line 190: enable: sh: not a shell builtin
./errors.tests: line 190: enable: bash: not a shell builtin
./errors.tests: line 193: shopt: cannot set and unset shell options simultaneously
./errors.tests: line 196: read: var: invalid timeout specification
./errors.tests: line 199: read: `/bin/sh': not a valid identifier
./errors.tests: line 202: VAR: readonly variable
./errors.tests: line 205: readonly: -x: invalid option
readonly: usage: readonly [-af] [name[=value] ...] or readonly -p
./errors.tests: line 208: eval: -i: invalid option
eval: usage: eval [arg ...]
./errors.tests: line 209: command: -i: invalid option
command: usage: command [-pVv] command [arg ...]
./errors.tests: line 212: /bin/sh + 0: syntax error: operand expected (error token is "/bin/sh + 0")
./errors.tests: line 213: /bin/sh + 0: syntax error: operand expected (error token is "/bin/sh + 0")
./errors.tests: line 216: trap: NOSIG: invalid signal specification
./errors.tests: line 219: trap: -s: invalid option
trap: usage: trap [-lp] [[arg] signal_spec ...]
./errors.tests: line 225: return: can only `return' from a function or sourced script
./errors.tests: line 229: break: 0: loop count out of range
./errors.tests: line 233: continue: 0: loop count out of range
./errors.tests: line 238: builtin: bash: not a shell builtin
./errors.tests: line 242: bg: no job control
./errors.tests: line 243: fg: no job control
./errors.tests: line 246: kill: -s: option requires an argument
./errors.tests: line 248: kill: S: invalid signal specification
./errors.tests: line 250: kill: `': not a pid or valid job spec
kill: usage: kill [-s sigspec | -n signum | -sigspec] [pid | job]... or kill -l [sigspec]
./errors.tests: line 255: set: trackall: invalid option name
./errors.tests: line 262: `!!': not a valid identifier
+4 -1
View File
@@ -1599,7 +1599,10 @@ make_local_variable (name)
/* local foo; local foo; is a no-op. */
old_var = find_variable (name);
if (old_var && local_p (old_var) && old_var->context == variable_context)
return (old_var);
{
VUNSETATTR (old_var, att_invisible);
return (old_var);
}
was_tmpvar = old_var && tempvar_p (old_var);
if (was_tmpvar)