summaryrefslogtreecommitdiffstats
AgeCommit message (Expand)AuthorFilesLines
37 hoursredir: Use memfd_create instead of pipeHEADmasterHerbert Xu5-22/+50
37 hoursjobs: Preserve parent jobs for simple commandsHerbert Xu4-2/+18
37 hourstrap: Preserve parent traps for trap-only command substitutionHerbert Xu5-20/+52
37 hoursparser: Extend coverage of CHKEOFMARKHerbert Xu3-54/+97
9 daysexpand: Fix here-document file descriptor leakHerbert Xu1-3/+3
9 daysalias: Disallow non-CWORD charactersHerbert Xu1-0/+6
2024-04-12var: Remove unused VNOSETHerbert Xu2-6/+1
2024-04-12var: Fix unexporting of local variables using unsetHerbert Xu1-3/+8
2024-04-12alias: Fix out-of-bound accessHerbert Xu1-1/+2
2024-04-12jobs: Allow monitor mode without a tty in non-interactive modeHerbert Xu1-18/+35
2024-04-12exec: Check executable bit when searching pathHerbert Xu3-24/+29
2024-04-07configure.ac: drop -Wl,--fatal-warningsFabrice Fontaine1-1/+1
2024-04-06man: document what happens when IFS= (and when it's not)наб1-0/+13
2024-04-06jobs: drop unused node parameter in makejob()Denys Vlasenko3-8/+7
2024-04-06shell: Prototype all function definitions for C23 compatнаб6-44/+14
2024-04-06histedit: Don't require argument for fcнаб1-3/+0
2024-04-06histedit: Don't include the current fc in out-of-range lastнаб1-0/+2
2024-04-06histedit: Fix "fc -3" breakage on glibcнаб1-1/+2
2024-04-06histedit: Only parse old=new for fc -sнаб1-12/+9
2024-04-06histedit: Fix fs -s infinite loopнаб1-4/+2
2024-04-06histedit: Disallow fc -s first lastнаб1-0/+7
2024-04-06options: Fix getopts handling of colon in optstrSubhaditya Nath1-1/+1
2024-04-06man: Fix swapped stdin/stdout for redirection operatorsForest1-4/+2
2024-04-05var: move hashvar() calls into findvar()Ron Yorston1-10/+9
2024-04-05jobs: Implement pipefail optionChris Novakovic4-10/+37
2024-04-05mail: Fix chkmail loop break conditionC. McEnroe1-1/+1
2023-01-09alias: fix name quoting in printaliasнаб1-1/+2
2023-01-08parser: Print CTLBACKQ early in parsesubHerbert Xu1-1/+1
2023-01-08parser: Don't keep alloca()ing in a loop for substitutionsнаб1-11/+4
2023-01-08alias: Quote name in printaliasнаб1-1/+1
2023-01-08redir: Use F_DUPFD_CLOEXEC instead of F_DUPFD+F_SETFD if availableнаб2-1/+17
2023-01-08input: Only skip blank lines on PS1Herbert Xu1-2/+3
2023-01-08input: Check for int_pending while clearing inputHerbert Xu1-1/+2
2023-01-08builtin: Ignore first -- in type for consistencyнаб1-3/+3
2023-01-08builtin: Ignore first -- in getopts per POSIXнаб1-0/+3
2023-01-08var: Do not add 1 to return value of strchrnulHerbert Xu1-2/+6
2023-01-08input: Disable lleft in SMALL modeHerbert Xu3-33/+66
2023-01-08input: Read standard input byte-wiseHerbert Xu2-10/+43
2023-01-08input: Eat rest of line upon resetHerbert Xu1-2/+5
2023-01-05man: Document ulimit -wнаб1-1/+3
2023-01-05builtin: Actually accept ulimit -rVincent Lefevre1-0/+3
2023-01-05man: Document false built-inнаб1-0/+2
2023-01-05man: printf 'X, X is a byte under dashнаб1-3/+1
2023-01-05man: Reword to avoid confusion v/v printf Ar argument[s]/argumentsнаб1-16/+13
2023-01-05man: Document kill builtinнаб1-0/+27
2023-01-05man: Note chdir being the same builtin as cdнаб1-2/+2
2023-01-05man: Document jobs builtinнаб1-0/+14
2023-01-05man: Fix getopts documentationнаб2-5/+10
2023-01-05builtin: Don't early-exit when first hash -r is foundнаб2-5/+9
2023-01-05parser: Invalid redirections are run-time, not syntax errorsнаб1-1/+1
2022-12-11Release 0.5.12.v0.5.12Herbert Xu1-1/+1
2022-12-11eval: Test evalskip before flipping status for NNOTHerbert Xu1-1/+3
2022-12-11parser: Add VSBIT to ensure subtype is never zeroHerbert Xu4-3/+4
2022-12-07eval: Check eflag after redirection errorHerbert Xu1-4/+7
2022-12-07eval: Always set exitstatus in evaltreeHerbert Xu1-6/+7
2022-12-07expand: Add ifsfree to expand to fix a logic error that causes a buffer over-...Herbert Xu4-6/+15
2022-12-07expand: Always quote caret when using fnmatchHerbert Xu3-28/+54
2022-12-07input: Remove special case for unget EOFRon Yorston1-7/+4
2021-09-03parser: Fix VSLENGTH parsing with trailing garbageHerbert Xu2-1/+5
2021-06-04shell: Call CHECK_DECL on stat64Herbert Xu1-2/+3
2021-06-04eval: Do not cache value of eflag in evaltreeHerbert Xu1-10/+2
2021-01-20jobs: Always reset SIGINT/SIGQUIT handlersHerbert Xu1-4/+2
2021-01-20jobs: Block signals during tcsetpgrpHerbert Xu1-1/+7
2021-01-13input: Clear unget on RESETHerbert Xu1-0/+1
2021-01-13shell: Fail if building --with-libedit and can't find libeditC. McEnroe1-1/+2
2020-12-23jobs: Only block in waitcmd on first runHerbert Xu1-1/+3
2020-12-23shell: Disable glob again as it strips traing slashesHerbert Xu1-3/+2
2020-08-28shell: Group readdir64/dirent64 with open64Herbert Xu1-4/+4
2020-07-08man: fix formattingBjarni Ingi Gislason4-33/+45
2020-07-08eval: Check nflag in evaltree instead of cmdloopHerbert Xu2-1/+4
2020-07-08jobs: Fix waitcmd busy loopHerbert Xu3-3/+3
2020-07-08error: Remove USE_NORETURN ifdefHerbert Xu1-4/+0
2020-07-08expand: Make glob(3) interruptible by SIGINTHerbert Xu2-8/+36
2020-06-01shell: Enable fnmatch/glob by defaultHerbert Xu1-5/+6
2020-06-01redir: Retry open64 on EINTRHerbert Xu4-39/+62
2020-06-01eval: Prevent recursive PS4 expansionHerbert Xu1-1/+7
2020-06-01parser: Get rid of PEOAHerbert Xu4-65/+67
2020-06-01Release 0.5.11.v0.5.11Herbert Xu1-1/+1
2020-06-01parser: Fix double-backslash nl in old-style command subHerbert Xu1-1/+1
2020-05-28shell: Fix typosMartin Michlmayr2-3/+3
2020-05-28parser: Save and restore heredoclist in expandstrHerbert Xu1-3/+7
2020-05-15shell: Always use explicit large file APIHerbert Xu8-24/+29
2020-05-15input: Fix compiling against libedit with -fno-commonJeroen Roovers1-4/+0
2020-05-15shell: mktokens relative TMPDIRMichael Greenberg1-7/+9
2020-05-15expand: Remove unused expandmeta() flag parameterDenys Vlasenko1-6/+4
2020-05-15parser: Fix alias expansion after heredoc or newlinesHerbert Xu1-2/+5
2020-05-15parser: Catch errors in expandstrHerbert Xu1-6/+24
2020-05-15parser: Fix handling of empty aliasesHerbert Xu1-19/+10
2020-04-29jobs: Fix infinite loop in waitprocHerbert Xu1-9/+23
2020-04-29var: Remove poplocalvars() always-zero argument, make it staticDenys Vlasenko2-21/+4
2020-04-29jobs: Rename DOWAIT_NORMAL to DOWAIT_NONBLOCKDenys Vlasenko1-4/+4
2020-04-29builtin: Fix seconds part of times(1)Herbert Xu1-9/+21
2020-04-29redir: Clear saved redirections in subshellHerbert Xu13-57/+54
2020-01-20shell: delete AC_PROG_YACCFangrui Song1-1/+0
2020-01-20parser: Only accept single-digit parameter expansion outside of bracesHerbert Xu1-1/+1
2020-01-20expand: Fix trailing newlines processing in backquote expandingNikolai Merinov1-1/+1
2020-01-20parser: Fix old-style command substitution here-document crashHerbert Xu1-1/+1
2019-03-28eval: Reset handler when entering a subshellHerbert Xu3-3/+13
2019-03-28expand: Fix double-decrement in argstrHerbert Xu1-1/+1
2019-03-28options: Do not set commandname in procargsHerbert Xu1-1/+0
2019-02-25redir: Handle nested exec within REALLY_CLOSED redirectionHerbert Xu1-10/+30
2019-02-25output: Fix clang warnings about GNU old-style field designatorAntonio Ospite1-6/+6
2019-02-25shell: Fix clang warnings about "string plus integer"Antonio Ospite2-2/+4
2019-02-25eval: Only restore exit status on exit/returnHerbert Xu5-8/+13
2019-02-25eval: avoid leaking memory associated with redirectionsHerbert Xu1-10/+6
2018-12-14system: Disable glibc warning on sigsetmaskHerbert Xu1-1/+10
2018-12-14eval: Use sh_warnx instead of warnxHerbert Xu1-1/+1
2018-12-14parser: Do not push token back before parseheredocHerbert Xu1-1/+4
2018-12-14expand: Eat closing brace for length parameter expansionHerbert Xu1-0/+1
2018-12-14eval: Use the correct expansion mode for fd redirectionHerbert Xu1-1/+1
2018-12-14eval: Silence compiler warning about missing parenthesesAntonio Ospite1-1/+1
2018-12-14shell: Enable automake silent rulesAntonio Ospite2-8/+10
2018-12-14shell: Update configure.ac with suggestions from autoupdateAntonio Ospite1-2/+2
2018-12-14eval: make traps work when "set -e" is enabledAntonio Ospite1-2/+2
2018-11-19expand: Fix multiple issues with EXP_DISCARD in evalvarHerbert Xu1-14/+16
2018-11-19main: Print \n upon EOF (CTRL-D) when run interactivelyGerrit Pape1-1/+8
2018-11-19eval: Report I/O error on stdoutGerrit Pape1-0/+2
2018-11-19builtin: Default to mktemp, not tempfileAndrej Shadura1-1/+1
2018-11-19shell: update .gitignoreMartijn Dekker1-1/+2
2018-08-29man: Problems in dash.1, sh.1, sh.distrib.1esr@thyrsus.com1-1/+1
2018-08-29expand: Ensure result is escaped in cvtnumHerbert Xu1-13/+14
2018-08-29memalloc: Avoid looping in growstacktoHerbert Xu2-9/+8
2018-08-29eval: Always set localvar_stopHerbert Xu3-10/+13
2018-08-29expand: Do not reprocess data when expanding wordsHerbert Xu2-163/+133
2018-08-29expand: Fix skipping of command substitution when trimming in evalvarHerbert Xu1-0/+2
2018-08-29expand: Merge syntax/quotes in memtodest with flagsHerbert Xu2-25/+18
2018-08-29expand: Use HOME in tilde expansion when it is emptyHerbert Xu1-1/+1
2018-08-29shell: Don't include config.h for native helpersPeter Korsgaard1-2/+1
2018-05-28builtin: Use test_access from NetBSD when faccessat is unavailableHerbert Xu1-46/+157
2018-05-28eval: Add vfork supportHerbert Xu7-27/+99
2018-05-28eval: Replace with listsetvar with mklocal/setvareqHerbert Xu3-42/+29
2018-05-28eval: Fail immediately with redirections errors for simple commandHerbert Xu1-18/+18
2018-05-28eval: Add assignment built-in support againHerbert Xu5-75/+97
2018-05-28exec: Never rehash regular built-insHerbert Xu1-5/+10
2018-05-28exec: Stricter pathopt parsingHerbert Xu5-55/+92
2018-05-28builtin: Mark more regular built-insHerbert Xu1-4/+4
2018-05-28exec: Do not allocate stack string in padvanceHerbert Xu5-26/+29
2018-05-28memalloc: Add growstackto helperHerbert Xu4-17/+12
2018-05-28jobs: Replace some uses of fmtstr with stpcpy/stpncpyHerbert Xu1-8/+7
2018-05-28output: Fix fmtstr return valueHerbert Xu1-1/+1
2018-05-28var: Set IFS to fixed value at start timeHerbert Xu3-16/+4
2018-05-28parser: Save/restore here-documents in command substitutionHerbert Xu1-7/+12
2018-05-28jobs: Only clear gotsigchld when waiting for everythingHerbert Xu1-62/+32
2018-05-28mkinit: Split reset into exitreset and resetHerbert Xu6-5/+15
2018-05-28main: Only set savestatus in exitcmdHerbert Xu1-7/+2
2018-05-28exec: Return 126 on most errors in shellexecHerbert Xu1-4/+4
2018-05-17Release 0.5.10.2.v0.5.10.2Herbert Xu1-1/+1
2018-05-15parser: Fix incorrect eating of backslash newlinesHerbert Xu1-3/+8
2018-05-10Release 0.5.10.1.v0.5.10.1Herbert Xu1-1/+1
2018-05-09jobs - Do not block when waiting on SIGCHLDHerbert Xu2-11/+14
2018-05-03Release 0.5.10.v0.5.10Herbert Xu1-1/+1
2018-04-19eval: Variable assignments on functions are no longer persistentHerbert Xu1-3/+0
2018-04-19parser: Fix parameter expansion inside inner double quotesHerbert Xu1-2/+3
2018-04-19parser: Fix parsing of ${}Herbert Xu1-2/+3
2018-04-19man: correct typos, iff -> ifMartijn Dekker1-4/+4
2018-04-19expand: Do not quote backslashes in unquoted parameter expansionHerbert Xu1-5/+4
2018-04-19shell: Add subdir-objects to AM_INIT_AUTOMAKEJason Bowen1-1/+1
2018-04-19eval: Restore input files in evalcommandHerbert Xu3-2/+12
2018-04-19eval: Reap zombies after built-in commands and functionsHerbert Xu2-8/+11
2018-04-19redir: Fix typo in noclobber codeHerbert Xu1-1/+1
2018-04-19expand: Fix glibc glob(3) supportHerbert Xu1-1/+2
2018-04-02expand: Fix buffer overflow in expandmetaHerbert Xu1-24/+33
2018-04-02builtin: Move echo space/nl handling into print_escape_strHerbert Xu1-10/+13
2018-04-02builtin: Fix echo performance regressionHerbert Xu1-7/+12
2018-04-02expand: Fix ghost fields with unquoted $@/$*Herbert Xu1-12/+26
2018-04-02parser: Allow newlines within parameter substitutionHerbert Xu1-1/+2
2018-04-02expand: Fix bugs with words connected to the right of $@Herbert Xu1-5/+8
2018-03-25Revert "[BUILTIN] Remove unnecessary restoration of format string in printf"Herbert Xu1-0/+1
2018-03-22parser: Fix backquote support in here-document EOF markHerbert Xu1-0/+5
2018-03-22shell: provide .gitignoreMartijn Dekker1-0/+41
2018-03-22parser: Fix single-quoted patterns in here-documentsHerbert Xu1-1/+2
2018-03-22parser: Add syntax stack for recursive parsingHerbert Xu3-85/+120
2018-03-22parser: use pgetc_eatbnl() in more placesHarald van Dijk1-38/+21
2018-03-22builtin: Greater resolution in test -nt / test -otMartijn Dekker2-0/+30
2018-03-10mystring: fix "Illegal number" on FreeBSD & macOS for x=; echo $((x))Martijn Dekker1-1/+1
2018-03-10expand: 'nolog' and 'debug' options cause "$-" to wreak havocMartijn Dekker1-1/+1
2018-03-10histedit: fix build with musl libcBaruch Siach1-0/+1
2018-03-10expand: Remove dependency on fmatch.h if it does not exitRink Springer1-0/+2
2018-03-10input: Fix here-document redirection with vi/emacs onHarald van Dijk1-1/+5
2018-03-10man: Small cleanup for Command Line EditingLarry Hynes1-4/+3
2018-03-10builtin: describe_command - fix incorrect pathHarald van Dijk1-4/+11
2018-03-10trap: Globally rename pendingsigs to pending_sigDenys Vlasenko4-9/+9
2016-09-23Release 0.5.9.1.v0.5.9.1Herbert Xu1-1/+1
2016-09-23expand - Fix dangling left square brackets in patternsHerbert Xu1-2/+3
2016-09-02builtin: Fix echo -n early terminationHerbert Xu1-1/+1
2016-09-02builtin: Fix handling of trailing IFS white spacesHerbert Xu3-60/+83
2016-09-02eval: Return status in eval functionsHerbert Xu3-67/+80
2016-09-02jobs: Handle string-based job descriptorsStephen Kitt1-3/+5
2016-09-02trap: Implement POSIX.1-2008 trap reset behaviourHerbert Xu1-7/+18
2016-06-07eval: Fix exit status when calling eval/dot with no commandsHarald van Dijk2-2/+4
2016-06-06man: Document ulimit -vGioele Barabucci1-1/+4
2016-06-06shell: Fix build on Solaris 9Jonathan Perkin2-6/+10
2016-06-06jobs: Don't attempt to access job table for job %0Tobias Klauser1-1/+1
2016-06-06builtin: Reject malformed printf specifications with digits after '*'Patrick Brown1-8/+15
2016-06-06Release 0.5.9.v0.5.9Herbert Xu1-1/+1
2015-08-13builtin: Reset t_wp_op in testcmdHerbert Xu1-0/+2
2015-06-11man: Fix description of getopts when last argument reachedFelix Dietrich1-7/+2
2015-06-11builtin: Clear LC_ALL in mkbuiltinsFredrik Fornwall1-3/+4
2015-01-05input: Allow two consecutive calls to pungetcHerbert Xu2-8/+34
2015-01-05input: Move all input state into parsefileHerbert Xu2-73/+67