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
Peter Stephenson
a32fb005d6
40486: Don't warn on creation of MATCH etc. in regex.
...
This because they are created implicitly rather than by explicit
user request, so the warning may not be useful.
2017-02-02 10:03:57 +00:00
Daniel Shahaf
ad1b46578e
40460: WARN_NESTED_VAR: Don't warn when assigning to a slice of an existing array
2017-02-01 01:49:45 +00:00
Peter Stephenson
1633b2800d
40423: WARN_NESTED_VARS, conversion the other way
2017-01-26 20:07:51 +00:00
Peter Stephenson
80e47a9a5d
40422: More WARN_NESTED_VAR cases.
...
Converting type when using a calling scope was broken in the
original patch.
2017-01-26 19:58:17 +00:00
Peter Stephenson
b3637caa90
40413: WARN_NESTED_VAR subscripted variable fix.
...
No warning needed on paramter that's created temporarily to
help assignment.
2017-01-25 09:35:30 +00:00
Peter Stephenson
c861b17bbf
40391: Add WARN_NESTED_VAR option and functions -W.
...
These are companions to WARN_CREATED_GLOBAL, warning when a variable
from an enclosing scope is altered.
2017-01-23 09:50:57 +00:00
Daniel Shahaf
9d87cd948e
40270 (after 39995): Add cross-reference for robustness.
2017-01-05 15:58:18 +00:00
Sebastian Gniazdowski
4fb4ce190c
40231: Optimise setarrvalue().
2016-12-28 05:29:59 +00:00
Daniel Shahaf
334ed65e27
40068: Abort execution when setuid/setgid fail.
...
The incumbent code would print an error message and continue execution
with the previous uid/gid values, not even setting lastval:
% UID=42 id -u; echo $?
zsh: failed to change user ID: operation not permitted
1000
0
%
2016-12-03 10:00:08 +00:00
Daniel Shahaf
fd2ca229dd
40067: internal: Document 'cmatcher', parse_cmatcher(), 'comptoend', unsetparam_pm(), and getindex().
2016-12-03 09:54:11 +00:00
Barton E. Schaefer
a9fe87e18c
40032: consistency in handling of subscript slices outside the bounds of an array parameter
...
unposted: README: example describing 40032
2016-11-29 12:31:33 -08:00
Guillaume Maudoux
dae21874d4
39900: Add TERMINFO_DIRS special like TERMINFO.
...
Although this is a colon-separated array there is no tied array.
2016-11-20 20:24:15 +00:00
Peter Stephenson
368884a3aa
39995 (from 39977): Optimise string parameter assignment.
...
If setter is the standard one and string length is unchnaged we can
copy into place.
2016-11-20 19:41:52 +00:00
Daniel Shahaf
f35198d837
39992: setarrvalue: Allocate a correctly-sized array.
...
No memory was lost; the array was allocated with room for one (char *) element
more than was required.
2016-11-20 11:56:02 +00:00
Jun-ichi Takimoto
3fd50d06a1
39937: fix a problem introduced by 39886.
...
$a[i,j] should become an empty array if i>j.
2016-11-15 00:17:35 +09:00
Barton E. Schaefer
d676d1bf4b
39893: use arrdup_max() to show explicitly the difference in two code branches
...
no functional change
2016-11-10 21:01:32 -08:00
Daniel Shahaf
7139b73724
39874/0001: setarrvalue: Remove needless initialization.
2016-11-11 04:35:41 +00:00
Peter Stephenson
65ea1a033b
39887: no need to conditionalise assignment of strlen()
2016-11-09 13:45:11 +00:00
Peter Stephenson
a1633e09a7
39886 based on 39877: Optimise arrdup to arrdup_max.
...
Only duplicate as much of the array as is needed.
2016-11-09 11:54:57 +00:00
Sebastian Gniazdowski
49407686b4
39875: add dupstring_glen to avoid redundant strlen calls
2016-11-09 10:32:48 +00:00
Sebastian Gniazdowski
06e4ec853a
39871: cut down number of strlen()s in getstrvalue()
2016-11-08 15:14:08 +00:00
Sebastian Gniazdowski
68a576bc55
39869: can transfer ownership of core of array when assigning
2016-11-08 10:49:13 +00:00