summaryrefslogtreecommitdiffstats
path: root/Src/params.c
Commit message (Collapse)AuthorAgeFilesLines
* unposted (c.f. Bart: 54112): remove unintended Unicode charactersOliver Kiddle2025-11-271-2/+2
|
* 54093 (tweaked per 54101): Cleanup isarr fields and variablesPhilippe Altherr2025-11-241-91/+93
|
* 54064: avoid crash on named references to argv/ARGC, improve valid_nameref()Bart Schaefer2025-11-101-25/+42
| | | | Leaves some edgecase issues unresolved (see tests).
* 54057: enable assignment through named reference to change type of the referentPhilippe Altherr2025-11-091-14/+54
|
* 54019: AIX support fixesOliver Kiddle2025-11-031-2/+2
|
* 54007: remove some uses of mod_export that were likely unintendedOliver Kiddle2025-10-311-16/+14
|
* 53676+54009: Revise 52650+51945 for assignment to global through namerefBart Schaefer2025-10-261-4/+3
| | | | | Allows assignment to a global via nameref to succeed without creating a dereference loop. Update tests for changed behavior.
* 53798: report reference loops created when a reference goes out of scopePhilippe Altherr2025-10-261-15/+7
|
* 53797: fix creation of undeclared target variable through reference chainPhilippe Altherr2025-10-261-1/+1
|
* 53796: fix local reference chains and detect self-reference across local scopesPhilippe Altherr2025-10-261-2/+0
|
* 53782: Src/params.c, Test/K01nameref.ztst: changes to nameref base level:Philippe Altherr2025-10-261-40/+50
| | | | | | - avoid changing base on assignment; - omit base level for up-scope references - do not follow reference chains for base level of new references
* 53781: fix loading of autoload variable via a referencePhilippe Altherr2025-10-261-11/+18
|
* unposted: fix silly bug wherein ${(!)ref} uppercased the referent nameBart Schaefer2025-05-141-1/+2
|
* 53602: "typeset -nu" always refers to at a call level above the declarationBart Schaefer2025-05-121-5/+6
|
* unposted: fix bad pointer found by valgrindBart Schaefer2025-05-091-0/+1
|
* 53568: fix additional problems with reference scoping, update documentationBart Schaefer2025-05-091-4/+12
| | | | | Scope exits could miss some scope updates in named reference chains. References declared -u behave like any other reference upon scope exit.
* 53546,53557 (plus test): Fix scoping of "placeholder" named referencesBart Schaefer2025-05-061-6/+22
| | | | | | | When using placeholders declared several levels earlier than assignment: 1) Searching "up" for "typeset -n -u" could find deeper locals than intended 2) Searching for a subscript reference could skip to the top level 3) Exiting a function scope could incorrectly change the reference level
* 53431: fix assignment via named reference to parameters in outer scopesBart Schaefer2025-03-311-1/+5
|
* 53257: use monotonic clock where appropriatedana2024-12-261-20/+18
| | | | | | | | | | | | | | | update the following features to use the monotonic clock for calculating time deltas and intervals: * MAILCHECK parameter * PERIOD parameter * SECONDS parameter * %(nS.t.f) prompt-expansion sequence * time built-in's elapsed time and cpu % values * zsh/zftp ZFTP_TMOUT parameter * zsh/zprof timings also use CLOCK_MONOTONIC_RAW instead of CLOCK_MONOTONIC on macOS
* 53209 + tests: do not unmetafy via string pointers into global parameter tableBart Schaefer2024-11-051-1/+2
|
* 53026: fix failure to free old value when setting new value of referenceJun. T2024-08-061-1/+2
|
* 53025: fix memory leaks and pointer errors upon named reference self-referenceBart Schaefer2024-08-051-5/+7
|
* 53023: fix memory leak of unset private parameterBart Schaefer2024-08-051-1/+1
|
* 52752: typeset -p fixes for local exports and "export -x" / "readonly -r" ↵Bart Schaefer2024-03-141-3/+18
| | | | output.
* 52692: local typeset of the name of a named reference hides the referenceBart Schaefer2024-03-051-1/+2
|
* unposted (cf. 52617): only scalars can instantiate a declared named referenceBart Schaefer2024-03-041-2/+8
|
* 52650 plus minor fixes: add -u for named references pointing to "upper" scopeBart Schaefer2024-03-041-12/+20
|
* 52652: fix obscure bug unsetting the array part of a tied parameter pairBart Schaefer2024-03-021-2/+5
|
* 52619 (plus tests): no empty element when appending array to unset scalarBart Schaefer2024-02-281-1/+1
|
* 52594: support for POSIX real-time signals with kill and trapOliver Kiddle2024-02-281-2/+12
| | | | Also add new -L option to kill for a more verbose listing of signals
* 52583: extra check for proper scope and existence of readonly specialsBart Schaefer2024-02-231-2/+23
|
* 52559: revise "typeset -p" with respect to local readonly special parametersBart Schaefer2024-02-201-2/+22
| | | | | Update doc and tests to describe handling of global readonly specials and to account for side-effects on zsh/param/private.
* unposted: referent of named reference cannot start with digitsBart Schaefer2024-02-181-0/+2
| | | | This duplicates ksh behavior and doesn't change useful functionality.
* 52513: fixes and doc for using nofork substitutions with private parametersBart Schaefer2024-02-031-4/+13
| | | | Also fixes a crash bug with {fd}>&N redirections and private parameters
* 52244: Fix a batch of minor defects reported by Coverity.Bart Schaefer2023-10-261-3/+2
| | | | | | Coverity defects 1547831, 1547826 (remove unused function), 1521551, 1500752, 1500747, 1401549, 1372423, 1270645, 1255799, 1255792, 1255789, 1255787, 1255782, 1255750
* 52195: cached_username is already metafied when initializing LOGNAMEBart Schaefer2023-10-011-4/+3
|
* 52193: handle UTF8-encoded USERNAME and therefore home directory in zcompileBart Schaefer2023-10-011-1/+1
| | | | Includes one unposted thinko fix ztrdup -> dupstring
* 51945: assorted documentation improvements, bug fixes, and new testBart Schaefer2023-07-261-4/+10
| | | | | | | | | | | | | | 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.
* 51884: reset IFS if it contains invalid charactersJun-ichi Takimoto2023-06-261-0/+3
| | | | This happens only if MULTIBYTE option is on.
* 51887: namespaces recognized in math, incorrect usages rejected.Bart Schaefer2023-06-221-1/+26
|
* 51510: Skip namespaces in "set"/"typeset" output, add tests, fix bugBart Schaefer2023-03-061-0/+4
|
* 51509 (+ fix typo): Add ${(!)name} for the referred-to name of a named referenceBart Schaefer2023-03-061-2/+5
| | | | Extend ${!name} in ksh emulation for same
* 51484: Extend named reference handling for special parameters, improve doc.Bart Schaefer2023-03-051-44/+64
|
* 51483: Enable assignment and expansion of parameters with ksh-like namespace ↵Bart Schaefer2023-03-051-5/+6
| | | | prefixes.
* Fix access to autoloaded parameter.Peter Stephenson2023-02-211-1/+1
| | | | Namerefef resolution needs to happen on the parameter after autoload.
* 51437: Fix incorrectly-passed test case, masked by unrelated bug.Bart Schaefer2023-02-141-2/+3
| | | | | | A bug with zmodload when unloading/reloading a static module caused the state of the shell options to change during K01 test. Worked around it. Also changed warnnestedvar messages to look more like other such.
* 51430: Misc. problems with typeset and $parametersBart Schaefer2023-02-131-1/+1
| | | | | | * Fix and test for regression of assignment when using typeset command * Fix output of typeset +m and $parameters[ref] * Prevent segfault in typeset
* 51417: Check subscripts in named reference values more rigorously.Bart Schaefer2023-02-121-1/+10
|
* 51402: Some ksh/bash features, additional sanity checkingBart Schaefer2023-02-121-12/+80
| | | | | | | | | | | | * 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 $_
* 51374: Expose named references in $parameters, fix substitution error.Bart Schaefer2023-02-121-2/+8
|