about summary refs log tree commit diff
path: root/Src/builtin.c
Commit message (Collapse)AuthorAgeFilesLines
* 52244: Fix a batch of minor defects reported by Coverity.Bart Schaefer2023-10-261-1/+3
| | | | | | Coverity defects 1547831, 1547826 (remove unused function), 1521551, 1500752, 1500747, 1401549, 1372423, 1270645, 1255799, 1255792, 1255789, 1255787, 1255782, 1255750
* 51945: assorted documentation improvements, bug fixes, and new testBart Schaefer2023-07-261-9/+32
| | | | | | | | | | | | | | 1) Document the behavior of "typeset -n existing_var" (via Jun T. comment) 2) Prohibit "typeset -nm pattern" because, well, it's insane. Add test. 3) Improve doc for ${(!)ref} including ${{t!)ref} (Jun T.) 4) Fix doc for how-to unset of a named ref (Jun T.) 5) Allow "typeset +r -n ref" and "typeset +r +n ref" (Jun T.) 6) Fix "typeset -r -n ref=param" to create readonly references 7) Avoid accidental removal of PM_UNSET flag (Jun T.) and update test 8) Fix "typeset -gn ref=value" and add a test for it 9) Add tests for read-only reference behavior 10) Fix infinite recursion when resolving scope of an unset local named reference, add test.
* 51969: read -d and -s should not reset terminal state when stdin is redirectedBart Schaefer2023-07-261-3/+3
|
* 51890: fix "whence -wa" for multiple argumentsBart Schaefer2023-07-091-0/+1
|
* 58586: print "%s" with invalid multibyte characterPeter Stephenson2023-03-221-13/+14
| | | | Treat each byte that is invalid or part of an incopmlete set as a single byte.
* 51573: additional "typset -p -m" fix for namespacesBart Schaefer2023-03-141-3/+5
| | | | | | | | The "-m pattern" option is supposed to enable printing namespaces, but that didn't work when combined with -p. The -p option could also cause an unset parameter to become set if a named reference pointed at it.
* 51510: Skip namespaces in "set"/"typeset" output, add tests, fix bugBart Schaefer2023-03-061-4/+10
|
* 51431: "typeset -p" shouldn't change parameter flagsBart Schaefer2023-02-201-13/+33
|
* 51430: Misc. problems with typeset and $parametersBart Schaefer2023-02-131-6/+10
| | | | | | * Fix and test for regression of assignment when using typeset command * Fix output of typeset +m and $parameters[ref] * Prevent segfault in typeset
* 51402: Some ksh/bash features, additional sanity checkingBart Schaefer2023-02-121-12/+37
| | | | | | | | | | | | * Add "unset -n" * Allow and enforce "typeset -n -r" for read-only references * "can't change type via subscript reference" error * Better checking for self-referential declarations/assignments * Ksh-style "foo=bar; typeset -n foo" creates foo=bar reference * Support "typeset -n ref; for ref in ..." * Subscripted references use NO_EXEC for safety * References assigned in called scopes reset scope at end * Allow named references to $! $? $$ $- $0 $_
* 51360: Initial implementation of named references.Bart Schaefer2023-02-121-4/+52
|
* 51258, 51272: refactor handling of terminal attributes, removing OFF flags ↵Oliver Kiddle2023-01-101-1/+3
| | | | in zattr
* 51214: handle read -d and a delimiter that can't be decoded into a characterOliver Kiddle2022-12-171-2/+5
| | | | | | Terminate input at the raw byte value of the delimiter. Also document and test the use of an empty string as a way to specify NUL as the delimiter.
* 51207: fix for read -d when the delimiter is a byte >= 0x80Jun-ichi Takimoto2022-12-171-3/+4
|
* 51212: remove STOUC() macroOliver Kiddle2022-12-161-10/+10
| | | | | This served as a workaround for ancient compilers where casts to unsigned char were broken.
* 50359: fix bad sticky-emulation in "functions -c"Matthew Martin2022-06-091-1/+1
|
* 50351: "functions -c" can set signal trapsBart Schaefer2022-06-091-1/+16
|
* 50149: Remove all remaining =(...) files at shell exitBart Schaefer2022-04-301-0/+1
|
* 50068: 'exit' in trap causes calling function to returnBart Schaefer2022-04-141-0/+2
|
* 49534, 49539: separate watch/log functionality out into a moduleOliver Kiddle2021-11-021-1/+0
|
* unposted: add/remove UNUSED() for some function parametersJun-ichi Takimoto2021-09-081-1/+1
|
* 49069: literal interpretation of subscripts for unset of array/hash elementsBart Schaefer2021-06-131-4/+2
|
* 48857: declare "volatile" all globals that may be modified by signal handlersBart Schaefer2021-05-161-9/+7
|
* users/26742: break out of surrounding shell loops when exit is called from ↵Peter Stephenson2021-05-151-1/+4
| | | | an exit hook
* 48614: getopts: Calculate OPTIND according to POSIX_BUILTINSdana2021-05-031-0/+10
|
* 47704: POSIX export and readonly ignore "-p" when parameter names also appearBart Schaefer2021-04-181-2/+6
|
* 48560: add TYPESET_TO_UNSET option to remove initialization of parametersBart Schaefer2021-04-181-3/+11
| | | | | | | | | | Changes typeset such that ${newparam-notset} yields "notset" and "typeset -p newparam" does not show an assignment to the parameter. This is similar to the default behavior of bash and ksh, with minor differences in typeset output. Also add tests for some POSIX incompatibilities plus minor changes for test harness robustness.
* users/26509: fix for r -LPeter Stephenson2021-02-181-2/+3
| | | | | fc with the -L option should ignore remote entires, rather than reading them and treating them as an error.
* 48073: Add fc -s as POSIX way of rerunning command without starting editorMartijn Dekker2021-02-171-2/+2
|
* 47895: Remove trailing spaces from "print -ac" output lines.Bart Schaefer2021-02-041-1/+1
|
* 47301: Fix print -v metaficationJun-ichi Takimoto2020-10-251-1/+1
|
* 46168: Update $PWD and call chpwd hook after normalizing pathMatthew Martin2020-07-031-18/+17
|
* typeset: Fix leaving corrupted entries in paramtabMikael Magnusson2020-06-051-3/+9
|
* 45729: internal: Add a second parameter to zlinklist2array(), analogously to ↵Daniel Shahaf2020-05-031-5/+5
| | | | | | hlinklist2array(). Will be used in the next commit.
* 45660: Fix crash setting vi or emacs mode on command line.Peter Stephenson2020-04-091-1/+1
| | | | Delay setting the option until the module system is set up.
* 45487: Missing mod_export declarations for AIXPeter Stephenson2020-02-241-1/+1
|
* 45302: bin_umask(): Queue signals around umask().Daniel Shahaf2020-01-151-1/+4
| | | | | Otherwise, a signal handler might create files while the temporary umask is in effect.
* 45066: internal: Document forklevel, locallevel, and exit_pending.Daniel Shahaf2019-12-181-1/+5
|
* 45058: internal: Add symbolic names to possible values of zexit()'s ↵Daniel Shahaf2019-12-171-11/+13
| | | | "from_where" parameter. No functional change.
* unposted: Update comment to reflect variable rename in 41012 (= ↵Daniel Shahaf2019-12-171-1/+1
| | | | zsh-5.3.1-182-gd7110d8f0).
* 45009: POSIX_CD needs to suppress some forms of option.Peter Stephenson2019-12-121-1/+1
| | | | | Otherwise forms of argument allowed by POSIX are interpreted as options instead.
* 45004: Fix typos in commentsMartijn Dekker2019-12-111-2/+2
|
* unposted: functions -c: Fix typoDaniel Shahaf2019-10-101-1/+1
|
* Copy functions using functions -c old new.Peter Stephenson2019-08-031-2/+41
| | | | Documentation and test.
* 44502: Quote function name for "autoload -X"Bart Schaefer2019-07-081-1/+1
|
* 44469: correct error on missing option argumentMartijn Dekker2019-07-011-5/+12
|
* 44443: POSIX allows exporting readonly variablesMartijn Dekker2019-06-231-1/+1
|
* 44284: combination of -T and -p to typeset crashed the shell.Oliver Kiddle2019-05-141-4/+2
|
* 44291: printf with argument specifier out of range for an int crashed the shellOliver Kiddle2019-05-141-2/+1
|
* 44198: Add cd_silent option to suppress all cd outputdana2019-04-121-2/+2
|