Bart Schaefer
8d009d35a9
51510: Skip namespaces in "set"/"typeset" output, add tests, fix bug
2023-03-06 20:01:04 -08:00
Bart Schaefer
0562be0af8
51509 (+ fix typo): Add ${(!)name} for the referred-to name of a named reference
...
Extend ${!name} in ksh emulation for same
2023-03-06 19:54:48 -08:00
Bart Schaefer
4bc1f6e0d2
51484: Extend named reference handling for special parameters, improve doc.
2023-03-05 14:06:25 -08:00
Bart Schaefer
a9ba166216
51483: Enable assignment and expansion of parameters with ksh-like namespace prefixes.
2023-03-05 14:03:42 -08:00
Peter Stephenson
82f307bddf
Fix access to autoloaded parameter.
...
Namerefef resolution needs to happen on the parameter after autoload.
2023-02-21 12:16:40 +00:00
Bart Schaefer
32cceefa95
51437: Fix incorrectly-passed test case, masked by unrelated bug.
...
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.
2023-02-14 17:54:42 -08:00
Bart Schaefer
03887bb03f
51430: Misc. problems with typeset and $parameters
...
* Fix and test for regression of assignment when using typeset command
* Fix output of typeset +m and $parameters[ref]
* Prevent segfault in typeset
2023-02-13 18:20:11 -08:00
Bart Schaefer
f4c706f0c8
51417: Check subscripts in named reference values more rigorously.
2023-02-12 12:20:33 -08:00
Bart Schaefer
3eed6f70cd
51402: Some ksh/bash features, additional sanity checking
...
* 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 $_
2023-02-12 11:51:41 -08:00
Bart Schaefer
3e55a135c1
51374: Expose named references in $parameters, fix substitution error.
2023-02-12 11:29:10 -08:00
Bart Schaefer
511e020c68
51360: Initial implementation of named references.
2023-02-12 11:21:23 -08:00
Peter Stephenson
03292bceec
51278: make (i) subscript flag for zero-length string consistent
2023-01-16 11:10:02 +00:00
Oliver Kiddle
a73c705b0c
51212: remove STOUC() macro
...
This served as a workaround for ancient compilers where casts to
unsigned char were broken.
2022-12-16 23:28:10 +01:00
Jun-ichi Takimoto
1be52186b4
51079: metafy sep in array subscript flag (s:sep:)
...
this enable sep to contain \0 etc.
2022-12-02 19:32:11 +09:00
Jun-ichi Takimoto
09ad15b986
50081: reset global mbstate_t variables when LC_CTYPE changes
2022-04-20 21:06:53 +09:00
Oliver Kiddle
926a1a7296
49602: only set LOGCHECK from the watch module
2021-11-28 20:51:41 +01:00
Oliver Kiddle
271cfc685b
49534, 49539: separate watch/log functionality out into a module
2021-11-02 21:41:53 +01:00
Bart Schaefer
fa4c88ca25
49456: clean up detection of private params in nested scopes, update doc
2021-10-04 09:02:27 -07:00
Jun-ichi Takimoto
dd51ffa5b4
49422: improve support of --disable-dynamic-nss
...
see also 49392 (Vincent) and 49412 (Axel)
2021-09-22 13:36:57 +09:00
Bart Schaefer
cf5c4828d1
48857: declare "volatile" all globals that may be modified by signal handlers
2021-05-16 19:51:11 -07:00
Bart Schaefer
71b747567e
47704: POSIX export and readonly ignore "-p" when parameter names also appear
2021-04-18 14:26:12 -07:00
Bart Schaefer
82ff9f24f1
48560: add TYPESET_TO_UNSET option to remove initialization of parameters
...
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.
2021-04-18 13:58:09 -07:00
Peter Stephenson
c486040220
45772: Restore locale on parameter scope end.
...
Check if relevant parameters changes and if so restore system settings.
2020-05-05 20:28:31 +01:00
Daniel Shahaf
5e843a3721
45340: internal: Document the difference between paramtab and realparamtab.
2020-01-23 03:21:36 +00:00
Daniel Shahaf
ae7e291873
45066: internal: Document forklevel, locallevel, and exit_pending.
2019-12-18 06:01:50 +00:00
Martijn Dekker
c578f0a08b
45004: Fix typos in comments
2019-12-11 02:37:39 +00:00
Peter Stephenson
d946f22a4c
44664: Fix problem with temporary assignment.
...
"foo=bar builtin" inside a function lost any variable from
enclosing scope.
2019-08-14 15:16:59 +01:00
Peter Stephenson
8cbbc04d97
44509: Prevent crash with modified path / PATH combination.
...
Crash came from "fn() { typeset -U path=($path); unset PATH; }".
Note PATH unset is global as only path was made local.
2019-07-15 09:44:47 +01:00
Oliver Kiddle
3de2333b08
44307: allow for atoi() returning a negative number
2019-05-20 00:14:01 +02:00
Wesley Schwengle
51d2e91a7e
44164: Avoid stringop-truncation warning
2019-03-25 20:42:54 +09:00
Peter Stephenson
f99f7dca75
43616: Various parameter setting and display fixes.
...
Mostly to do with typeset -p and tied variables and their interaction.
Some general tied variable fixes.
2018-10-08 10:10:42 +01:00
Stephane Chazelas
a75b47973d
43546: "typeset -p" should show -U flag
2018-09-25 10:06:18 +01:00
Peter Stephenson
f58b35bf88
43264: fix ${+assoc[nonexistent]} with KSH_ARRAYS
2018-08-09 09:48:35 +01:00
dana
b066cc3ea9
42297: (e) subscript flag needs extra work with scalars
2018-05-14 16:54:19 +01:00
Oliver Kiddle
373efa085d
Nelson H. F. Beebe: 19597 (rebased 42369): return Inf, NaN etc from floating point operations instead of errors to allow non-stop IEEE 754 arithmetic
2018-05-13 10:02:01 +02:00
Oliver Kiddle
90afd36922
42597: plug memory leak found by coverity
2018-04-07 14:37:46 +02:00
Stephane Chazelas
c2cc8b0fbe
Avoid crash copying empty hash table.
...
Visible with typeset -p.
2018-01-04 17:12:13 +00:00
Peter Stephenson
174e560a23
41787 (plus minor tweaks): use $FUNCSTACK for function nesting depth.
...
Initialised from existing configuration value.
2017-10-02 09:44:26 +01:00
Peter Stephenson
728f2adfc8
Add typeset -p1, like typeset -p with newlines
2017-10-01 17:53:56 +01:00
Peter Stephenson
6230e82d44
41764 (test tweaked): allow [key]+=value when modifying arrays
2017-09-27 09:41:50 +01:00
Peter Stephenson
7d4b41b52a
41747: Don't create hash entry if just checking existence.
...
Pass a flag in indicating this case.
2017-09-25 20:03:05 +01:00
Peter Stephenson
85b0dd7133
Updates for ksh array element syntax.
...
Move detection of key/value pairs down into prefork().
Detect normal array assignment and [key]=val array assignemnt
separately. Mark key / value pairs with Marker and pass up flag. Deal
with marked triads specially later on.
2017-09-24 17:33:07 +01:00
Peter Stephenson
ab7be4238c
More [key]=value tweaks
...
Some rephrasings.
Update typeset -p for associative arrays to use new syntax.
2017-09-14 21:43:37 +01:00
Peter Stephenson
54b3958440
First go at var=([key]=value) syntax.
...
Works for both normal and typeset case, also var+=...
Still to do: allow to be mixed with straight array assignment,
improve typeset -p, implement [key]+=value.
2017-09-13 20:54:00 +01:00
Barton E. Schaefer
11d2dbda38
41225: sethparam() should not attempt to change special parameters into hashes
2017-06-05 09:45:45 -07:00
Peter Stephenson
a2e2f5668d
40990: Fix crash with bogus path in sh emaulation.
...
When startying in sh emulation don't link PATH-style parameters
to array equivalents. To allow this to function, don't check
for the linkage when exporting the colon-separated parameter.
2017-04-21 18:07:42 +01:00
Peter Stephenson
f6ab9a281d
40932: Parameter subscripts need to count parentheses.
...
Otherwise they can terminate in the middle of an expression.
2017-04-03 10:04:03 +01:00
Barton E. Schaefer
c93f29b52d
40799: fix $- expansion partly broken by 40760
2017-03-08 21:33:25 -08:00
Daniel Shahaf
67d882479b
40745 + 40753: Fix 'unset ZLE_RPROMPT_INDENT' not restoring the default behaviour.
...
To reproduce:
RPS1=foo
ZLE_RPROMPT_INDENT=42
unset ZLE_RPROMPT_INDENT
2017-03-08 10:04:44 +00:00
Sebastian Gniazdowski
8522e996ec
40781: optimize array assignment, similar to 39995 for string assignment
2017-03-04 15:35:19 -08:00