Commit Graph

  • 9c465866b7 Bash-5.3 patch 20: If readline handles a SIGWINCH and updates its idea of the screen dimensions, it needs to recompute the columns where the prompt wraps lines every time, not just when the screen width decreases. master Chet Ramey 2026-09-15 11:19:22 -04:00
  • 549639c902 Bash-5.3 patch 19: work around systems including bytes between 128 and 255 in the isalpha(3) set, which causes bash to potentially include them in identifier names Chet Ramey 2026-09-15 11:18:03 -04:00
  • 49502f0cdd Bash-5.3 patch 18: fix readline crash with a prompt that exceeds 256 wrapped lines; fix readline redisplay code to print the entire prompt if the first few characters are identical but part of a terminal escape sequence and the prompt needs to be redrawn. Chet Ramey 2026-09-15 11:15:57 -04:00
  • ee9a3cee01 Bash-5.3 patch 17: Modify the readline redisplay code to use a buffer offset instead of the physical prompt length in a multibyte locale to determine whether to reprint the prompt from column 0 because the cursor is before the last invisible character in the prompt string. Chet Ramey 2026-09-15 11:14:33 -04:00
  • a5f4367d2a Bash-5.3 patch 16: accommodate macOS dynamic pipe sizing, avoiding hangs Chet Ramey 2026-09-15 11:12:23 -04:00
  • f26caaa178 convert TMOUT input timeout handling to use native readline timeouts if readline is being used; change TMOUT SIGALRM processing not to run in a signal handler context to exit; fix for adding multiline commands containing |& to the history list; history -r should not change history_lines_this_session if reading from the history file devel Chet Ramey 2026-09-08 12:41:47 -04:00
  • 81ddb6474b documentation updates for history builtin to note it does not truncate the history file; documentation updates for HISTFILESIZE noting that it can work on lines or history entries depending on $HISTTIMEFORMAT; documentation update for history saving behavior at shell exit; history -w and history -a should update the number of history entries in the current session if they are using $HISTFILE; history -r now updates the number of history entries in the current session; improvement to history_truncate_file so it leaves fewer partial history entries when operating on lines Chet Ramey 2026-08-28 15:35:54 -04:00
  • 71327ab3b5 changed version to bash-5.4-devel; new non-recursive implementation for command list execution; extended new compound assignment word splitting behavior to declaration commands; fixed issue with shell not ignoring -n at invocation unless forced interactive with -i Chet Ramey 2026-08-21 17:09:27 -04:00
  • 2f7eb80c77 change expansion for key-value pair compound assignment to associative arrays to split all words before identifying keys and values; controlled by a new shopt option: kvpair_split, enabled by default; new `loadassoc' loadable builtin to load an associative array from a set of key-value arguments Chet Ramey 2026-08-17 10:09:07 -04:00
  • 9c8a70bc9e fix readline vi-mode mark commands to prevent errors if user types an arrow key where a mark name is expected; fix for non-ascii characters being included in variable names if the system isalnum(3) returns success for the character Chet Ramey 2026-08-07 11:46:08 -04:00
  • 9b6349ef40 use anonymous files for here-documents if available and the document size exceeds pipe capacity; fixes to build if multibyte characters are unavailable; fix potential overflow with extrememly long $'...' strings; fix for readline redisplay highlighting with a zero-length region Chet Ramey 2026-07-24 12:13:30 -04:00
  • 03e7298d1e fix obscure macOS issue where the Apple locale is set to something setlocale(3) doesn't understand; don't source .bash_logout if the shell is running setuid; fix for macOS issue with pipe size throttling and here-documents Chet Ramey 2026-07-14 09:29:04 -04:00
  • 0e16a4e4b1 fix readline redisplay issue with a prompt containing terminal escape sequences that needs to change (e.g., to show the vi editing mode) after a paste that leaves the cursor in column 0; fix readline display overflow with a prompt that contains more than 256 wrapped lines Chet Ramey 2026-07-01 11:04:36 -04:00
  • 76037847c3 In posix mode, `command -v' should print absolute pathnames; sanitize command and filenames used in error messages so they don't contain non-printable characters Chet Ramey 2026-07-01 10:49:08 -04:00
  • b460816602 Bash-5.3 patch 15: fix read builtin to avoid cases where -1 is used as an index into the input buffer Chet Ramey 2026-06-10 08:59:27 -04:00
  • a833685ecb Bash-5.3 patch 14: update mapfile patch 11, removing stray line and improving the efficiency of the original fix Chet Ramey 2026-06-10 08:58:29 -04:00
  • 427d51d84d Bash-5.3 patch 13: fix technically undefined behavior when comparing return value from realloc to the original pointer Chet Ramey 2026-06-10 08:56:30 -04:00
  • 8085ee1396 fix the expansion of $@ on the rhs of an assignment statement to be more consistent; fix mapfile to only look up the variable again if a callback is invoked; fix memory leak when converting a variable to an array Chet Ramey 2026-06-08 10:31:31 -04:00
  • ecb2456d63 Bash-5.3 patch 12: fix subshells inappropriately running the EXIT trap if they receive a fatal signal before resetting traps Chet Ramey 2026-06-03 10:21:45 -04:00
  • eb9d01914b Bash-5.3 patch 11: fix mapfile problem when callback unsets the variable it is modifying Chet Ramey 2026-06-03 10:20:22 -04:00
  • d129c77127 Bash-5.3 patch 10: fix loop in subshells calling wait builtin with inherited job list Chet Ramey 2026-06-03 10:19:04 -04:00
  • 1e9f5e10b2 remove the [ and ] prompt expansions from prompt strings that are not used with readline; fix some redisplay issues when readline does not start in column 0; fix memory leak in unquoted $@ expansion; fix readline redisplay issue after SIGWINCH shrinks the terminal size; fix issue with mapfile that can cause crashes if a callback unsets the array mapfile is using Chet Ramey 2026-06-02 10:01:54 -04:00
  • 2d4ba0c618 fixed a bug with expanding unquoted $* when the separator is not whitespace and one or more of the positional parameters ends with the separator, resulting in an extra blank field being generated; fixed an issue with adjusting SHLVL in subshells that caused the environment to be rebuilt too many times; fix to make sure function substitution doesn't leave the -v option unset Chet Ramey 2026-05-20 10:18:32 -04:00
  • 669b32f676 interim fix for generic list functions to avoid pointer aliasing issues; documentation updates Chet Ramey 2026-05-08 11:36:36 -04:00
  • 330223688c fix problem with trapped signals arriving while running SIGINT traps; new `rev' loadable builtin Chet Ramey 2026-04-28 15:06:45 -04:00
  • 1cbe8c04bb fix a bug in word splitting that could potentially drop the first word; complete -p now prefixes the compspec for commands that begin with -' with --'; several builtins updated to use $'...' quoting for output when appropriate Chet Ramey 2026-04-02 11:02:52 -04:00
  • 55f721c51e update fix to save history if fatal signal arrives during $PROMPT_COMMAND execution; fix issue with extglob and empty patterns preceding pattern beginning with a `.' Chet Ramey 2026-03-24 10:10:30 -04:00
  • 1f292e433e fix for heuristic to detect case statements when parsing $() command substitutions to find history expansion; fix for history not being saved if a SIGHUP arrives during $PROMPT_COMMAND execution; workaround for Cygwin bug that results in bash incorrectly calculating the system pipe size Chet Ramey 2026-03-09 14:54:45 -04:00
  • d0b41c2c5f fix cosmetic error when printing if commands containing here-documents in the body; compiling -DSTRICT_POSIX now forces posix-mode shells to expand redirections before assignment statements preceding simple commands Chet Ramey 2026-03-03 11:14:10 -05:00
  • 044c1acc91 fix posix-mode tilde expansion so non-assignment words containing "~:" do not undergo tilde expansion; heuristic to skip case statements while performing history expansion on $() command substitutions; undo redirections before running an EXIT trap when executing a builtin in a subshell Chet Ramey 2026-02-17 13:08:27 -05:00
  • 979ae78392 documentation updates; fix read builtin not to set tty EOL character to NUL if the delimiter is NULL Chet Ramey 2026-02-09 14:09:42 -05:00
  • 468e98e574 change `read -d' on a tty when the delimiter is not a newline to set the terminal EOL character instead of putting the terminal into character-at-a-time mode; change some calls to atoi to use strol instead Chet Ramey 2026-01-30 16:43:46 -05:00
  • b805bbec80 new `jobid' loadable builtin like ash-based shells; fix for nofork command substitution when followed by an asynchronous subshell using GNU nohup; fix for nofork command substitution to move the file descriptor moved to the anonymous file out of the user-accessible range Chet Ramey 2026-01-23 16:39:00 -05:00
  • c4b56ed9ac readline's internal pager now accepts f' and d' commands like `less Chet Ramey 2026-01-18 17:55:44 -05:00
  • 8ea1a222df the `history' builtin prints error messages for certain read and write errors; implementation of new form of nofork command substitution that does not remove trailing newlines Chet Ramey 2026-01-18 17:48:33 -05:00
  • a6421d8419 modify way bash avoids running traps in subshells that haven't reset the trap strings yet; new readline bindable command 'shell-expand-and-requote-line' Chet Ramey 2026-01-14 11:08:22 -05:00
  • e7c3acf108 change posix-mode implicit redirection from /dev/null for asynchronous commands so that 0<&0 does not count as an explicit redirection for austin-group interp 1913; fix spurious debug message about job notification for -c command; fix error handling for wait builtin if there are no children in a subshell Chet Ramey 2026-01-06 10:46:14 -05:00
  • a43e08df2d history builtin has a -H option to display history entries as they would be written to the history file; history builtin now takes a START-END range specifier for listing; fix stray semicolon when printing shell functions containing a case command; changes to stdin redirection detection in preparation for POSIX interp 1913 Chet Ramey 2026-01-05 11:57:18 -05:00
  • 4b27601dfd fixes for several bugs found via fuzzing: overflow in $'...' hex expansion; fix for accessing freed memory when reading input from stdin and using multiple redirections to stdin; fix for pointer aliasing problem after a syntax error while executing a command string Chet Ramey 2025-12-30 16:06:40 -05:00
  • 722a855459 New -D option for fc to force it to delete history entries selected for editing and re-execution; change readline edit-and-execute-command bindable command so it acts more like an accept-line followed by a command execution than an editing command that returns to readline() Chet Ramey 2025-12-30 15:55:55 -05:00
  • 2cdb2f9b31 allow locale's decimal point as radix character when parsing fixed-point decimal into seconds and fractional seconds; handle case of shell script file descriptor being made non-blocking; fix smalkl memory leak in programmable completion of shell option names; fix for patsub_replacement behavior when BASH_COMPAT = 42 and the replacement string is quoted; fix for readine when changing show-mode-in-prompt variable Chet Ramey 2025-12-17 09:59:56 -05:00
  • 637f5c8696 Bash-5.3 patch 9: fix crash when interrupting reverse i-search with ^C Chet Ramey 2025-12-10 11:30:51 -05:00
  • f27bf94a79 implementation of printf '%N$' numbered argument conversion specifier, compatible with coreutils Chet Ramey 2025-12-05 15:50:38 -05:00
  • 5a104e96d8 fix longjmp error when timing null command in posix mode; unset exit trap in subshells before checking for pending fatal signal; changes for gcc sometimes-uninitialized warning Chet Ramey 2025-12-02 17:15:44 -05:00
  • 11ff9325c1 Bash-5.3 patch 8: fix issue with calling mbrtowc too much when translating ansic-single-quoted strings Chet Ramey 2025-11-26 12:52:29 -05:00
  • a80c21e8b7 Bash-5.3 patch 7: fix issue where nofork command substitutions can affect redirections in the calling shell Chet Ramey 2025-11-26 12:50:54 -05:00
  • c31cd58e6c Bash-5.3 patch 6: fix issues with range expressions and non-ascii characters in glob patterns when globasciiranges is enabled Chet Ramey 2025-11-26 12:49:17 -05:00
  • f63f0134b1 Bash-5.3 patch 5: fix crash when restoring default disposition for SIGINT in asynchronous subshell Chet Ramey 2025-11-26 12:47:49 -05:00
  • edff796a30 Bash-5.3 patch 4: fix issue with source when read(2) returns fewer characters than fstat(2) says are available Chet Ramey 2025-11-26 12:46:21 -05:00
  • 4e705ed53a fix expansion of $* and $@ in contexts where word splitting is not performed to be more consistent across different word expansions; fix pathname canonicalization when setting $BASH Chet Ramey 2025-11-24 09:51:15 -05:00
  • bcac47f08a fix export environment if a local variable inherits the export attribute from a variable with the same name at a previous scope; changes to help builtin and glob pattern arguments; fix for fpurge declaration in a source file; man page typesetting updates Chet Ramey 2025-11-19 10:18:54 -05:00
  • 2fd02c8387 fix for a trap on SIGINT restoring the default disposition in an asynchronous subshell; change cd exit status if -Pe supplied and the directory can't be changed; fix for compound associative array assignment if one of the expanded words unsets the array during word expansion; fixes for rare systems that don't have various defines and system calls Chet Ramey 2025-11-17 14:50:43 -05:00
  • 81d8584268 minor test suite updates; fix for export string when a variable from a function temporary environment is converted to an array variable; use fpurge to discard builtin output after a SIGINT in an interactive shell; fix for words containing quoted strings and {forward,backward}-shellword; experimental fix to discard a bgpid when a child with the same pid is created only if the new child is also an asynchronous pid; change read builtin to return >1 on read error, since 1 is reserved for EOF Chet Ramey 2025-11-11 11:36:53 -05:00
  • c299f535be speedups for character processing in a multibyte locale when expanding $'...'; cosmetic fix for select command when read returns EOF; fix for a forced interactive shell running under emacs with a pipe for stdin; fix for local nameref variables with the same name as variables in a function's temporary environment; fix for x=y local -n x' not making x' visible as a local variable; turn off nameref attribute for local nameref variables converted to arrays Chet Ramey 2025-10-27 10:42:10 -04:00
  • 403b32faf6 round seconds in command timing information if precision is >= 0; fix for readline word boundaries when quoted command substitutions appear; remove nameref attribute when converting nameref variable into an array; change how help strings are written to builtins.c; change read builtin to update unwind-protect if the input string is reallocated; fix crash when an expansion on the rhs of an assignment statement unsets the variable on the lhs Chet Ramey 2025-10-23 16:35:55 -04:00
  • 6edfd0bf64 more test suite changes to partially highlight warning messages; several fixes to bracket expression parsing with equivalence classes, collating symbols, and character classes together with range expressions Chet Ramey 2025-10-17 15:30:08 -04:00
  • 2a645237d3 test suite updates: highlight failed test scripts; optionally save failed test output; report number of successful tests; exit based on number of test failures; indent warning messages to make them stand out Chet Ramey 2025-10-16 11:44:26 -04:00
  • 6a48b39bba read builtin fixes for CHERI environment; use CLOCK_GETTIME in gettimeofday replacement; readline fix to not optimize typeahead while defining a keyboard macro; fix for crash with unset nameref variable; make sure to save currently executing command around running DEBUG trap Chet Ramey 2025-10-14 14:21:00 -04:00
  • 25c6aa5b23 fix issue with making local variables from the temporary environment arrays; documentation updates; fix read builtin to check that the delimiter is not a newline before changing the terminal settings with a zero-length timeout Chet Ramey 2025-10-06 17:20:10 -04:00
  • f2f545ad7b fix for %P in TIMEFORMAT; make updating variables that aren't subject to allexport smoother; fix spurious compiler warning about realloc; efficiency improvement for command timing; fix issue with read builtin and failure to set terminal attributes Chet Ramey 2025-10-06 15:29:41 -04:00
  • 4f536430e4 fix problem with completing filenames with user-supplied double quotes containing word expansion characters; fix problem with printf %S and precision overflow; fix issue with %P in TIMEFORMAT when timing null commands in posix mode; fix problem with SIGINT while parsing command substitutions Chet Ramey 2025-10-01 11:14:27 -04:00
  • fbd078be0a builtins now return success if supplied --help; use groff to build HTML man pages; reset mbstate if $'...' strings read an invalid multibyte sequence; read -t 0 now looks at other options (-n/-N/-d) and sets the terminal state appropriately Chet Ramey 2025-10-01 10:44:10 -04:00
  • cf8a2518c8 fix for potential read builtin crash if bash gets a signal before read reads any input; make wait -f work if there are no pid or job arguments and update documentation; save and restore variable reflected in $BASH_COMMAND around shell function calls Chet Ramey 2025-09-18 17:54:55 -04:00
  • 013fae2c98 fix for invalid bracketed paste prefix when the final character is wrong; fixes for unlikely SIGINTs while readline is reading from the keyboard; android fix for generating $'...' strings in the presence of invalid multibyte characters Chet Ramey 2025-09-18 17:35:34 -04:00
  • b88cd1c366 experimental change to use groff instead of man2html for HTML man pages; man page updates for reserved words; fix for pattern matching bracket expression ranges; readline changes to disallow defining some recursive keyboard macros Chet Ramey 2025-09-18 17:26:51 -04:00
  • a451bfc3f5 declare builtin changes to reject -i when used with -n; readline changes to make control characters visible in search strings; readline signal handling changes to avoid data corruption and UAF; documentation updates for more consistent quoting Chet Ramey 2025-09-04 12:29:57 -04:00
  • ab17ddb7af fix for rare readline case where read(2) succeeds but also gets a signal as it is returning to user mode; fix for bash completion filename quoting when there is more than one match Chet Ramey 2025-08-22 16:10:45 -04:00
  • 0864568359 fix for nofork comsubs undoing enclosing command's redirections; fix for binding _ variable in the temporary environment; fix for crash when making special variables arrays; accommodate IFS as array variable; fix for SIGINT arriving while cleaning up a readline incremental search Chet Ramey 2025-08-20 11:08:28 -04:00
  • 3160c0b89c fix issue with break in nofork comsub when expanding for command word list; add error message if the value of a nameref variable expands to an invalid variable name Chet Ramey 2025-08-14 10:27:52 -04:00
  • ff6cfb1464 allow the --with-curses configure argument to specify a library name; fix for case pattern lists containing both null and non-null strings; fix for bug with PS1 expansion containing an arithmetic syntax error Chet Ramey 2025-08-08 12:11:17 -04:00
  • e9053f2a3a fix for parameter expansions that contain valid and invalid expansions; avoid stale readdir() value in getcwd replacement; check libtinfow for termcap functions; fix to propagate exit status of builtins run in subshells back to calling shell Chet Ramey 2025-08-04 10:18:32 -04:00
  • c1d9c08853 history library can now read history from non-regular files; fix for readline char search and macros; better fix for PROMPT_COMMAND and aliases ending in newlines; fix for casting COMMAND * and SIMPLE_COM * when parsing |&; fix to avoid undefined behavior when performing left and right arithmetic shifts Chet Ramey 2025-08-01 16:26:31 -04:00
  • a8a1c2fac0 Bash-5.3: updated translations and gettext gmo files Chet Ramey 2025-07-29 11:46:07 -04:00
  • 25c37d4804 Bash-5.3 patch 3: remove internal quoting that causes failures when expanding nested array subscripts in an arithmetic context Chet Ramey 2025-07-23 15:52:32 -04:00
  • 2ea3d60649 Bash-5.3 patch 2: do not try to use shm_open, there is too much variance in behavior across systems Chet Ramey 2025-07-23 15:47:12 -04:00
  • 21fee8ebcf Bash-5.3 patch 1: fix posix-mode issue with "wait -n", where it can return process IDs outside the requested set Chet Ramey 2025-07-23 15:42:17 -04:00
  • 01070d4324 fix for wait -n' in posix mode; fix for long messages in readline; fix for short reads by source' builtin; fix for crash on RISC-V machines; fix for bad memory read when getopts is called twice with different sets of arguments Chet Ramey 2025-07-18 11:53:01 -04:00
  • 80a8f650a1 change overflow behavior in fltexpr; fix for readline event hook; fix for internal quoting of array subscripts in arithmetic expression contexts Chet Ramey 2025-07-11 11:48:01 -04:00
  • a23c863e75 fix for crash when executing PROMPT_COMMAND; fix for readline crash when rl_save_prompt is not followed by rl_set_prompt; fix for bash C-xg key binding listing completions; fix for precision overflow issue in printf; fix for readline non-multibyte builds Chet Ramey 2025-07-09 16:33:00 -04:00
  • 12ea4bfec3 update formatted documentation; fix typo in bashline.c; update system-dependent tests Chet Ramey 2025-07-08 09:59:39 -04:00
  • b8c60bc9ca Bash-5.3 distribution sources and documentation bash-5.3 Chet Ramey 2025-07-03 16:15:36 -04:00
  • b35866a289 updated translations; documentation updates; update copyright dates Chet Ramey 2025-06-27 14:07:28 -04:00
  • 0f0cea342e updated translations; back out change allowing quoted characters and process substitution words in function names; rework readline change for GNU Hurd and ncurses Chet Ramey 2025-06-16 13:47:40 -04:00
  • 727b8d3663 addition to POSIX mode documentation; new translations; update copyrights on some files; update formatted documentation; changes to cut/lcut loadable builtins when supplied -a ARRAY Chet Ramey 2025-06-06 12:16:11 -04:00
  • 102140e4c4 Bash-5.3-rc2 release bash-5.3-rc2 bash-5.3-testing Chet Ramey 2025-06-02 12:05:51 -04:00
  • dbe4256d5e fix for namerefs referencing an unset array index with nounset enabled; addition to buildconf.h.in for C23 compilers Chet Ramey 2025-05-30 10:11:03 -04:00
  • 870ad4c92b some fixes for static analysis findings; fix for brace expansion being too greedy checking sequence expressions; fix for strip targets when cross-compiling Chet Ramey 2025-05-19 09:10:57 -04:00
  • 535a8150b6 fix for command substitution string parsing that resulted in top-level unwind-protects being run in the wrong spot; fix for delimiter byte being part of invalid multibyte character in read builtin Chet Ramey 2025-05-04 17:21:25 -04:00
  • 15df599354 check for delimiter_depth being 0 before popping off the stack (reset_parser resets it); make EOFs while reading here-doc delimiters sticky; when reading arith command, push back a character after the first closing paren that isn't a second close paren to fix backslash issue Chet Ramey 2025-04-30 16:19:08 -04:00
  • 7731dc5c4d fix for read builtin and invalid multibyte characters followed by the delimiter; updated formatted documentation; new bash.pot file with updated strings; updated translations Chet Ramey 2025-04-22 10:39:43 -04:00
  • 482872ed8b fix to preserve blank lines when reading multiline entries from a history file; fix for completion with quoted command delimiters; updated translations Chet Ramey 2025-04-18 11:08:27 -04:00
  • 42c6cbd459 add math function calls to fltexpr; HISTFILESIZE documentation updates; help text updates for exxport, history; update translations Chet Ramey 2025-04-09 11:14:41 -04:00
  • c8f067a967 Bash-5.3-rc1 release bash-5.3-rc1 Chet Ramey 2025-04-07 12:36:49 -04:00
  • 2e113467f0 minor updates for 5.3-rc1 release Chet Ramey 2025-04-04 10:50:15 -04:00
  • a6767763de fix for multiple assignment statements containing nofork comsubs preceding a command; fix for possible issue with invalid bash input fd Chet Ramey 2025-03-31 09:58:59 -04:00
  • e009d30dff fix for invalid brace sequence expressions; cosmetic fix to help builtin; documentation and copyright updates; bump version to bash-5.3-rc1; cosmetic locale fixes Chet Ramey 2025-03-24 17:07:43 -04:00
  • c3997d51f8 documentation updates for arithmetic expansion and array subscripts; update BASH_COMMAND for subshells; fix potential file descriptor leak in here document pipes Chet Ramey 2025-03-07 10:23:58 -05:00
  • e608233770 revert change that suppressed array subscript expansion when called by the let builtin; fix default file descriptor for <> redirection when printing command Chet Ramey 2025-02-24 11:36:49 -05:00
  • ee9645c4a0 Update configure Chet Ramey 2025-02-12 14:58:05 -05:00
  • c3ca11424d fix issue with redirections to bash input file descriptor; new minimal chmod builtin; posix mode change for kill builtin return status; perform additional validation on brace expansion sequence expressions Chet Ramey 2025-02-12 11:18:16 -05:00