mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-06-27 07:43:07 +02:00
commit bash-20090129 snapshot
This commit is contained in:
@@ -7457,3 +7457,31 @@ configure.in
|
||||
config.h.in
|
||||
- empty define for sig_atomic_t
|
||||
- empty define for volatile
|
||||
|
||||
1/27
|
||||
----
|
||||
subst.c
|
||||
- audit calls to add_character and change to add_ifs_character (which
|
||||
quotes characters in $IFS). Affects primarily `:', `=', and `~'.
|
||||
Fixes bug reported by Jan Schampera <jan.schampera@web.de>; fix
|
||||
suggested by Stephane Chazelas <stephane_chazelas@yahoo.fr>
|
||||
|
||||
2/1
|
||||
---
|
||||
configure.in
|
||||
- call AC_C_RESTRICT
|
||||
|
||||
config.h.in
|
||||
- add empty defintion for `restrict'
|
||||
|
||||
pcomplete.c
|
||||
- use unwind_protects around call to execute_shell_function in
|
||||
gen_shell_function_matches to prevent data corruption if
|
||||
throw_to_top_level is called. Bug report and fix from
|
||||
werner@suse.de.
|
||||
|
||||
execute_cmd.c
|
||||
- don't clamp CPU usage at 100% in print_formatted_time. Bug reported
|
||||
by Linda Walsh <bash@tlinx.org>
|
||||
|
||||
[bash-4.0-release frozen]
|
||||
|
||||
@@ -7452,3 +7452,34 @@ aclocal.m4
|
||||
|
||||
configure.in
|
||||
- call BASH_TYPE_SIG_ATOMIC_T
|
||||
- call AC_C_VOLATILE
|
||||
|
||||
config.h.in
|
||||
- empty define for sig_atomic_t
|
||||
- empty define for volatile
|
||||
|
||||
1/27
|
||||
----
|
||||
subst.c
|
||||
- audit calls to add_character and change to add_ifs_character (which
|
||||
quotes characters in $IFS). Affects primarily `:', `=', and `~'.
|
||||
Fixes bug reported by Jan Schampera <jan.schampera@web.de>; fix
|
||||
suggested by Stephane Chazelas <stephane_chazelas@yahoo.fr>
|
||||
|
||||
2/1
|
||||
---
|
||||
configure.in
|
||||
- call AC_C_RESTRICT
|
||||
|
||||
config.h.in
|
||||
- add empty defintion for `restrict'
|
||||
|
||||
pcomplete.c
|
||||
- use unwind_protects around call to execute_shell_function in
|
||||
gen_shell_function_matches to prevent data corruption if
|
||||
throw_to_top_level is called. Bug report and fix from
|
||||
werner@suse.de.
|
||||
|
||||
execute_cmd.c
|
||||
- don't clamp CPU usage at 100% in print_formatted_time. Bug reported
|
||||
by Linda Walsh <bash@tlinx.org>
|
||||
|
||||
+87
-11
@@ -1,7 +1,7 @@
|
||||
@%:@! /bin/sh
|
||||
@%:@ From configure.in for Bash 4.0, version 4.011.
|
||||
@%:@ From configure.in for Bash 4.0, version 4.012.
|
||||
@%:@ Guess values for system-dependent variables and create Makefiles.
|
||||
@%:@ Generated by GNU Autoconf 2.62 for bash 4.0-rc1.
|
||||
@%:@ Generated by GNU Autoconf 2.62 for bash 4.0-release.
|
||||
@%:@
|
||||
@%:@ Report bugs to <bug-bash@gnu.org>.
|
||||
@%:@
|
||||
@@ -597,8 +597,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='bash'
|
||||
PACKAGE_TARNAME='bash'
|
||||
PACKAGE_VERSION='4.0-rc1'
|
||||
PACKAGE_STRING='bash 4.0-rc1'
|
||||
PACKAGE_VERSION='4.0-release'
|
||||
PACKAGE_STRING='bash 4.0-release'
|
||||
PACKAGE_BUGREPORT='bug-bash@gnu.org'
|
||||
|
||||
ac_unique_file="shell.h"
|
||||
@@ -1410,7 +1410,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures bash 4.0-rc1 to adapt to many kinds of systems.
|
||||
\`configure' configures bash 4.0-release to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1475,7 +1475,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of bash 4.0-rc1:";;
|
||||
short | recursive ) echo "Configuration of bash 4.0-release:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1648,7 +1648,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
bash configure 4.0-rc1
|
||||
bash configure 4.0-release
|
||||
generated by GNU Autoconf 2.62
|
||||
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
@@ -1662,7 +1662,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by bash $as_me 4.0-rc1, which was
|
||||
It was created by bash $as_me 4.0-release, which was
|
||||
generated by GNU Autoconf 2.62. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -2072,7 +2072,7 @@ ac_config_headers="$ac_config_headers config.h"
|
||||
|
||||
|
||||
BASHVERS=4.0
|
||||
RELSTATUS=rc1
|
||||
RELSTATUS=release
|
||||
|
||||
case "$RELSTATUS" in
|
||||
alp*|bet*|dev*|rc*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
|
||||
@@ -7029,6 +7029,82 @@ _ACEOF
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: checking for C/C++ restrict keyword" >&5
|
||||
$as_echo_n "checking for C/C++ restrict keyword... " >&6; }
|
||||
if test "${ac_cv_c_restrict+set}" = set; then
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_cv_c_restrict=no
|
||||
# The order here caters to the fact that C++ does not require restrict.
|
||||
for ac_kw in __restrict __restrict__ _Restrict restrict; do
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
typedef int * int_ptr;
|
||||
int foo (int_ptr $ac_kw ip) {
|
||||
return ip[0];
|
||||
}
|
||||
int
|
||||
main ()
|
||||
{
|
||||
int s[1];
|
||||
int * $ac_kw t = s;
|
||||
t[0] = 0;
|
||||
return foo(t)
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (ac_try="$ac_compile"
|
||||
case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo") >&5
|
||||
(eval "$ac_compile") 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } && {
|
||||
test -z "$ac_c_werror_flag" ||
|
||||
test ! -s conftest.err
|
||||
} && test -s conftest.$ac_objext; then
|
||||
ac_cv_c_restrict=$ac_kw
|
||||
else
|
||||
$as_echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
|
||||
fi
|
||||
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
test "$ac_cv_c_restrict" != no && break
|
||||
done
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_restrict" >&5
|
||||
$as_echo "$ac_cv_c_restrict" >&6; }
|
||||
|
||||
|
||||
case $ac_cv_c_restrict in
|
||||
restrict) ;;
|
||||
no) cat >>confdefs.h <<\_ACEOF
|
||||
@%:@define restrict /**/
|
||||
_ACEOF
|
||||
;;
|
||||
*) cat >>confdefs.h <<_ACEOF
|
||||
@%:@define restrict $ac_cv_c_restrict
|
||||
_ACEOF
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
|
||||
MKINSTALLDIRS=
|
||||
@@ -30353,7 +30429,7 @@ exec 6>&1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by bash $as_me 4.0-rc1, which was
|
||||
This file was extended by bash $as_me 4.0-release, which was
|
||||
generated by GNU Autoconf 2.62. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -30406,7 +30482,7 @@ Report bugs to <bug-autoconf@gnu.org>."
|
||||
_ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_version="\\
|
||||
bash config.status 4.0-rc1
|
||||
bash config.status 4.0-release
|
||||
configured by $0, generated by GNU Autoconf 2.62,
|
||||
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
||||
|
||||
|
||||
+11
-11
@@ -15,25 +15,25 @@
|
||||
'configure.in'
|
||||
],
|
||||
{
|
||||
'_LT_AC_TAGCONFIG' => 1,
|
||||
'AM_PROG_F77_C_O' => 1,
|
||||
'AC_INIT' => 1,
|
||||
'_LT_AC_TAGCONFIG' => 1,
|
||||
'm4_pattern_forbid' => 1,
|
||||
'_AM_COND_IF' => 1,
|
||||
'AC_INIT' => 1,
|
||||
'AC_CANONICAL_TARGET' => 1,
|
||||
'AC_SUBST' => 1,
|
||||
'_AM_COND_IF' => 1,
|
||||
'AC_CONFIG_LIBOBJ_DIR' => 1,
|
||||
'AC_FC_SRCEXT' => 1,
|
||||
'AC_SUBST' => 1,
|
||||
'AC_CANONICAL_HOST' => 1,
|
||||
'AC_FC_SRCEXT' => 1,
|
||||
'AC_PROG_LIBTOOL' => 1,
|
||||
'AM_INIT_AUTOMAKE' => 1,
|
||||
'AC_CONFIG_SUBDIRS' => 1,
|
||||
'AM_AUTOMAKE_VERSION' => 1,
|
||||
'LT_CONFIG_LTDL_DIR' => 1,
|
||||
'AC_REQUIRE_AUX_FILE' => 1,
|
||||
'AC_CONFIG_LINKS' => 1,
|
||||
'm4_sinclude' => 1,
|
||||
'AC_REQUIRE_AUX_FILE' => 1,
|
||||
'LT_SUPPORTED_TAG' => 1,
|
||||
'm4_sinclude' => 1,
|
||||
'AM_MAINTAINER_MODE' => 1,
|
||||
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
|
||||
'_m4_warn' => 1,
|
||||
@@ -49,13 +49,13 @@
|
||||
'AC_CANONICAL_BUILD' => 1,
|
||||
'AC_FC_FREEFORM' => 1,
|
||||
'AH_OUTPUT' => 1,
|
||||
'_AM_SUBST_NOTMAKE' => 1,
|
||||
'AC_CONFIG_AUX_DIR' => 1,
|
||||
'sinclude' => 1,
|
||||
'm4_pattern_allow' => 1,
|
||||
'_AM_SUBST_NOTMAKE' => 1,
|
||||
'AM_PROG_CC_C_O' => 1,
|
||||
'AC_CANONICAL_SYSTEM' => 1,
|
||||
'm4_pattern_allow' => 1,
|
||||
'sinclude' => 1,
|
||||
'AM_CONDITIONAL' => 1,
|
||||
'AC_CANONICAL_SYSTEM' => 1,
|
||||
'AC_CONFIG_HEADERS' => 1,
|
||||
'AC_DEFINE_TRACE_LITERAL' => 1,
|
||||
'm4_include' => 1,
|
||||
|
||||
+1100
-1084
File diff suppressed because it is too large
Load Diff
@@ -180,6 +180,8 @@
|
||||
|
||||
#undef inline
|
||||
|
||||
#undef restrict
|
||||
|
||||
#undef volatile
|
||||
|
||||
/* Define if cpp supports the ANSI-C stringizing `#' operator */
|
||||
|
||||
@@ -180,6 +180,8 @@
|
||||
|
||||
#undef inline
|
||||
|
||||
#undef volatile
|
||||
|
||||
/* Define if cpp supports the ANSI-C stringizing `#' operator */
|
||||
#undef HAVE_STRINGIZE
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#! /bin/sh
|
||||
# From configure.in for Bash 4.0, version 4.011.
|
||||
# From configure.in for Bash 4.0, version 4.012.
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.62 for bash 4.0-rc1.
|
||||
# Generated by GNU Autoconf 2.62 for bash 4.0-release.
|
||||
#
|
||||
# Report bugs to <bug-bash@gnu.org>.
|
||||
#
|
||||
@@ -597,8 +597,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='bash'
|
||||
PACKAGE_TARNAME='bash'
|
||||
PACKAGE_VERSION='4.0-rc1'
|
||||
PACKAGE_STRING='bash 4.0-rc1'
|
||||
PACKAGE_VERSION='4.0-release'
|
||||
PACKAGE_STRING='bash 4.0-release'
|
||||
PACKAGE_BUGREPORT='bug-bash@gnu.org'
|
||||
|
||||
ac_unique_file="shell.h"
|
||||
@@ -1410,7 +1410,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures bash 4.0-rc1 to adapt to many kinds of systems.
|
||||
\`configure' configures bash 4.0-release to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1475,7 +1475,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of bash 4.0-rc1:";;
|
||||
short | recursive ) echo "Configuration of bash 4.0-release:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1648,7 +1648,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
bash configure 4.0-rc1
|
||||
bash configure 4.0-release
|
||||
generated by GNU Autoconf 2.62
|
||||
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
@@ -1662,7 +1662,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by bash $as_me 4.0-rc1, which was
|
||||
It was created by bash $as_me 4.0-release, which was
|
||||
generated by GNU Autoconf 2.62. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -2072,7 +2072,7 @@ ac_config_headers="$ac_config_headers config.h"
|
||||
|
||||
|
||||
BASHVERS=4.0
|
||||
RELSTATUS=rc1
|
||||
RELSTATUS=release
|
||||
|
||||
case "$RELSTATUS" in
|
||||
alp*|bet*|dev*|rc*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
|
||||
@@ -7029,6 +7029,82 @@ _ACEOF
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: checking for C/C++ restrict keyword" >&5
|
||||
$as_echo_n "checking for C/C++ restrict keyword... " >&6; }
|
||||
if test "${ac_cv_c_restrict+set}" = set; then
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_cv_c_restrict=no
|
||||
# The order here caters to the fact that C++ does not require restrict.
|
||||
for ac_kw in __restrict __restrict__ _Restrict restrict; do
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
typedef int * int_ptr;
|
||||
int foo (int_ptr $ac_kw ip) {
|
||||
return ip[0];
|
||||
}
|
||||
int
|
||||
main ()
|
||||
{
|
||||
int s[1];
|
||||
int * $ac_kw t = s;
|
||||
t[0] = 0;
|
||||
return foo(t)
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (ac_try="$ac_compile"
|
||||
case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo") >&5
|
||||
(eval "$ac_compile") 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } && {
|
||||
test -z "$ac_c_werror_flag" ||
|
||||
test ! -s conftest.err
|
||||
} && test -s conftest.$ac_objext; then
|
||||
ac_cv_c_restrict=$ac_kw
|
||||
else
|
||||
$as_echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
|
||||
fi
|
||||
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
test "$ac_cv_c_restrict" != no && break
|
||||
done
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_restrict" >&5
|
||||
$as_echo "$ac_cv_c_restrict" >&6; }
|
||||
|
||||
|
||||
case $ac_cv_c_restrict in
|
||||
restrict) ;;
|
||||
no) cat >>confdefs.h <<\_ACEOF
|
||||
#define restrict /**/
|
||||
_ACEOF
|
||||
;;
|
||||
*) cat >>confdefs.h <<_ACEOF
|
||||
#define restrict $ac_cv_c_restrict
|
||||
_ACEOF
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
|
||||
MKINSTALLDIRS=
|
||||
@@ -30353,7 +30429,7 @@ exec 6>&1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by bash $as_me 4.0-rc1, which was
|
||||
This file was extended by bash $as_me 4.0-release, which was
|
||||
generated by GNU Autoconf 2.62. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -30406,7 +30482,7 @@ Report bugs to <bug-autoconf@gnu.org>."
|
||||
_ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_version="\\
|
||||
bash config.status 4.0-rc1
|
||||
bash config.status 4.0-release
|
||||
configured by $0, generated by GNU Autoconf 2.62,
|
||||
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
||||
|
||||
|
||||
+3
-2
@@ -21,10 +21,10 @@ dnl Process this file with autoconf to produce a configure script.
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
AC_REVISION([for Bash 4.0, version 4.011])dnl
|
||||
AC_REVISION([for Bash 4.0, version 4.012])dnl
|
||||
|
||||
define(bashvers, 4.0)
|
||||
define(relstatus, rc1)
|
||||
define(relstatus, release)
|
||||
|
||||
AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
|
||||
|
||||
@@ -638,6 +638,7 @@ AC_C_LONG_DOUBLE
|
||||
AC_C_PROTOTYPES
|
||||
AC_C_CHAR_UNSIGNED
|
||||
AC_C_VOLATILE
|
||||
AC_C_RESTRICT
|
||||
|
||||
dnl initialize GNU gettext
|
||||
AM_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl])
|
||||
|
||||
+3
-1
@@ -21,7 +21,7 @@ dnl Process this file with autoconf to produce a configure script.
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
AC_REVISION([for Bash 4.0, version 4.011])dnl
|
||||
AC_REVISION([for Bash 4.0, version 4.012])dnl
|
||||
|
||||
define(bashvers, 4.0)
|
||||
define(relstatus, rc1)
|
||||
@@ -637,6 +637,8 @@ AC_C_STRINGIZE
|
||||
AC_C_LONG_DOUBLE
|
||||
AC_C_PROTOTYPES
|
||||
AC_C_CHAR_UNSIGNED
|
||||
AC_C_VOLATILE
|
||||
AC_C_RESTRICT
|
||||
|
||||
dnl initialize GNU gettext
|
||||
AM_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl])
|
||||
|
||||
@@ -1056,8 +1056,11 @@ print_formatted_time (fp, format, rs, rsf, us, usf, ss, ssf, cpu)
|
||||
else if (s[1] == 'P')
|
||||
{
|
||||
s++;
|
||||
#if 0
|
||||
/* clamp CPU usage at 100% */
|
||||
if (cpu > 10000)
|
||||
cpu = 10000;
|
||||
#endif
|
||||
sum = cpu / 100;
|
||||
sum_frac = (cpu % 100) * 10;
|
||||
len = mkfmt (ts, 2, 0, sum, sum_frac);
|
||||
|
||||
@@ -1717,11 +1717,8 @@ coproc_reap ()
|
||||
|
||||
cp = &sh_coproc;
|
||||
if (cp && (cp->c_flags & COPROC_DEAD))
|
||||
{
|
||||
itrace("coproc_reap: disposing %d", cp->c_pid);
|
||||
coproc_dispose (cp);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
coproc_rclose (cp, fd)
|
||||
@@ -1812,7 +1809,6 @@ coproc_pidchk (pid, status)
|
||||
cp->c_status = status;
|
||||
cp->c_flags |= COPROC_DEAD;
|
||||
cp->c_flags &= ~COPROC_RUNNING;
|
||||
itrace("coproc_pidchk: marked cproc with pid %d as COPROC_DEAD", pid);
|
||||
#if 0
|
||||
coproc_dispose (cp);
|
||||
#endif
|
||||
|
||||
+10
-2
@@ -1006,6 +1006,7 @@ gen_shell_function_matches (cs, text, line, ind, lwords, nw, cw)
|
||||
WORD_LIST *cmdlist;
|
||||
int fval;
|
||||
sh_parser_state_t ps;
|
||||
sh_parser_state_t * restrict pps;
|
||||
#if defined (ARRAY_VARS)
|
||||
ARRAY *a;
|
||||
#endif
|
||||
@@ -1030,9 +1031,16 @@ gen_shell_function_matches (cs, text, line, ind, lwords, nw, cw)
|
||||
|
||||
cmdlist = build_arg_list (funcname, text, lwords, cw);
|
||||
|
||||
save_parser_state (&ps);
|
||||
pps = &ps;
|
||||
begin_unwind_frame ("gen-shell-function-matches");
|
||||
add_unwind_protect (restore_parser_state, (char *)pps);
|
||||
add_unwind_protect (dispose_words, (char *)cmdlist);
|
||||
add_unwind_protect (unbind_compfunc_variables, (char *)0);
|
||||
|
||||
fval = execute_shell_function (f, cmdlist);
|
||||
restore_parser_state (&ps);
|
||||
|
||||
discard_unwind_frame ("gen-shell-function-matches");
|
||||
restore_parser_state (pps);
|
||||
|
||||
/* Now clean up and destroy everything. */
|
||||
dispose_words (cmdlist);
|
||||
|
||||
+15
-6
@@ -941,11 +941,12 @@ unbind_compfunc_variables (exported)
|
||||
|
||||
$0 == function or command being invoked
|
||||
$1 == command name
|
||||
$2 = word to be completed (possibly null)
|
||||
$3 = previous word
|
||||
$2 == word to be completed (possibly null)
|
||||
$3 == previous word
|
||||
|
||||
Functions can access all of the words in the current command line
|
||||
with the COMP_WORDS array. External commands cannot. */
|
||||
with the COMP_WORDS array. External commands cannot; they have to
|
||||
make do with the COMP_LINE and COMP_POINT variables. */
|
||||
|
||||
static WORD_LIST *
|
||||
build_arg_list (cmd, text, lwords, ind)
|
||||
@@ -1005,6 +1006,7 @@ gen_shell_function_matches (cs, text, line, ind, lwords, nw, cw)
|
||||
WORD_LIST *cmdlist;
|
||||
int fval;
|
||||
sh_parser_state_t ps;
|
||||
sh_parser_state_t * restrict pps;
|
||||
#if defined (ARRAY_VARS)
|
||||
ARRAY *a;
|
||||
#endif
|
||||
@@ -1029,9 +1031,16 @@ gen_shell_function_matches (cs, text, line, ind, lwords, nw, cw)
|
||||
|
||||
cmdlist = build_arg_list (funcname, text, lwords, cw);
|
||||
|
||||
save_parser_state (&ps);
|
||||
fval = execute_shell_function (f, cmdlist);
|
||||
restore_parser_state (&ps);
|
||||
pps = &ps;
|
||||
begin_unwind_frame ("gen-shell-function-matches");
|
||||
add_unwind_protect (restore_parser_state, (char *)pps);
|
||||
add_unwind_protect (dispose_words, (char *)cmdlist);
|
||||
add_unwind_protect (unbind_compfunc_variables, (char *)0);
|
||||
|
||||
fval = execute_shell_func`tion (f, cmdlist);
|
||||
|
||||
discard_unwind_frame ("gen-shell-function-matches");
|
||||
restore_parser_state (pps);
|
||||
|
||||
/* Now clean up and destroy everything. */
|
||||
dispose_words (cmdlist);
|
||||
|
||||
@@ -7363,7 +7363,12 @@ add_string:
|
||||
assignment statements. We now do tilde expansion on such words
|
||||
even in POSIX mode. */
|
||||
if (word->flags & (W_ASSIGNRHS|W_NOTILDE))
|
||||
goto add_character;
|
||||
{
|
||||
if (isexp == 0 && isifs (c))
|
||||
goto add_ifs_character;
|
||||
else
|
||||
goto add_character;
|
||||
}
|
||||
/* If we're not in posix mode or forcing assignment-statement tilde
|
||||
expansion, note where the `=' appears in the word and prepare to
|
||||
do tilde expansion following the first `='. */
|
||||
@@ -7379,16 +7384,28 @@ add_string:
|
||||
string[sindex+1] == '~')
|
||||
word->flags |= W_ITILDE;
|
||||
#endif
|
||||
goto add_character;
|
||||
if (isexp == 0 && isifs (c))
|
||||
goto add_ifs_character;
|
||||
else
|
||||
goto add_character;
|
||||
|
||||
case ':':
|
||||
if (word->flags & W_NOTILDE)
|
||||
goto add_character;
|
||||
{
|
||||
if (isexp == 0 && isifs (c))
|
||||
goto add_ifs_character;
|
||||
else
|
||||
goto add_character;
|
||||
}
|
||||
|
||||
if ((word->flags & (W_ASSIGNMENT|W_ASSIGNRHS|W_TILDEEXP)) &&
|
||||
string[sindex+1] == '~')
|
||||
word->flags |= W_ITILDE;
|
||||
goto add_character;
|
||||
|
||||
if (isexp == 0 && isifs (c))
|
||||
goto add_ifs_character;
|
||||
else
|
||||
goto add_character;
|
||||
|
||||
case '~':
|
||||
/* If the word isn't supposed to be tilde expanded, or we're not
|
||||
@@ -7399,7 +7416,10 @@ add_string:
|
||||
(quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)))
|
||||
{
|
||||
word->flags &= ~W_ITILDE;
|
||||
goto add_character;
|
||||
if (isexp == 0 && isifs (c) && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) == 0)
|
||||
goto add_ifs_character;
|
||||
else
|
||||
goto add_character;
|
||||
}
|
||||
|
||||
if (word->flags & W_ASSIGNRHS)
|
||||
@@ -7739,6 +7759,7 @@ add_twochars:
|
||||
|
||||
default:
|
||||
/* This is the fix for " $@ " */
|
||||
add_ifs_character:
|
||||
if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || (isexp == 0 && isifs (c)))
|
||||
{
|
||||
if (string[sindex]) /* from old goto dollar_add_string */
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
BUILD_DIR=/usr/local/build/bash/bash-current
|
||||
BUILD_DIR=/usr/local/build/chet/bash/bash-current
|
||||
THIS_SH=$BUILD_DIR/bash
|
||||
PATH=$PATH:$BUILD_DIR
|
||||
|
||||
|
||||
Reference in New Issue
Block a user