Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Change DECLAREDNULL to DEFAULTED | Bart Schaefer | 2021-04-13 | 1 | -8/+8 |
| | |||||
* | Final repairs for declared state of tied arrays | Bart Schaefer | 2021-04-13 | 1 | -0/+5 |
| | | | | Fixups still required in bin_typeset, but assignments to scalar work. | ||||
* | Unset of a tied local scalar previously left it using tiedarr_gsu | Bart Schaefer | 2021-04-13 | 1 | -0/+2 |
| | |||||
* | Add PM_DECLARED and PM_DECLAREDNULL parameter flags. | Bart Schaefer | 2021-04-13 | 1 | -3/+12 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This addresses the issue that "typeset foo" creates $foo set to an empty string, which differs from typeset handling in bash and ksh. It does this by concealing the internal value rather than alter the way internal values are defaulted. This imposes the following changes: A typeset variable with no assignment triggers NO_UNSET warnings when the name is used in parameter expansion or math. The typeset -AEFHLRTZailux options are applied upon the first assignment to the variable. Explicit unset before the first assignment discards all of those properties. If any option is applied to an existing name, historic behavior is unchanged. Consequent to the foregoing, the (t) parameter expansion flag prints nothing until after the first assignment, and the (i) and (I) subscript flags also print nothing. The bash behavior of "unset foo; typeset -p foo" is NOT used. This is called out as an emulation distinction, not a change. The test cases have not been updated, so several now fail. The test harness has been updated to declare default values. | ||||
* | 45772: Restore locale on parameter scope end. | Peter Stephenson | 2020-05-05 | 1 | -0/+34 |
| | | | | Check if relevant parameters changes and if so restore system settings. | ||||
* | 45340: internal: Document the difference between paramtab and realparamtab. | Daniel Shahaf | 2020-01-23 | 1 | -1/+7 |
| | |||||
* | 45066: internal: Document forklevel, locallevel, and exit_pending. | Daniel Shahaf | 2019-12-18 | 1 | -1/+5 |
| | |||||
* | 45004: Fix typos in comments | Martijn Dekker | 2019-12-11 | 1 | -1/+1 |
| | |||||
* | 44664: Fix problem with temporary assignment. | Peter Stephenson | 2019-08-14 | 1 | -1/+3 |
| | | | | | "foo=bar builtin" inside a function lost any variable from enclosing scope. | ||||
* | 44509: Prevent crash with modified path / PATH combination. | Peter Stephenson | 2019-07-15 | 1 | -4/+12 |
| | | | | | | Crash came from "fn() { typeset -U path=($path); unset PATH; }". Note PATH unset is global as only path was made local. | ||||
* | 44307: allow for atoi() returning a negative number | Oliver Kiddle | 2019-05-20 | 1 | -3/+3 |
| | |||||
* | 44164: Avoid stringop-truncation warning | Wesley Schwengle | 2019-03-25 | 1 | -1/+1 |
| | |||||
* | 43616: Various parameter setting and display fixes. | Peter Stephenson | 2018-10-08 | 1 | -63/+109 |
| | | | | | | Mostly to do with typeset -p and tied variables and their interaction. Some general tied variable fixes. | ||||
* | 43546: "typeset -p" should show -U flag | Stephane Chazelas | 2018-09-25 | 1 | -0/+7 |
| | |||||
* | 43264: fix ${+assoc[nonexistent]} with KSH_ARRAYS | Peter Stephenson | 2018-08-09 | 1 | -1/+1 |
| | |||||
* | 42297: (e) subscript flag needs extra work with scalars | dana | 2018-05-14 | 1 | -3/+17 |
| | |||||
* | Nelson H. F. Beebe: 19597 (rebased 42369): return Inf, NaN etc from floating ↵ | Oliver Kiddle | 2018-05-13 | 1 | -4/+12 |
| | | | | point operations instead of errors to allow non-stop IEEE 754 arithmetic | ||||
* | 42597: plug memory leak found by coverity | Oliver Kiddle | 2018-04-07 | 1 | -1/+3 |
| | |||||
* | Avoid crash copying empty hash table. | Stephane Chazelas | 2018-01-04 | 1 | -4/+7 |
| | | | | Visible with typeset -p. | ||||
* | 41787 (plus minor tweaks): use $FUNCSTACK for function nesting depth. | Peter Stephenson | 2017-10-02 | 1 | -0/+14 |
| | | | | Initialised from existing configuration value. | ||||
* | Add typeset -p1, like typeset -p with newlines | Peter Stephenson | 2017-10-01 | 1 | -15/+38 |
| | |||||
* | 41764 (test tweaked): allow [key]+=value when modifying arrays | Peter Stephenson | 2017-09-27 | 1 | -7/+32 |
| | |||||
* | 41747: Don't create hash entry if just checking existence. | Peter Stephenson | 2017-09-25 | 1 | -3/+6 |
| | | | | Pass a flag in indicating this case. | ||||
* | Updates for ksh array element syntax. | Peter Stephenson | 2017-09-24 | 1 | -65/+127 |
| | | | | | | | | 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. | ||||
* | More [key]=value tweaks | Peter Stephenson | 2017-09-14 | 1 | -3/+5 |
| | | | | | | Some rephrasings. Update typeset -p for associative arrays to use new syntax. | ||||
* | First go at var=([key]=value) syntax. | Peter Stephenson | 2017-09-13 | 1 | -0/+66 |
| | | | | | | | 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. | ||||
* | 41225: sethparam() should not attempt to change special parameters into hashes | Barton E. Schaefer | 2017-06-05 | 1 | -6/+11 |
| | |||||
* | 40990: Fix crash with bogus path in sh emaulation. | Peter Stephenson | 2017-04-21 | 1 | -14/+37 |
| | | | | | | 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. | ||||
* | 40932: Parameter subscripts need to count parentheses. | Peter Stephenson | 2017-04-03 | 1 | -3/+8 |
| | | | | Otherwise they can terminate in the middle of an expression. | ||||
* | 40799: fix $- expansion partly broken by 40760 | Barton E. Schaefer | 2017-03-08 | 1 | -1/+3 |
| | |||||
* | 40745 + 40753: Fix 'unset ZLE_RPROMPT_INDENT' not restoring the default ↵ | Daniel Shahaf | 2017-03-08 | 1 | -1/+19 |
| | | | | | | | | | | behaviour. To reproduce: RPS1=foo ZLE_RPROMPT_INDENT=42 unset ZLE_RPROMPT_INDENT | ||||
* | 40781: optimize array assignment, similar to 39995 for string assignment | Sebastian Gniazdowski | 2017-03-04 | 1 | -15/+48 |
| | |||||
* | 40486: Don't warn on creation of MATCH etc. in regex. | Peter Stephenson | 2017-02-02 | 1 | -5/+32 |
| | | | | | This because they are created implicitly rather than by explicit user request, so the warning may not be useful. | ||||
* | 40460: WARN_NESTED_VAR: Don't warn when assigning to a slice of an existing ↵ | Daniel Shahaf | 2017-02-01 | 1 | -6/+13 |
| | | | | array | ||||
* | 40423: WARN_NESTED_VARS, conversion the other way | Peter Stephenson | 2017-01-26 | 1 | -8/+8 |
| | |||||
* | 40422: More WARN_NESTED_VAR cases. | Peter Stephenson | 2017-01-26 | 1 | -8/+9 |
| | | | | | Converting type when using a calling scope was broken in the original patch. | ||||
* | 40413: WARN_NESTED_VAR subscripted variable fix. | Peter Stephenson | 2017-01-25 | 1 | -1/+5 |
| | | | | | No warning needed on paramter that's created temporarily to help assignment. | ||||
* | 40391: Add WARN_NESTED_VAR option and functions -W. | Peter Stephenson | 2017-01-23 | 1 | -23/+43 |
| | | | | | These are companions to WARN_CREATED_GLOBAL, warning when a variable from an enclosing scope is altered. | ||||
* | 40270 (after 39995): Add cross-reference for robustness. | Daniel Shahaf | 2017-01-05 | 1 | -0/+2 |
| | |||||
* | 40231: Optimise setarrvalue(). | Sebastian Gniazdowski | 2016-12-28 | 1 | -16/+34 |
| | |||||
* | 40068: Abort execution when setuid/setgid fail. | Daniel Shahaf | 2016-12-03 | 1 | -4/+4 |
| | | | | | | | | | | | 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 % | ||||
* | 40067: internal: Document 'cmatcher', parse_cmatcher(), 'comptoend', ↵ | Daniel Shahaf | 2016-12-03 | 1 | -1/+17 |
| | | | | unsetparam_pm(), and getindex(). | ||||
* | 40032: consistency in handling of subscript slices outside the bounds of an ↵ | Barton E. Schaefer | 2016-11-29 | 1 | -2/+9 |
| | | | | | | array parameter unposted: README: example describing 40032 | ||||
* | 39900: Add TERMINFO_DIRS special like TERMINFO. | Guillaume Maudoux | 2016-11-20 | 1 | -0/+31 |
| | | | | Although this is a colon-separated array there is no tied array. | ||||
* | 39995 (from 39977): Optimise string parameter assignment. | Peter Stephenson | 2016-11-20 | 1 | -8/+31 |
| | | | | | If setter is the standard one and string length is unchnaged we can copy into place. | ||||
* | 39992: setarrvalue: Allocate a correctly-sized array. | Daniel Shahaf | 2016-11-20 | 1 | -2/+10 |
| | | | | | No memory was lost; the array was allocated with room for one (char *) element more than was required. | ||||
* | 39937: fix a problem introduced by 39886. | Jun-ichi Takimoto | 2016-11-15 | 1 | -3/+4 |
| | | | | $a[i,j] should become an empty array if i>j. | ||||
* | 39893: use arrdup_max() to show explicitly the difference in two code branches | Barton E. Schaefer | 2016-11-10 | 1 | -3/+2 |
| | | | | no functional change | ||||
* | 39874/0001: setarrvalue: Remove needless initialization. | Daniel Shahaf | 2016-11-11 | 1 | -2/+2 |
| | |||||
* | 39887: no need to conditionalise assignment of strlen() | Peter Stephenson | 2016-11-09 | 1 | -6/+2 |
| |