Commit Graph

485 Commits

Author SHA1 Message Date
Chet Ramey 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 2026-03-03 11:14:10 -05:00
Chet Ramey 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 2026-02-17 13:08:27 -05:00
Chet Ramey 979ae78392 documentation updates; fix read builtin not to set tty EOL character to NUL if the delimiter is NULL 2026-02-09 14:09:42 -05:00
Chet Ramey 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 2026-01-23 16:39:00 -05:00
Chet Ramey 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 2026-01-18 17:48:33 -05:00
Chet Ramey 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' 2026-01-14 11:08:22 -05:00
Chet Ramey 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 2025-12-17 09:59:56 -05:00
Chet Ramey 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 2025-11-24 09:51:15 -05:00
Chet Ramey 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 2025-11-11 11:36:53 -05:00
Chet Ramey 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 2025-10-23 16:35:55 -04:00
Chet Ramey 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 2025-08-20 11:08:28 -04:00
Chet Ramey 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 2025-08-14 10:27:52 -04:00
Chet Ramey 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 2025-08-08 12:11:17 -04:00
Chet Ramey 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 2025-08-04 10:18:32 -04:00
Chet Ramey 80a8f650a1 change overflow behavior in fltexpr; fix for readline event hook; fix for internal quoting of array subscripts in arithmetic expression contexts 2025-07-11 11:48:01 -04:00
Chet Ramey dbe4256d5e fix for namerefs referencing an unset array index with nounset enabled; addition to buildconf.h.in for C23 compilers 2025-05-30 10:11:03 -04:00
Chet Ramey a6767763de fix for multiple assignment statements containing nofork comsubs preceding a command; fix for possible issue with invalid bash input fd 2025-03-31 09:58:59 -04:00
Chet Ramey 25e213a551 taking the length of an unset variable subscripted with anything but @ or * is a fatal error; quote results of u prompt expansion; posix mode changes for exiting on -e when in a shell function; fix readline redisplay issue when bold prompt spans multiple lines 2025-01-24 11:21:16 -05:00
Chet Ramey 42c49d621d fix issue with internally quoting multibyte characters; the let builtin now suppresses additional array subscript expansion; small change to how readline export-completions displays filenames; new loadable builtin to do floating-point arithmetic 2025-01-17 11:41:49 -05:00
Chet Ramey 22417e7881 new readline command `export-completions'; update documentation; update translations with new strings; Makefile updates 2024-11-21 10:31:38 -05:00
Chet Ramey e45ec6f76b new bash_source_fullpath shell option; documentation updates for wait builtin 2024-07-30 11:18:17 -04:00
Chet Ramey 6c70309275 job control cleanups; wait -n can return terminated jobs if supplied pid arguments; wait -n can wait for process substitutions if supplied pid arguments 2024-07-18 16:48:17 -04:00
Chet Ramey d3e86e66ce reap and store status of process substitutions even when there are no jobs; fix issue with optimizing shell functions that set RETURN trap; fix issue with procsubs and eval allowing '<file'; fix for fignore and ignorning completions 2024-07-11 12:03:23 -04:00
Chet Ramey ad1f497a84 use name as GLOBSORT secondary sort key; new GLOBSORT sort specifier: `numeric'; let readonly and export work on local variables at previous scopes for both array and scalar variables 2024-06-21 10:51:53 -04:00
Chet Ramey dbb48b9786 avoid storing extra copy of function bodies; fix some minor memory leaks 2024-06-04 12:23:18 -04:00
Chet Ramey f65ed506d4 fix issue with interupting timed functions; fix for parsing comsubs inside arith for commands; allow break and continue inside arith for expressions; fix for case-insensitive completion with multibyte chars; fix some minor memory leaks; reset read buffer if it returns partial results on EINTR; fix for undo in execute-named-command 2024-06-03 09:09:11 -04:00
Chet Ramey 9cea457aef fix minor errors uncovered by address sanitizer; work around android issue with read -e -u; fix minor memory leaks; make spell-correct-shellword work with negative arguments; fix readline change-case on invalid multibyte character 2024-05-28 09:19:03 -04:00
Chet Ramey d17d185fff fix for crash without arrays built in; allow some job status changes while the jobs list is frozen; change format for interactive shell terminated job notifications; allow some job notifications while running traps 2024-05-06 11:15:17 -04:00
Chet Ramey 1f42d15864 fix for internal redirection flags colliding with open/fcntl flags; call memfd_create with MFD_NOEXEC_SEAL; fix for setting $BASH in su-started login shell; fix for unsetting $REPLY after nofork comsubs 2024-05-01 11:39:51 -04:00
Chet Ramey 9c430f6bf3 enable MULTIPLE_COPROCS; bind -p/-P can print out bindings for individual command names; changes to Makefile to remove MFLAGS; simplify build tools by assuming C90 compilation environment for better cross-compiling support 2024-04-26 16:51:04 -04:00
Chet Ramey 8c8daff1e3 minor updates to several tests 2024-04-22 09:19:14 -04:00
Chet Ramey 2532a2ccef fix parser state with funsubs in PS2 and line continuations; fix for @P transformation in prompt strings 2024-04-01 12:20:58 -04:00
Chet Ramey 8af5a8e0ca change to test builtin for parenthesized expressions when there are more than four arguments to test; tentative change to @A transformation to output declare commands for local variables 2024-03-25 10:32:07 -04:00
Chet Ramey 54f3ed2278 fix for printing case pattern lists beginning with "esac"; several fixes for expansion when IFS contains DEL 2024-03-04 14:59:33 -05:00
Chet Ramey 9b2a8c6d65 internal fixes for declare; additional tests for broken wcwidth() 2024-02-27 14:40:31 -05:00
Chet Ramey 43ecbeb31e fix quoting for positional parameters if not word splitting; retry open for startup files on EINTR; update HISTIGNORE description 2024-02-21 09:42:10 -05:00
Chet Ramey cc51fb3c65 avoid executing unsafe functions if we get a terminating signal while handling SIGCHLD; reject attempts to modify some attributes for readonly variables; more changes for unlocked stdio functions; quoting fixes for uncommon cases where IFS = ^A and the word is not being split 2024-02-20 09:53:58 -05:00
Chet Ramey e1dd98a1db additional error checking for declare; changes for MSYS32; add support for unlocked-io stdio functions; several C23 changes 2024-02-16 10:55:13 -05:00
Chet Ramey 6bd75b8d63 performance improvements for large history lists; fix problem with not unwind-protecting current command and name while executing 2024-02-14 09:43:03 -05:00
Chet Ramey dc97ded434 fix nofork comsub overwriting currently executing command; free readline undo list on signal in callback mode; avoid disabling readonly when assigning variables from the environment; fix bug with shell-expand-line and $'...' quoting inside command substitutions; add `bash-vi-complete' as bindable command name 2024-02-09 10:30:02 -05:00
Chet Ramey 10702735a0 fix two bugs with shells started to run executable scripts inheriting shell state; fix potential buffer overflow in brace expansion; fix crash caused by nofork command substitution not saving enough state 2024-01-23 16:38:15 -05:00
Chet Ramey f2fdb5e313 unconditionally define PGRP_PIPE; fix wait in funsubs; fix REPLY as nameref in varsub; fix crash with parse errors in compound assignments 2024-01-14 15:38:36 -05:00
Chet Ramey 9702b74a28 test suite fixes for some locales; fix to make bind -x bindings work with negative arguments; several portability fixes from pkgsrc; fixes for funsubs with return builtin state and local OPTIND 2023-12-04 16:14:53 -05:00
Chet Ramey b30389070a renamed several functions beginning with legal_; changed all callers 2023-11-06 09:26:02 -05:00
Chet Ramey 1e1a0342a4 changes for backslashes in glob patterns and single-quoted strings; brace expansion knows '${...}' expansions; read returns status 2 if trying to assign to a readonly variable 2023-10-17 11:09:23 -04:00
Chet Ramey 09c32bc946 fix for @E transformation; fixes for failures in arith for and for commands; style changes to man page; fix for bug in read builtin if it assigns to IFS 2023-10-10 12:00:19 -04:00
Chet Ramey 9c83052f48 changes to several error messages; more test suite additions 2023-10-04 15:04:31 -04:00
Chet Ramey 00edd0ee50 small changes to some error messages; greatly expanded builtins tests 2023-09-28 10:47:17 -04:00
Chet Ramey 1cc5a8f752 use size_t for string indices; document rl_reparse_colors 2023-09-22 09:50:33 -04:00
Chet Ramey 944ac21503 fix for readline numeric args and bind -x commands; fix for printing null simple commands; fix to make read builtin callable recursively; fix for ignoreeof with nofork comsubs in PS1 2023-08-23 16:32:40 -04:00