3 lib/readline/readline.c
4 - fixed an off-by-one error in the kill ring reallocation code
8 - replaced instances of /bin/sh with $(SHELL)
10 Makefile, cpp-Makefile, documentation/Makefile
11 - added a working `uninstall' target
13 [1.14.0 FCS release made available for FTP]
18 - added note about building with gcc, same as in Makefile
20 documentation/Makefile
21 - some versions of make don't understand `$*' in a regular recipe;
22 replace with features.dvi in the recipe for features.ps
27 - fix up the calls to string_extract_double_quoted and
28 string_extract_single_quoted in char_is_quoted so the initial
29 value of the index is *after* the opening quote character
30 - make sure we only return 1 from char_is_quoted if the index
31 into the string after a call to string_extract_double_quoted or
32 string_extract_single_quoted is *greater than* `eindex'
34 lib/readline/complete.c
35 - change the order and sense of the quoting tests in
36 rl_complete_internal so that the expensive char_is_quoted
37 is only called if `scan' actually is a word break character
40 - fixed a typo in the test for a restricted shell
43 - need to include flags.h
48 - make sure that we don't try to walk down a null command tree
49 in connect_async_list (tickled by `(command &) &')
50 - if a command has the CMD_WANT_SUBSHELL bit set in its flags,
51 don't even try to walk the command tree and move the `&';
52 just connect the command with a null command using `&'
55 - make sure we don't try to reference a command struct without
56 first checking it (case '&')
61 - fix a typo in the NeXT/i386 description; change the NeXT description
62 to #define HAVE_RESOURCE if not already defined rather than putting
63 -DHAVE_RESOURCE into the SYSDEP_CFLAGS
68 - make sure all of the rules that reinvoke `make' have the
69 `-f bash-Makefile' before the assignment statements; some
70 versions of make like it that way
73 - make sure that `interactive' is set to 0 before evaluating the
74 string containing an exported function obtained from the
75 environment, so that it does not try to execute PROMPT_COMMAND
76 (this may not be the best fix)
80 documentation/Makefile
81 - make sure all of the directories exist before trying to install
84 lib/readline/history.c
85 - add a missing O_TRUNC to the open call for writing in
89 - run_interrupt_trap should only try to run the trap command if
90 the value is not IMPOSSIBLE_TRAP_HANDLER
95 lib/readline/complete.c
96 - do the same kind of double-quoting a replacement string if the
97 user supplies the opening double quote as we would if we were
98 adding both quotes ourselves
101 - fixed the variable initialization so that history_control/HISTCONTROL
102 can be inherited from a parent shell
104 INSTALL, README, cpp-Makefile, documentation/bash.1, documentation/readline.3
105 - ai.mit.edu -> prep.ai.mit.edu
108 - fixed a problem with setting no_line_editing to the result of the
109 check for running inside emacs, thereby losing any value
110 initialized by the `-nolineediting' flag
113 - `make distclean' will now remove the `installed-bash' link
116 - fixed a problem with undefined variables when HAVE_VARARGS_H is
121 lib/readline/history.c
122 - fixed an error in the csh history expansion code so that the
123 `-y' word designator now expands to `0-y' rather than `1-y'
125 lib/readline/isearch.c
126 - changed an absolute check for a character falling within the
127 ASCII 32-126 range (printable chars) with checks for CTRL_P
128 and META_CHAR and a check against the value RUBOUT
129 - changed a `break' to a `continue' so that the first non-matching
130 character in the search string does not cause the search to
132 - initialize prev_line_found to 0 at the top of rl_search_history
133 to avoid duplicate history lines being saved across searches
136 - consolidated repeated code for setting special characters into
137 `SET_SPECIAL' defines
139 lib/readline/readline.c
140 - include <sys/ioctl.h> if VSTATUS is defined
141 - add bindable command rl_tty_status (unbound by default)
143 lib/readline/funmap.c
144 - assign bindable command name `tty-status' to rl_tty_status
147 - add note about compiling with gcc, same text as README
149 lib/readline/display.c
150 - many changes and tweaks to make redisplay work better when the
151 prompt has invisible characters. These changes are non-optimal
152 in that the prompt is redrawn more than it needs to be, but
153 things are a hell of a lot better than they were
157 documentation/Makefile
158 - make a variable NROFF that people can set to `groff -Tascii' if
159 they don't have real nroff
160 - changed the suffix rules to use $<
163 - if rmail doesn't exist or fails, save the bug report in
167 - in setup_async_signals, only ignore SIGINT and SIGQUIT if job
168 control is not active. If it is active and the job is restarted,
169 SIGINT remains ignored, and the now-foregrounded job is not
173 - fixed up a problem with char_is_quoted that caused backslash-
174 escaped characters to cause incorrect results
176 tests/run-dollars, tests/dollar-at.sh, tests/dollar-star.sh
177 - since the error messages produced by `cat' vary, changed `cat'
178 to `recho' and updated the correct answers file
181 - fixes to CRAY_STACKSEG_END definitions for different versions of
182 Unicos on the YMP (from Bill Jones)
183 - Motorola SVR4 machines have getcwd() and should not undef
185 - on hpux 9.x, don't try to link with -lPW if compiling with gcc
189 - an ugly fix for a compiler problem with structure assignment on
195 - replaced a call to sscanf with a validity check using all_digits()
196 and a call to atoi, since a pid_t is not necessarily an int, and
197 the sscanf clobbered the stack frame on systems where it is shorter
198 than an int (e.g., SCO)
200 lib/readline/display.c
201 - since META_CHAR and the other macros only work with unsigned
202 chars, make rl_character_len convert its argument to an unsigned
203 char before testing it
205 documentation/Makefile
206 - use $(INSTALL_DATA) instead of $(CP) to install the man pages and
210 - use INSTALL_PROGRAM and INSTALL_DATA to install binaries and
211 documentation; pass both values to installs in subdirectories
216 - compensate for systems which define RLIMIT_OFILE instead of
217 RLIMIT_NOFILE, or don't provide such a compatibility define
221 - make maybe_execute_file check for directories and print an
222 appropriate error message, since it's doing an fstat anyway
225 - added support for a `-s srcdir' option so it can find
226 cpp-Makefile if ansi-Makefile is to be created
229 - call mksysdefs with -s $(srcdir)
232 - add the magic #undef lines to avoid redefinition warnings on
238 - install `bashbug' with `make install'
241 - make sure that `interactive' is set to 0 when running trap
245 - fixed typo in usage error message
248 - fix process_substitute to set subshell_environment
251 - only mess with the terminal settings for an interactive shell
252 that is not in a subshell environment
256 lib/readline/history.h
257 - add extern declaration of history_get
260 - make history replacement when using `r' or `fc -s' obey the
261 setting of HISTCONTROL
264 - in canonicalize_pathname, preserve a double // at the start
265 of an absolute pathname, since that means something special
266 for the network directory system
269 - updated information about submitting bug reports
271 lib/readline/vi_mode.c, lib/readline/isearch.c
272 - make sure unistd.h is included before rldefs.h, if
273 HAVE_UNISTD_H is defined
277 lib/readline/complete.c
278 - add `#' to the list of characters which cause a completed filename
282 - be more careful about closing pipe file descriptors in do_piping;
283 don't want to have `dup2(i, i); close(i);' problem
285 lib/readline/{keymaps,readline}.h
286 - include local copies of include files if READLINE_LIBRARY is
287 defined, otherwise include the `official, installed' versions
288 using #include <readline/xxx.h>
291 - define READLINE_LIBRARY before including any files
292 - include only `local' copies of include files using #include "xxx.h"
293 rather than #include <readline/xxx.h>
298 - check for clobbering the bash input stream before closing a file
299 descriptor due to an r_close_this redirection
301 lib/readline/history.c
302 - made history_expand inhibit history expansion if the history
303 expansion char is set to 0
305 lib/readline/chardefs.h
306 - moved savestring() definition to rldefs.h
307 - changed lowercase_p, uppercase_p, to_lower, to_upper defines to
308 use <ctype.h> macros rather than assume ASCII
310 lib/readline/bind.c, general.c, general.h
311 - use strcasecmp, strncasecmp instead of str[n]icmp if
312 HAVE_STRCASECMP is defined
315 - pass -DHAVE_STRCASECMP to builds in the libraries, primarily
319 - add HAVE_STRCASECMP to the entries for BSD/386, NetBSD, FreeBSD,
323 - add a fourth parameter to remember_filename, the initial value
324 of times_found (0 if we're just looking it up for `hash', 1
325 for the command execution code)
328 - call remember_filename with an initial value of 1 for times_found
331 - handle a null argument with an error message
334 - parse_and_execute now takes a third parameter: the value for
335 `interactive' while it is executing commands
337 bashline.c, jobs.c, parse.y, shell.c, subst.c, trap.c, variables.c
338 - set the new third argument to parse_and_execute appropriately
340 builtins/eval.def, builtins/fc.def, builtins/source.def
341 - set the new third argument to parse_and_execute appropriately
344 - changed a call to strnicmp to strncmp when trying to find what
345 to give help on; it seems more correct
350 - cleaned up the SunOS section so it no longer relies on
351 HAVE_SHARED_LIBS being defined; it uses SunOS4 and SunOS5
355 - define SYSDEF to be SunOS4 or SunOS5 depending on the output
356 of uname rather than looking for ld.so
361 - minor change to the ardent titan machine description
362 - move the ardent and stardent descriptions before the
363 mips riscos description
366 - ardent machines also need the extern declaration for printf
369 - connect_async_list should do its work only if the lists to be
370 backgrounded are connected with `;'. This makes `;' bind tighter
371 than `&', so only the last job in the list is backgrounded. All
372 other lists should have the entire thing put in the background
375 - added a function `print_prompt' to take care of displaying the
376 prompt string if readline is not being used. This fixes problems
377 with the prompt being displayed before the status of completed
383 - `fg' and `bg' now print error messages if invoked when job control
387 - if not compiled into the shell, make get_tty_settings get and set
388 the window size. This noop stops the process if it is started in
391 lib/readline/readline.c
392 - provide a function version of savestring, if not being compiled
393 into the shell, since the macro has been removed from the
394 `public' header files
396 lib/readline/readline.h
397 - provide all extern function declarations without checking whether
398 VI_MODE or PAREN_MATCHING are defined. It does not hurt to define
399 them if they are not used and not in the library, and other
400 applications using readline can't tell whether or not VI_MODE was
401 defined when the library was compiled anyway
406 - add #undef HAVE_DIRENT_H to the ardent titan description
410 lib/readline/chardefs.h
411 - removed META_P define, renamed CTRL_P to CTRL_CHAR
413 lib/readline/bind.c, lib/readline/isearch.c
414 - changed instances of CTRL_P to CTRL_CHAR
416 lib/readline/search.c
417 - include <unistd.h> before rldefs.h, if HAVE_UNISTD_H is defined
419 lib/readline/readline.c
420 - declare PC, UP, and BC as extern rather than `local' to the
426 - implement command word completion inside of command substitution
427 with a new function: `command_subst_completion_function'
430 - new function to help with command subst completion: unclosed_pair
432 lib/readline/complete.c
433 - new variable rl_filename_quoting_desired, which can be set to 0
434 to inhibit the quoting of filenames after completion
436 lib/readline/readline.h
437 - declare rl_filename_completion_desired and
438 rl_filename_quoting_desired
441 - don't save the old value of rl_outstream before initializing
442 readline -- it saves garbage values and screws up readline
445 - don't have private state telling whether or not readline has
446 been initialized -- use bash_readline_initialized like other
447 functions in bashline.c
449 lib/readline/readline.c
450 - make the default 8-bit behavior be based on whether LC_CTYPE is
451 defined and its value (accept iso-8859-1 or iso_8859_1)
456 - fix up the declaration of getenv() for convex machines
460 lib/readline/readline.c
461 - fixed up typos in the declaration of `savestring'
463 lib/readline/history.c
464 - fixed an off-by-one error in the ADD_CHAR macro which caused one
465 extra character to be overwritten, causing the gnu malloc to abort
466 when that one character was at the end of an allocated block
467 - changed the ADD_STRING macro to avoid some unnecessary xreallocs
469 lib/readline/display.c
470 - fixed a problem with move_cursor_relative -- function now returns
471 immediately if it has nothing to do
472 - fixed another problem with displaying prompts with invisible chars
474 lib/readline/chardefs.h
475 - fixed the CTRL macro to be right (agree with the BSD kernel, for
479 - fixed typo in the `install' recipe
484 - fixed to handle srcdir when it begins with ./ or ../ to handle
485 $(srcdir) being a relative path better
488 - changed some include paths to $(BUILTIN_ABSSRC) when building in
489 `builtins' to handle $(srcdir) being a relative path
490 - change the `chmod' on bashbug to turn on read and execute for all
491 - added a couple of definitions to make it easier for a later
495 - added a -i option to specify an alternate set of directories to
496 search for include files
499 - in rl_read_init_file, when skipping whitespace at the start of
500 the line, decrement `i' so that we don't jump past the start
504 - SCOv4 has a `robust' opendir that checks that you're actually
509 lib/readline/complete.c
510 - make sure a word break character is unquoted before using it to
511 separate out the current word for completing
514 - new machine description: NetBSD on motorola m68k machines like
516 - undef HAVE_GETWD in the generic svr4 machine description, like
517 other svr4 descriptions
520 - make sure to fflush (rl_outstream) after toggling the setting
521 of the keypad and meta key
524 - add a test for OPENDIR_NOT_ROBUST
527 - output __svr4__ if we find __uxps__ (this makes the Fujitsu port of
528 SVR4 to the sparc build OK)
532 lib/readline/display.c
533 - more display-related fixes when the prompt has invisible chars;
534 this time for screen updates when moving between screen lines
536 lib/readline/readline.c, lib/readline/display.c
537 - changes to make readline work with terminals that have auto-wrap
538 from Per Bothner (new function _rl_update_final, term_xn changes,
539 some efficiency speedups, new function space_to_eol)
543 lib/readline/display.c
544 - after moving up screen lines using term_up in _rl_move_vert, if
545 the new screen line is 0, _rl_last_c_pos needs to be adjusted
546 to take invisible characters into account. This was the source
552 documentation/Makefile
553 - change instances of `groff' to `${GROFF}', GROFF is set to
556 general.c, variables.c
557 - moved `qsort_string_compare' from variables.c to general.c
559 general.h, variables.h
560 - moved declaration of `qsort_string_compare' from variables.h
563 alias.c, lib/readline/funmap.c
564 - moved qsort auxiliary functions after their use and added
565 forward declarations to avoid warnings from ANSI C compilers
568 - hpux_9 needs alloca declared as `extern void *' if __STDC__
572 - removed HAVE_SHARED_LIBS entirely
573 - make a call to /bin/uname -X for SCO machines to avoid running
574 a different uname from the $PATH
577 - new descriptions: Intel i860 running SVR4, Tahoe running 4.3 BSD
578 - changed descriptions: Mips/RiscOS, DG AViiON, unknown machine
581 - changes to how the shell handles foreground jobs dying of SIGINT:
582 an interactive shell using job control will no longer
583 act as if it received a SIGINT if the foreground job
586 a non-interactive shell or shell without job control tries
587 to differentiate between SIGINTs it has seen (in
588 wait_sigint_handler) and a foreground job dying of a SIGINT
589 not sent from the keyboard, and runs the normal SIGINT code
590 only in the former case
595 - check for ${UNAME}${RELEASE} expanding to `SunOS4*' or `SunOS5*'
596 to set SYSDEF to SunOS4 or SunOS5, respectively. Apparently
597 this does not work for Solbourne
603 - if output is being flushed on termios systems, loop until the
604 FLUSHO bit is no longer set in the termios struct
607 - added a -A flag to force creation of ansi-Makefile
610 - new entry for Tandem machines running SVR3
614 lib/readline/rldefs.h
615 - include <termcap.h> if HAVE_TERMCAP_H is defined
616 - use <termio.h> stuff if HAVE_TERMIO_H is defined and _POSIX_VERSION
619 lib/readline/rldefs.h, lib/readline/history.c
620 - include "config.h" if HAVE_CONFIG_H is defined
622 lib/readline/{rldefs.h,signals.c,readline.c}
623 - WINSIZE_IN_IOCTL_H -> GWINSZ_IN_SYS_IOCTL for compatibility with
626 lib/readline/doc/Makefile
627 - fixed up to create the readline and history manuals in dvi and
630 lib/readline/Makefile
631 - changes inspired by the standalone readline-2.0 distribution
635 lib/readline/history.c
636 - new function, history_is_stifled (), returns history_stifled
637 - set history_state flags member in the history state functions
639 lib/readline/history.h
640 - reorganized the function declarations, added missing declarations
641 - history_stifled is no longer exported by the library
642 - added a `flags' member to the HISTORY_STATE structure
645 - use history_is_stifled () instead of history_stifled
647 lib/readline/readline.c, lib/readline/vi_mode.c
648 - filled in correct argument declarations for functions called via
651 lib/readline/complete.c
652 - efficiency improvement for compare_strings
657 - new directory functions from ksh book, contributed by
658 Ken Konecki (kenk@wfg.com)
661 - hpux_8 and hpux_9 should both #undef HAVE_ALLOCA unless gcc is
667 - fixed up command_word_completion_function so that filenames with
668 leading tildes are completed correctly
673 - if -r not given, make sure CTLESC is removed from input string
674 when reading \<newline>
676 lib/readline/readline.c
677 - new function bind_arrow_keys, which binds vt100/ansi arrow key
678 escape sequences after reading the termcap definition and the
680 - new function rl_yank_last_arg, which does what insert-last-arg
683 lib/readline/emacs_keymap.c
684 - remove default bindings to rl_arrow_keys for M-[ and M-O
685 - rl_yank_last_arg is now bound to `M-.' and `M-_' in
689 - when performing process substitution on systems with /dev/fd,
690 make sure the child clears the slot in dev_fd_list it gets
691 from its parent so the file descriptor does not get closed
692 inappropriately if reallocated by, e.g., pipe(2)
695 - removed insert_last_arg and the calls to bind in to `M-.' and `M-_'.
696 `insert-last-argument' is now bound to rl_yank_last_arg for
697 backwards compatibility
699 lib/readline/funmap.c
700 - `yank-last-arg' is now a named command for rl_yank_last_arg
703 documentation/bash.1, documentation/readline.3
704 - add description of yank-last-arg as one of the readline user
707 lib/readline/doc/rluser.texinfo
708 - added description of yank-last-arg
711 - fixed a typo in the int-to-string code computing the value to set
712 OPTIND to: had '\0' instead of '0'
713 - made getopts handle the case where there are more than 9 dollar
714 variables (where rest_of_args is non-null) correctly
718 lib/readline/display.c
719 - fixes to the display code for single-line-display in the presence
720 of prompts containing invisible characters
722 lib/readline/readline.c
723 - if we are using horizontal scrolling and we have term_xn, decrement
724 the screenwidth by 1, since we won't be doing any line wrapping
729 - new variable `freeze_jobs_list' to set when changes to the jobs
730 list or status of jobs in the list (other than calling something
731 like `jobs -n') are undesirable. This is set when execuing traps
737 - check that `~' is unquoted before performing tilde expansion in
738 an assignment statement
743 - keep brace completion from dumping core if there is only one
746 lib/readline/chardefs.h
747 - add a define for digit_p, which returns the value of isdigit()
749 lib/readline/readline.c
750 - added function equivalents for uppercase_p, lowercase_p, to_upper,
751 to_lower, pure_alphabetic, digit_p, and digit_value
752 - replaced calls to numeric () with calls to digit_p, removed
753 definition of numeric ()
755 lib/readline/history.c
758 lib/readline/vi_mode.c
759 - replaced uses of the `isletter' define to use pure_alphabetic
761 - replaced uses of `numeric' with calls to digit_p
762 - added do...while(0) to `exchange' define
768 - make sure execute_function saves and restores the current loop
769 count with unwind_protect_int
771 documentation/features.texi
772 - change the `Shell Command Line Options' section to `Invoking
773 Bash' to be closer to the GNU coding standards
778 - fixed up a memory leak and made behavior correct when no
779 variables given and backslash escaped at least one input char
780 - if we added CTLESC anywhere while reading the input string,
781 make sure we call dequote_string on each word of the input
782 before calling bind_variable with that string
785 - made an efficiency improvement to dequote_string -- don't
786 do anything when we see CTLESC, just `continue' the loop