Barton E. Schaefer
ab81b98c49
39758: revise 39704 for array and hash parameters; more POSIXBUITINS tweaks for
...
export
39704 was commit 0f5e670
, forgot to reference article number in that log.
"typeset -p" outputs "typeset" for array and hash parameters, even when
exported, because those types can be marked export but are never pushed
to the enviroment.
For POSIXBUILTINS, "export var" does not implicitly set $var, and its
export state is preserved when assigned (but not when explicitly unset).
2016-10-29 11:56:50 -07:00
Barton E. Schaefer
0f5e670cde
"typeset -p" uses "export" commands or the "-g" option for parameters that are not local to the current scope
2016-10-24 07:14:39 -07:00
Peter Stephenson
4ab3fcc90d
39545: Add some missing unqueue_signals().
...
All of these are added simply to fit existing logic in other branches.
2016-10-03 13:43:20 +01:00
Peter Stephenson
c942c7e8b6
39519: restore missing PM_EXPORT flags.
...
This was missing when exporting using USE_SET_UNSET_ENV coce variant.
2016-09-30 11:35:50 +01:00
Peter Stephenson
d08674ef8c
39498: use PRIVILEGED option to decide on problematic parameter imports
2016-09-30 10:41:44 +01:00
Bart Schaefer
d44d23c757
unposted: change '\0' to NULL to silence spurious compile warning.
...
params.c:830:13: warning: expression which evaluates to zero treated as a null
pointer constant of type 'char *' [-Wnon-literal-null-conversion]
*envp = '\0';
2016-09-28 10:58:46 -07:00
Peter Stephenson
b32d974000
39460: Don't import PS4 if running as root.
...
There was an exploit in bash using SHELLOPTS to turn on xtrace,
however this can't happen in zsh, so this is simply a precaution.
2016-09-28 09:50:58 +01:00
Oliver Kiddle
fbafc5b509
39332: support ksh's [[ -v varname ]] condition for checking if variables are set
2016-09-16 00:00:28 +02:00
Daniel Shahaf
7154052ebe
39046 + 39061: New :P history modifier.
2016-08-22 03:34:30 +00:00
Daniel Shahaf
f9b1703511
38971: Start using the new arrlen_ge() / arrlen_le() helpers.
2016-08-01 08:01:29 +00:00
Daniel Shahaf
1a368bf31f
38973: Optimize indexing array parameters.
...
% () { for 1 in $prefix/zsh/bin/zsh Src/zsh; do $1 -f -c 'a=( {1..1000000} ); repeat 3 time ( repeat 300 : $a[1] )'; done }
( repeat 300; do; : $a[1]; done; ) 1.68s user 0.01s system 98% cpu 1.718 total
( repeat 300; do; : $a[1]; done; ) 1.69s user 0.01s system 99% cpu 1.710 total
( repeat 300; do; : $a[1]; done; ) 1.69s user 0.01s system 99% cpu 1.714 total
( repeat 300; do; : $a[1]; done; ) 0.00s user 0.01s system 72% cpu 0.022 total
( repeat 300; do; : $a[1]; done; ) 0.00s user 0.01s system 72% cpu 0.022 total
( repeat 300; do; : $a[1]; done; ) 0.01s user 0.01s system 69% cpu 0.023 total
2016-08-01 08:01:28 +00:00
Peter Stephenson
d309d9addc
38692: IFS can't be changed in restricted mode
2016-06-21 12:32:27 +01:00
Barton E. Schaefer
3a6a6fda8a
unposted (cf. 38612): remove overeager DPUTS()
2016-06-04 22:21:29 -07:00
Greg Klanderman
440c6beec0
38086: shuffle init code to localize a global, add $ZSH_ARGZERO, refine $ZSH_SCRIPT
...
(also a couple of ChangeLog typos corrected -- Bart)
2016-03-06 09:53:40 -08:00
Stephane Chazelas
f7d5ff31ce
38020: fix problems with $SECONDS.
...
Fractions of a second were not handled correctly.
2016-02-26 11:12:32 +00:00
Barton E. Schaefer
b7b3ae311d
37988: $0 becomes read-only under POSIXARGZERO
2016-02-17 20:04:25 -08:00
Peter Stephenson
1ab316c9b8
37895: $ZSH_SCRIPT is POSIX $0 but always availble
2016-02-07 21:01:08 +00:00
Jun-ichi Takimoto
a4020e10a3
37868: add 'static' to file local variables
2016-02-03 01:25:33 +09:00
Barton E. Schaefer
10c5f95f52
37785: skip autoload parameters for "typeset -p"
2016-01-26 18:17:24 -08:00
Peter Stephenson
da71967273
37512: overeager WARN_CREATE_GLOBAL with strftime
2016-01-15 12:16:40 +00:00
Peter Stephenson
524f802610
37489, tweaked: with POSIX_IDENTIFIERS create math var as scalar
2016-01-03 18:57:10 +00:00
Peter Stephenson
16684952fb
37305: typeset -p can now output arrays on one line
2015-12-04 15:39:53 +00:00
Peter Stephenson
e40a14c5e4
37202: suppress WARN_CREATE_GLOBAL warnings after a fork
2015-12-04 10:44:33 +00:00
Daniel Shahaf
5ecf332e84
37253: Constify two local variables.
2015-12-03 23:53:03 +00:00
Daniel Shahaf
4202c90b6d
37254: No functional change: change code layout in preparation for 37253.
2015-11-30 03:42:46 +00:00
Daniel Shahaf
503fa5cd9e
37250: No functional change: rename local variables.
2015-11-30 03:42:45 +00:00
Barton E. Schaefer
9e06828a7f
37208: check for restricted parameter before changing from unset to set
...
Also, return NULL from setnparam() on failure to retrieve value (avoids
null-pointer dereference); add some expository comments
2015-11-23 21:48:49 -08:00
Peter Stephenson
58d040fd85
37203: WARN_CREATE_GLOBAL test in wrong place for associative array
2015-11-23 15:50:13 +00:00
Peter Stephenson
2737ae4a66
37168: No WARN_CREATE_GLOBAL on special parameters
2015-11-20 11:55:07 +00:00
Barton E. Schaefer
30b90f166e
37080: use paramtab abstraction more consistently, add explanatory comments
2015-11-08 12:44:31 -08:00
Daniel Shahaf
51d50218fb
unposted (after 37018): Fix typo in error message.
2015-10-30 15:03:12 +00:00
Peter Stephenson
de9effbce6
37018: Make WARNCREATEGLOBAL more consistent.
...
Wd don't need separate math handling any more, and can make it
output the function name in all cases.
2015-10-29 17:06:27 +00:00
Peter Stephenson
0628802baf
37014: Improved internal parameter setting.
...
Enhance WARNCREATEGLOBAL to work in many more cases.
Don't create REPLY as an integer if it didn't previously exist
as one, even if the value to be set is integral, as this is likely to
mess up later uses of REPLY.
2015-10-29 15:01:07 +00:00
Peter Stephenson
83a175795a
36780: Fix crash in ksh mode with -n and $HOME.
...
If home variable is NULL ensure HOME is unset.
2015-10-06 09:28:07 +01:00
Mikael Magnusson
8e3ca08f13
36347: Fix appending empty array to associations
2015-09-01 23:20:05 +02:00
Barton E. Schaefer
a1f8d4ffc7
35826: add getsparam_u() to return unmetafied string, use it for a number of references to non-special params
2015-07-22 12:52:24 -07:00
Barton E. Schaefer
f3e8f4cf7a
35581, 35582: output array assignments with spaces inside the parens
2015-07-22 12:43:09 -07:00
Barton E. Schaefer
a0862f6381
35799: with NO_EXEC, parse parameter subscript expressions
2015-07-15 17:51:41 -07:00
Mikael Magnusson
e55c167083
35476: Allow setting $0 when POSIX_ARGZERO is not set
2015-06-17 02:26:17 +02:00
Barton E. Schaefer
af957f2ed6
35231: make mkevnstr() safe for NULL value
2015-05-20 10:14:04 -07:00
Peter Stephenson
f855801fb9
35059: fix, document, test readonly -p.
...
Don't output specials as can't be reconstructed.
Output arrays in a useful order.
2015-05-08 12:53:18 +01:00
Peter Stephenson
60c6bcdeae
35054: readonly -p + POSIXBUILTINS fix.
...
Now displays unset variables marekd readonly
2015-05-07 12:10:16 +01:00
Peter Stephenson
bf258a1c07
34992: POSIX fix for readonly variables.
...
With POSIXBUILTINS, variables can be marked readonly if unset.
Also, variables can't have the readonly flag removed.
2015-04-29 15:54:49 +01:00
Peter Stephenson
bc8491c3dc
34430: parameter fixes for gdbm tied hash.
...
Probably fix the issue with correct parameter hiding or not hiding.
A little extra safety checking.
Possibly fixed a memory leak with untying.
2015-01-29 21:05:17 +00:00
Peter Stephenson
c6c9f5daf2
34322: bug with interface to parsestr() etc.
...
Was showing up in places like ${(e)...} where command substitution
could reallocate the token string, but actually there was never any
guarantee that the lexer wouldn't do that, so this was always
a bit iffy.
2015-01-18 22:38:57 +00:00
Peter Stephenson
89012cf94c
34015: disallow strange environment variable names.
...
These are ones with the top bit set in any character.
Don't import them, and don't export them.
2014-12-19 22:15:24 +00:00
Peter Stephenson
ecef922df1
34008: metafy the environment on arrival in the shell
2014-12-18 19:55:53 +00:00
Peter Stephenson
f3cb9a7754
34006: unmetafy anything put into the environment
2014-12-18 19:36:03 +00:00
Peter Stephenson
d067ebcacd
33876: etc.: Separate errors and keyboards interrupts
...
Combination of 12 commits from interrupt_abort branch.
Basic strategy is to introduce bits to errflag and to set and
reset them separately.
Remove interrupt status on return to main keymap.
Turn off ERRFLAG_INT for always block.
Restore bit thereafter: we probably need a new variable in order
to allow user interrupts to be reset in the always block.
Add TRY_BLOCK_INTERRUPT
This works the same as TRY_BLOCK_ERROR, but for a SIGINT, too.
Ensure propagation of SIGINT from exited job.
If received by foreground job, shell uses ERRFLAG_INT, not
ERRFLAG_ERROR, to set the new state.
Reset errflag before precmd()
Add always block in _main_completion to fix ZLS_COLORS
Ensures we get the right state of $ZLS_COLORS at the end of _main_complete
even if there's an interrupt. However, the "right state" is a bit messy
as it depends on styles.
2014-12-11 09:41:17 +00:00
Peter Stephenson
546203a770
33276: safer import of numerical variables from environment
2014-09-29 17:15:56 +01:00
Barton E. Schaefer
19f3161e51
32634: add POSIX_ARGZERO option
2014-06-01 15:01:37 -07:00
Peter Stephenson
1cc3424cbe
unposted: use DIGBUFSIZE for pipestatus numeric buffer
2014-05-29 20:17:30 +01:00
Barton E. Schaefer
f3e7cfe47c
32337: change initialization of some special parameters for emulation compatibility
2014-02-02 13:16:16 -08:00
Peter Stephenson
22b8fd6da9
32299: add use of underscores on arithmetic output for spacing
2014-01-23 10:32:59 +00:00
Barton E. Schaefer
120145561f
32208: always reset pathchecked when the path array is modified
2013-12-30 23:31:35 -08:00
Barton E. Schaefer
9cacf4411f
32157: fix extra line feed after prompt, and erased character in completion listing, when ZLE_RPROMPT_INDENT=0
2013-12-18 23:45:20 -08:00
Barton E. Schaefer
ae92cadc75
31772: queue_signals() to prevent re-entry into endparamscope().
2013-09-26 21:27:27 -07:00
Bart Schaefer
9af1cd4722
30530,30533: fix problems with COLUMNS or LINES < 1, and related issues
2012-06-27 07:10:29 +00:00
Peter Stephenson
c335b7f0a1
30455: remove max array length test
2012-04-25 09:31:57 +00:00
Peter Stephenson
5eb53bf88d
30431 with typo in _typeset fix:
...
add ${...:|...} and ${...:*...} operators, as documented
2012-04-22 18:10:42 +00:00
Peter Stephenson
653abd34a9
30391: tweak to ignore DISABLED flag in new hash-based arrayuniq()
2012-04-13 16:01:20 +00:00
Bart Schaefer
4a4d9f3cbe
30383, users/16991 (Vaclav), users/17000: Improve speed of arrayuniq() by
...
implementing a hash seive algorithm; add test to exercise it.
2012-04-10 01:17:02 +00:00
Peter Stephenson
a76c8de44c
30351 + 30352: metafy strings on import into zsh variables
2012-03-13 09:47:01 +00:00
Peter Stephenson
9934781a97
30098: Jun T.: alternative to 30079: don't setlocale() in setlang() if LC_ALL set
2012-01-07 23:21:00 +00:00
Frank Terbeck
1a330ad751
30079: Src/params.c: Restore LC_ALL' when setting
LANG'.
2012-01-04 22:35:55 +00:00
Peter Stephenson
548c4562fe
fix tests using zsh/datetime that I broke
2011-08-11 19:32:50 +00:00
Peter Stephenson
7d1480af54
29626: arguments to anonymous functions shouldn't be parsed as command words
2011-07-28 09:20:02 +00:00
Peter Stephenson
962624e8c3
29491: remove some variables set but not used
2011-06-19 16:26:10 +00:00
Mikael Magnusson
72cb7cfc6f
29307, 29308 + replies: Fix some doubled words in docs and comments.
2011-05-19 16:10:46 +00:00
Peter Stephenson
c59e19cd77
29191 (Danek) and 29203 (with fixes): make TERMINFO variable special.
2011-05-10 15:40:32 +00:00
Peter Stephenson
d89361739a
29165: use term.h globally if needed at all.
2011-05-09 09:49:08 +00:00
Peter Stephenson
4f9ee790e0
28630: Ricky Zhou: fix crash with isident()
...
28634: add test
2011-01-16 20:35:29 +00:00
Peter Stephenson
ef4055d97c
unposted: fix return types in 28617
2011-01-11 20:42:40 +00:00
Peter Stephenson
dfc26195c9
28617: NO_EXEC option was doing too much work in
...
parameter subscripting, parameter assignment, and globbing
2011-01-10 18:24:17 +00:00
Bart Schaefer
bc1a12f91e
users/15662: array slice assignment with one index positive and one negative.
2010-12-21 16:54:30 +00:00
Peter Stephenson
23bdfc7fd2
28418: add ${NAME:OFFSET:LENGTH} substitution
2010-11-18 10:07:55 +00:00
Bart Schaefer
ad56692b16
28384: improve error message on assignment to a field of a read-only hash.
...
CVS ----------------------------------------------------------------------
2010-11-03 22:40:33 +00:00
Peter Stephenson
af5a85f363
28339: backslash-newline history without HIST_LEX_WORDS
...
28340: assignment to range of scalar variable with multibyte characters
2010-10-10 17:51:29 +00:00
Peter Stephenson
8bc64084a4
28220 plus some comments: fix "HELLO=$HELLO shellfunc"
2010-08-31 19:32:56 +00:00
Peter Stephenson
099dc207fa
27994: better error for failed parameter autoload
2010-06-03 13:38:17 +00:00
Peter Stephenson
09960dc5b9
27951: Add $ZSH_EVAL_CONTEXT and $zsh_eval_contxt
2010-05-12 10:06:59 +00:00
Peter Stephenson
9fe0077305
Geoff: 27693: rename underscore to avoid name clash
2010-02-09 13:58:11 +00:00
Peter Stephenson
036cb0ce95
Joakim Rosqvist: 27591 as modified in 27594:
...
KEYBOARD_HACK variable
2010-01-13 12:05:22 +00:00
Peter Stephenson
1acf23db3e
27243: reverse indexing of arrays with beginning index out of range returned
...
wrong value
2009-09-05 19:49:19 +00:00
Peter Stephenson
ff0b4ebdd5
26950: warn on failed attempt to change user or group ID
...
26593: print warning but dont fail test if simple Unicode conversion fails
2009-05-08 14:30:31 +00:00
Peter Stephenson
c7d8b0dfb8
26546, 26556: sticky emulation for functions defined in emulate ... -c ...
...
environments, plus documentation
2009-02-11 20:42:15 +00:00
Peter Stephenson
fe3fb64472
26315: define ZSH_PATCHLEVEL to "unknown" if not found
2009-01-15 19:47:20 +00:00
Peter Stephenson
45bee14fec
26313: --enable-custom-patchlevel
...
unposted: WARN_CREATE_GLOBAL in tcp_log
2009-01-15 14:49:50 +00:00
Peter Stephenson
18143c3226
262727: add $ZSH_PATCHLEVEL from ChangeLog revision
2009-01-09 20:28:30 +00:00
Peter Stephenson
d69bd194b9
26260: fix crash failing to assigns scalar to special hash
2009-01-08 13:12:06 +00:00
Clint Adams
365e04460d
25926: free val only after it may be passed to strlen (as in 25656).
2008-10-23 00:48:59 +00:00
Peter Stephenson
ad3e2aa215
25831: fix empty return values from subscript matches with RC_EXPAND_PARAM
2008-10-09 13:46:45 +00:00
Peter Stephenson
29db898a6d
25774: fix in 25772 was applied too widely
2008-09-29 20:56:23 +00:00
Peter Stephenson
7be4f882fe
25772: crash with bad associative array pattern search
2008-09-29 17:39:38 +00:00
Clint Adams
6b68cc95c7
25656: free val only after it may be passed to strlen().
2008-09-13 08:19:17 +00:00
Peter Stephenson
db31a13ecd
25627: add $ZSH_SUBSHELL
2008-09-05 21:02:08 +00:00
Peter Stephenson
dc72699b6c
25364: fix k flag in hash subscript
2008-07-31 13:53:28 +00:00
Peter Stephenson
56e1904e45
fix optimisation of string matching with multibyte mode
...
24732: attempt to provide adequate space for sched ztrftime string with
multibyte characters
2008-03-25 17:47:10 +00:00
Bart Schaefer
4625e0eabc
24717, 24718, 24719: a 0 subscript is neither valid nor equivalent to 1
...
any longer, so the (i) subscript flag on an empty array needs to yield 1.
2008-03-18 15:14:20 +00:00
Peter Stephenson
ed5c4c8e53
24384 plus extra check: care with scanprog
2008-01-10 10:25:31 +00:00