----
configure.in
- set CROSS_COMPILE to the empty string by default, so we don't inherit
- a random value from the environment
+ a random value from the environment. Bug reported by
+ Lee Revell <rlrevell@joe-job.com>
6/29
----
- save and restore local_prompt_len in rl_{save,restore}_prompt
[in bash-3.2-alpha]
+ 7/8
+ ---
+[bash-3.2-alpha released]
+
7/9
---
lib/readline/display.c
- in _rl_move_cursor_relative, we can use _rl_term_forward_char to
move the cursor forward in a multibyte locale, if it's available.
Since that function doesn't have a handle on where the cursor is in
- the display buffer, it has to output a cr and print all the data
+ the display buffer, it has to output a cr and print all the data.
+ Fixes rest of problem reported by Egmont Koblinger
- change variable denoting the position of the cursor in the line buffer
from c_pos (variable local to rl_redisplay) to cpos_buffer_position
(variable local to file) for future use by other functions
- if rl_read_key returns READERR to readline_internal_char[loop],
abort as if it had read EOF on an empty line, without any conversion
to newline, which would cause a partial line to be executed. This
- fixes the bug reported by mathieu Bonnet <mathieu.bonnet@nalkym.org>
+ fixes the bug reported by Mathieu Bonnet <mathieu.bonnet@nalkym.org>
aclocal.m4
- when testing for validity of /dev/fd/3, use /dev/null instead of
standard input, since the standard input fails with linux and `su'.
Bug reported by Greg Shafer <gschafer@zip.com.au>
+
+ 8/17
+ ----
+Makefile.in
+ - switch the TAGS and tags targets so TAGS is the output of `etags' and
+ tags is the output of `ctags'. Suggested by Masatake YAMATO
+
+ 8/25
+ ----
+execute_cmd.c
+ - change code to match documentation: set BASH_COMMAND (which takes its
+ value from the_printed_command_except_trap) only when not running a
+ trap. Rocky says the debugger is ok with this, and this is what his
+ original diffs did
----
configure.in
- set CROSS_COMPILE to the empty string by default, so we don't inherit
- a random value from the environment
+ a random value from the environment. Bug reported by
+ Lee Revell <rlrevell@joe-job.com>
6/29
----
- save and restore local_prompt_len in rl_{save,restore}_prompt
[in bash-3.2-alpha]
+ 7/8
+ ---
+[bash-3.2-alpha released]
+
7/9
---
lib/readline/display.c
- in _rl_move_cursor_relative, we can use _rl_term_forward_char to
move the cursor forward in a multibyte locale, if it's available.
Since that function doesn't have a handle on where the cursor is in
- the display buffer, it has to output a cr and print all the data
+ the display buffer, it has to output a cr and print all the data.
+ Fixes rest of problem reported by Egmont Koblinger
- change variable denoting the position of the cursor in the line buffer
from c_pos (variable local to rl_redisplay) to cpos_buffer_position
(variable local to file) for future use by other functions
- if rl_read_key returns READERR to readline_internal_char[loop],
abort as if it had read EOF on an empty line, without any conversion
to newline, which would cause a partial line to be executed. This
- fixes the bug reported by mathieu Bonnet <mathieu.bonnet@nalkym.org>
+ fixes the bug reported by Mathieu Bonnet <mathieu.bonnet@nalkym.org>
aclocal.m4
- when testing for validity of /dev/fd/3, use /dev/null instead of
standard input, since the standard input fails with linux and `su'.
- Bug reported by
+ Bug reported by Greg Shafer <gschafer@zip.com.au>
+
+ 8/17
+ ----
+Makefile.in
+ - switch the TAGS and tags targets so TAGS is the output of `etags' and
+ tags is the output of `ctags'. Suggested by Masatake YAMATO
force:
-tags: $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
+TAGS: $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
etags $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
-TAGS: $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
+tags: $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE)
ctags -x $(SOURCES) $(BUILTIN_C_SRC) $(LIBRARY_SOURCE) > $@
# Targets that actually do things not part of the build
bash_cv_dev_fd=""
if test -d /dev/fd && test -r /dev/fd/0 < /dev/null; then
# check for systems like FreeBSD 5 that only provide /dev/fd/[012]
- exec 3<&0
+ exec 3</dev/null
if test -r /dev/fd/3; then
bash_cv_dev_fd=standard
else
'AC_HEADER_DIRENT' => 1,
'AC_CHECK_FUNCS' => 1
}
- ], 'Autom4te::Request' ),
- bless( [
- '1',
- 1,
- [
- '/usr/share/autoconf'
- ],
- [
- '/usr/share/autoconf/autoconf/autoconf.m4f',
- 'aclocal.m4',
- 'configure.in'
- ],
- {
- 'm4_pattern_forbid' => 1,
- 'AC_CONFIG_LIBOBJ_DIR' => 1,
- 'AC_TYPE_OFF_T' => 1,
- 'AC_C_VOLATILE' => 1,
- 'AC_FUNC_CLOSEDIR_VOID' => 1,
- 'AC_REPLACE_FNMATCH' => 1,
- 'AC_PROG_LIBTOOL' => 1,
- 'AC_FUNC_STAT' => 1,
- 'AC_HEADER_TIME' => 1,
- 'AC_FUNC_WAIT3' => 1,
- 'AM_AUTOMAKE_VERSION' => 1,
- 'AC_STRUCT_TM' => 1,
- 'AC_FUNC_LSTAT' => 1,
- 'AC_TYPE_MODE_T' => 1,
- 'AC_FUNC_GETMNTENT' => 1,
- 'AC_FUNC_STRTOD' => 1,
- 'AC_CHECK_HEADERS' => 1,
- 'AC_FUNC_STRNLEN' => 1,
- 'm4_sinclude' => 1,
- 'AC_PROG_CXX' => 1,
- 'AC_PATH_X' => 1,
- 'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
- 'AC_PROG_AWK' => 1,
- '_m4_warn' => 1,
- 'AC_HEADER_STDC' => 1,
- 'AC_HEADER_MAJOR' => 1,
- 'AC_FUNC_ERROR_AT_LINE' => 1,
- 'AC_PROG_GCC_TRADITIONAL' => 1,
- 'AC_LIBSOURCE' => 1,
- 'AC_FUNC_MBRTOWC' => 1,
- 'AC_STRUCT_ST_BLOCKS' => 1,
- 'AC_TYPE_SIGNAL' => 1,
- 'AC_TYPE_UID_T' => 1,
- 'AC_CONFIG_AUX_DIR' => 1,
- 'AC_PROG_MAKE_SET' => 1,
- 'sinclude' => 1,
- 'm4_pattern_allow' => 1,
- 'AC_DEFINE_TRACE_LITERAL' => 1,
- 'AC_FUNC_STRERROR_R' => 1,
- 'AC_PROG_CC' => 1,
- 'AC_FUNC_FORK' => 1,
- 'AC_DECL_SYS_SIGLIST' => 1,
- 'AC_FUNC_VPRINTF' => 1,
- 'AC_FUNC_STRCOLL' => 1,
- 'AC_PROG_YACC' => 1,
- 'AC_INIT' => 1,
- 'AC_STRUCT_TIMEZONE' => 1,
- 'AC_FUNC_CHOWN' => 1,
- 'AC_SUBST' => 1,
- 'AC_FUNC_ALLOCA' => 1,
- 'AC_CANONICAL_HOST' => 1,
- 'AC_FUNC_GETPGRP' => 1,
- 'AC_PROG_RANLIB' => 1,
- 'AM_INIT_AUTOMAKE' => 1,
- 'AC_FUNC_SETPGRP' => 1,
- 'AC_CONFIG_SUBDIRS' => 1,
- 'AC_FUNC_MMAP' => 1,
- 'AC_FUNC_REALLOC' => 1,
- 'AC_TYPE_SIZE_T' => 1,
- 'AC_CONFIG_LINKS' => 1,
- 'AC_CHECK_TYPES' => 1,
- 'AC_CHECK_MEMBERS' => 1,
- 'AM_MAINTAINER_MODE' => 1,
- 'AC_FUNC_UTIME_NULL' => 1,
- 'AC_FUNC_SELECT_ARGTYPES' => 1,
- 'AC_FUNC_STRFTIME' => 1,
- 'AC_HEADER_STAT' => 1,
- 'AC_C_INLINE' => 1,
- 'AC_PROG_CPP' => 1,
- 'AC_TYPE_PID_T' => 1,
- 'AC_C_CONST' => 1,
- 'AC_PROG_LEX' => 1,
- 'AC_CONFIG_FILES' => 1,
- 'include' => 1,
- 'AC_FUNC_SETVBUF_REVERSED' => 1,
- 'AC_PROG_INSTALL' => 1,
- 'AM_GNU_GETTEXT' => 1,
- 'AC_FUNC_OBSTACK' => 1,
- 'AC_CHECK_LIB' => 1,
- 'AC_FUNC_MALLOC' => 1,
- 'AC_FUNC_GETGROUPS' => 1,
- 'AC_FUNC_GETLOADAVG' => 1,
- 'AH_OUTPUT' => 1,
- 'AC_FUNC_FSEEKO' => 1,
- 'AM_PROG_CC_C_O' => 1,
- 'AM_CONDITIONAL' => 1,
- 'AC_CANONICAL_SYSTEM' => 1,
- 'AC_FUNC_MKTIME' => 1,
- 'AC_CONFIG_HEADERS' => 1,
- 'AC_HEADER_SYS_WAIT' => 1,
- 'AC_FUNC_MEMCMP' => 1,
- 'AC_PROG_LN_S' => 1,
- 'm4_include' => 1,
- 'AC_HEADER_DIRENT' => 1,
- 'AC_CHECK_FUNCS' => 1
- }
], 'Autom4te::Request' )
);
Returns the context of the current subroutine call.
-Without EXPR, returns returns "$line $filename". With EXPR,
+Without EXPR, returns "$line $filename". With EXPR,
returns "$line $subroutine $filename"; this extra information
-can be used used to provide a stack trace.
+can be used to provide a stack trace.
The value of EXPR indicates how many call frames to go back before the
current one; the top frame is frame 0.
/* Save this command unless it's a trap command and we're not running
a debug trap. */
+#if 0
if (signal_in_progress (DEBUG_TRAP) == 0 && (this_command_name == 0 || (STREQ (this_command_name, "trap") == 0)))
+#else
+ if (signal_in_progress (DEBUG_TRAP) == 0 && running_trap == 0)
+#endif
{
FREE (the_printed_command_except_trap);
the_printed_command_except_trap = savestring (the_printed_command);
if (echo_command_at_execute)
xtrace_print_select_command_head (select_command);
+#if 0
if (signal_in_progress (DEBUG_TRAP) == 0 && (this_command_name == 0 || (STREQ (this_command_name, "trap") == 0)))
+#else
+ if (signal_in_progress (DEBUG_TRAP) == 0 && running_trap == 0)
+#endif
{
FREE (the_printed_command_except_trap);
the_printed_command_except_trap = savestring (the_printed_command);
if (echo_command_at_execute)
xtrace_print_case_command_head (case_command);
+#if 0
if (signal_in_progress (DEBUG_TRAP) == 0 && (this_command_name == 0 || (STREQ (this_command_name, "trap") == 0)))
+#else
+ if (signal_in_progress (DEBUG_TRAP) == 0 && running_trap == 0)
+#endif
{
FREE (the_printed_command_except_trap);
the_printed_command_except_trap = savestring (the_printed_command);
command_string_index = 0;
print_simple_command (simple_command);
+#if 0
if (signal_in_progress (DEBUG_TRAP) == 0 && (this_command_name == 0 || (STREQ (this_command_name, "trap") == 0)))
+#else
+ if (signal_in_progress (DEBUG_TRAP) == 0 && running_trap == 0)
+#endif
{
FREE (the_printed_command_except_trap);
the_printed_command_except_trap = the_printed_command ? savestring (the_printed_command) : (char *)0;
reset_terminating_signals (); /* in sig.c */
/* Cancel traps, in trap.c. */
restore_original_signals ();
+
+ /* Make sure restore_original_signals doesn't undo the work done by
+ make_child to ensure that asynchronous children are immune to SIGINT
+ and SIGQUIT. Turn off asynchronous to make sure more subshells are
+ not spawned. */
if (asynchronous)
{
setup_async_signals ();
* Global structs undocumented in texinfo manual and not in readline.h *
* *
*************************************************************************/
-
/* search types */
#define RL_SEARCH_ISEARCH 0x01 /* incremental search */
#define RL_SEARCH_NSEARCH 0x02 /* non-incremental search */
return result;
}
-/* Return a new string with the quoted representation of character C. */
+/* Return a new string with the quoted representation of character C.
+ This turns "" into QUOTED_NULL, so the W_HASQUOTEDNULL flag needs to be
+ set in any resultant WORD_DESC where this value is the word. */
static char *
make_quoted_char (c)
int c;
return (temp);
}
-/* Quote STRING. Return a new string. */
+/* Quote STRING, returning a new string. This turns "" into QUOTED_NULL, so
+ the W_HASQUOTEDNULL flag needs to be set in any resultant WORD_DESC where
+ this value is the word. */
char *
quote_string (string)
char *string;
w->word->word = quote_string (t);
free (t);
w->word->flags |= W_QUOTED;
+ /* XXX - turn on W_HAVEQUOTEDNULL here? */
}
return list;
}
s = dequote_string (tlist->word->word);
free (tlist->word->word);
tlist->word->word = s;
+ /* XXX - turn off W_HAVEQUOTEDNULL here? */
}
return list;
}
a $@ in TEMP. It does not matter if the $@ is quoted, as long as
it does not expand to anything. In this case, we want to return
a quoted empty string. */
- temp = (char *)xmalloc (2);
- temp[0] = CTLNUL;
- temp[1] = '\0';
+ temp = make_quoted_char ('\0');
w->flags |= W_HASQUOTEDNULL;
}
else
# increment the build version if that's what's required
if [ -n "$inc_build" ]; then
- build_ver=`expr $build_ver + 1`
+ build_ver=`expr 1 + $build_ver`
fi
# what's the patch level?