summaryrefslogtreecommitdiffstats
path: root/Src/builtin.c
Commit message (Collapse)AuthorAgeFilesLines
* 54093 (tweaked per 54101): Cleanup isarr fields and variablesPhilippe Altherr2025-11-241-4/+5
|
* 54103: support > and < comparisons via the test builtinOliver Kiddle2025-11-241-0/+4
|
* 53578 (tweaked): silence gcc warningsdana2025-11-161-2/+1
| | | | | | addresses -Wmaybe-uninitialized and (spurious) -Wformat-overflow warnings omitted the change for zle_refresh.c since it was caught in w/54036
* 53404: terminal integration with semantic markersOliver Kiddle2025-11-101-2/+5
|
* 54013: add a range check on signal numbers passed to trapOliver Kiddle2025-10-311-0/+8
|
* 53790: corrections to reference loop detectionPhilippe Altherr2025-10-261-5/+1
|
* 53399: don't load ZLE early to set keymapOliver Kiddle2025-03-031-1/+1
| | | | | | When zsh is run with -o vi / -o emacs, instead of loading ZLE to force the change, only record the option state. Then when ZLE starts, the vi option determines the default keymap.
* 53363: permit "typeset -n +m pattern"Bart Schaefer2025-02-151-4/+3
| | | | Also fix spurious error printing the value of a read-only named reference
* 53348: Revise handling of incompatible typeset options when used with -nBart Schaefer2025-02-121-3/+12
|
* 53332, 53334: Avoid strlen calls after sprintfOliver Kiddle2025-01-301-2/+1
|
* 52951: make sure to close memstream for 'print -v'Jun-ichi Takimoto2024-06-131-3/+2
|
* 52742: fix bad interactions of "typeset -p" with GLOBAL_EXPORTBart Schaefer2024-03-121-8/+27
|
* 52692: local typeset of the name of a named reference hides the referenceBart Schaefer2024-03-051-7/+8
|
* unposted (cf. 52615): use META_NOALLOC for 52591Bart Schaefer2024-03-041-5/+5
|
* 52659: Fix crash on unset-through-nameref, add regression testBart Schaefer2024-03-041-2/+4
|
* 52650 plus minor fixes: add -u for named references pointing to "upper" scopeBart Schaefer2024-03-041-1/+1
|
* 52645: unset through a nameref keep up-scope parameters declared unsetBart Schaefer2024-03-011-0/+6
| | | | | Othewise unset of a reference to a global wipes out all parameters of the same name.
* 52594: support for POSIX real-time signals with kill and trapOliver Kiddle2024-02-281-15/+15
| | | | Also add new -L option to kill for a more verbose listing of signals
* 52591: printf builtin must pass metafied strings to math evaluationStephane Chazelas2024-02-241-4/+6
|
* 52556: fix crash when changing type of unset referent via named referenceBart Schaefer2024-02-171-2/+4
|
* 52468: save and restore state of correct TTY when using read -s / -dBart Schaefer2024-01-241-15/+15
|
* 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
|