1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-19 15:41:32 +02:00
Commit graph

203 commits

Author SHA1 Message Date
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
Mikael Magnusson
6c72895bc2 34105: subst: remove dead code
Found by Coverity (Issue 1255810).
2015-01-06 23:46:55 +01:00
Barton E. Schaefer
7e7449592a 34103: fix ancient double-quote handling thinko in subst_parse_str()
This doesn't seem to have mattered, but must in some obscure cases
2015-01-06 09:34:12 -08:00
Barton E. Schaefer
36ec763dbd 33976: fix overlapping strcpy() 2014-12-15 16:41:08 -08: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
3b5d77d819 33423: expand ${(p)...} to allow ${(ps.$param.)...} 2014-10-12 17:52:11 +01:00
Barton E. Schaefer
5a9f3ac773 33118: record original param unset state when treating empty the same as unset,
to avoid incorrect NO_UNSET errors
2014-09-06 22:15:28 -07:00
Peter Stephenson
b516dc37ac unposted: remove unused variables 2014-08-04 18:54:02 +01:00
Mikael Magnusson
b8751cb9d7 32949 (wip 32928, 32937): Add :^ syntax for zipping two arrays 2014-08-04 19:00:01 +02:00
Peter Stephenson
b79ef8caaf 32932: add hmkarray() and use to fix leak 2014-08-01 16:15:13 +01:00
Andrew Waldron
8189e12312 32552 (updated by 32560): fix segfault when using process substitution in anonymous function argument list
Also disallow process substitution in function name position.
2014-04-18 07:30:36 -07:00
Peter Stephenson
22b8fd6da9 32299: add use of underscores on arithmetic output for spacing 2014-01-23 10:32:59 +00:00
Peter Stephenson
bd919f30ae 32001: fix crash on ${:*} and ${:|} 2013-11-17 20:33:57 +00:00
Peter Stephenson
44757a653c 30993: fix parameter modifier crash with :wq on empty string 2013-01-22 16:28:58 +00:00
Peter Stephenson
eb562c9f2c 30715: use enum lextok for variables containing lexical tokens 2012-10-05 21:35:05 +00:00
Peter Stephenson
6f3ff6b653 30633: "functions -T" only traces marked function, not called functions 2012-08-21 18:03:01 +00:00
Peter Stephenson
e49e41725a unposted: add test for valid identifier to 30431 2012-04-22 20:49:39 +00:00
Peter Stephenson
cb4ff5e970 30439: ${...:*...} with nonexistent or non-array after *
should return no results
2012-04-22 18:39:53 +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
4f142f2794 30413: (q-) parameter flag should quote null string
(q-q) etc. should be treated as errors
2012-04-16 11:26:09 +00:00
Peter Stephenson
6f93994a5a 30299: "$*" was split with SHWORDSPLIT if IFS was empty or unset 2012-02-29 09:57:40 +00:00
Bart Schaefer
15138d4fb7 30242: use PREFORK_SINGLE for ${...=...} in POSIX emulation 2012-02-20 17:50:39 +00:00
Peter Stephenson
53f893d062 30181, plus rename of PF_* flags to PREFORK_*:
Pass sh-wordsplitting instructions to paramsubst() using flags,
avoiding side effects of explicitly setting and unsetting the
SHWORDSPLIT option.
2012-02-12 20:27:48 +00:00
Peter Stephenson
ae146b0fe2 30041: fix bash-style offsets for positional parameters when scalars 2011-12-21 22:39:28 +00:00
Peter Stephenson
79dd647496 Ismail Dönmez: 29920: NO_EXEC problem with arithmetic substitution 2011-11-28 09:48:22 +00:00
Peter Stephenson
85b00bb0f7 29703: crash when failing to parse process substitutions 2011-08-17 20:26:05 +00:00
Peter Stephenson
ad29258c8c 29530: ${...?...} shouldn't cause an error with NO_EXEC option 2011-07-01 15:23:01 +00:00
Peter Stephenson
03b0edaa63 29462: fix warning 2011-06-06 09:08:21 +00:00
Peter Stephenson
22af58bf2b 29451: ${##stuff} removes stuff from the head of $# 2011-06-03 22:03:43 +00:00
Peter Stephenson
29d0aa8ef8 29351: casts needed to pass integers through stdarg 2011-05-23 16:08:47 +00:00
Mikael Magnusson
0198b8423d 29224: Support negative LEN in ${VAR:OFFSET:LEN} like bash. 2011-05-19 16:24:38 +00:00
Mikael Magnusson
6a29bc80d0 29261: Add g:: flag. 2011-05-19 16:16:28 +00:00
Mikael Magnusson
72cb7cfc6f 29307, 29308 + replies: Fix some doubled words in docs and comments. 2011-05-19 16:10:46 +00:00
Bart Schaefer
6699851bcb 29313: better sh emulation with SHWORDPLIT and empty $IFS 2011-05-18 01:49:15 +00:00
Peter Stephenson
ee52e3c349 28936: ${#$} and ${#?} also didn't work 2011-03-21 11:09:50 +00:00
Peter Stephenson
4263d2b821 28889: ${##} should return the length of $# 2011-03-11 21:05:59 +00:00
Peter Stephenson
f2dca9e155 users/15864: turn zsh_directory_name into a hook 2011-03-11 16:32:07 +00:00
Peter Stephenson
aa58d139ff Mikael: 28637: ${foo:0:} caused crash 2011-01-18 10:29:58 +00:00
Bart Schaefer
66152e8ada 28530: replace (z+opts+) flag with (Z:opts:), add reserved (_🎏). 2010-12-15 04:05:50 +00:00
Peter Stephenson
eab4f9a83c 28528: Rearrange zleparse to lexflags
Add (z+n+)
2010-12-14 09:59:04 +00:00
Peter Stephenson
0a5702457b 28510: add (z+c+) and (z+C+) parameter flags 2010-12-12 22:44:50 +00:00
Peter Stephenson
fc6c76519b 28434: make ${NAME:OFFSET} always use zero-offset 2010-11-25 10:34:32 +00:00
Peter Stephenson
e6946adf57 28425: remove null arguments and untokenize 2010-11-20 23:46:26 +00:00
Peter Stephenson
8f20b2361c 28419: Doc/Zsh/expn.yo, Src/subst.c, Test/D04parameter.ztst:
KSH_ARRAY ${*:0:1} gives $0, etc.
2010-11-18 13:57:18 +00:00
Peter Stephenson
23bdfc7fd2 28418: add ${NAME:OFFSET:LENGTH} substitution 2010-11-18 10:07:55 +00:00
Peter Stephenson
3f3d80c394 28360: NO_UNSET option should check parameters with trailing options 2010-10-22 16:32:36 +00:00
Peter Stephenson
377f2bb812 28309: fix infinite loop padding with extra wide characters 2010-10-02 19:55:30 +00:00
Peter Stephenson
64d431d98b 28025: (D) parameter flag 2010-06-11 20:08:01 +00:00
Peter Stephenson
147cedfb6f 27965, 27966: Improve ${(q)...}: newline appears as $'\n;, 2010-05-27 18:57:34 +00:00
Peter Stephenson
11440d17d1 27889: Force more use of GLOB_SUBST in parameters if ~ is used 2010-04-20 21:16:21 +00:00
Peter Stephenson
e2d855f364 27865: fix problem with glob_subst in parameter subsitution 2010-04-09 15:40:13 +00:00
Peter Stephenson
815cc9fc0d rationalise widths of non-printing characters to zero. 2010-03-27 19:04:35 +00:00
Peter Stephenson
21193d7f01 users/14905 + 14906: problems with :s in parameter expansion 2010-02-27 00:18:13 +00:00
Peter Stephenson
4a0ddedf0a unposted: a couple of typeset -g's and a comment 2010-02-08 11:49:28 +00:00
Peter Stephenson
72529e4fa6 27304: add ${(q-)..} flag 2009-06-05 11:15:48 +00:00
Peter Stephenson
feb29659f1 users/14143 plus tweak in padding code:
use default IFS if IFS is unset
2009-05-20 09:04:39 +00:00
Peter Stephenson
3e1e46e9d2 26748: c modifier to add command path 2009-03-23 12:17:32 +00:00
Peter Stephenson
7733ade831 Michael Hwang: 26731 with cosmetic changes: add "a" and "A" modifiers
26736: document the above
2009-03-15 01:17:05 +00:00
Peter Stephenson
e391f09457 26705: multibyte characters with Meta in ${(%)foo} etc. 2009-03-10 11:12:02 +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
14231691e1 26061: fix clash between process subst and numeric glob
26062: additional compmatch change, missed from 26047
2008-11-18 10:07:31 +00:00
Peter Stephenson
2fbc131ca8 26055: ensure process substitution is handled before parameter and command 2008-11-17 16:11:29 +00:00
Peter Stephenson
35a8612f21 26042 with some fixes from 26043 (Mikael):
allow <(...) and >(...) to occur in the middle of strings
and =(...) to have extra text following
2008-11-13 21:18:14 +00:00
Peter Stephenson
25833cc89e 25969: two bugs with metafication plus a test for one 2008-10-30 15:34:18 +00:00
Peter Stephenson
043959b0be 25760: add (~) flag 2008-09-27 20:58:24 +00:00
Peter Stephenson
4a34c96289 25755/25756: Jörg Sommer: improved handling of module arguments
25759: fix dynamic named directory crash, static named directory consistency
2008-09-27 19:57:25 +00:00
Peter Stephenson
b2d08a2155 25744: dynamic named directories and further doshfunc() simplification 2008-09-26 09:11:27 +00:00
Peter Stephenson
1f81bdcb47 25587: fix a==(stuff) and associated stuff. 2008-09-01 20:18:46 +00:00
Peter Stephenson
bd70d684fc 25002: only ZLE should update attributes resulting from prompt expansion 2008-05-12 13:50:42 +00:00
Peter Stephenson
cc026d2339 24788: ${(m)#...} returns string print width 2008-04-03 21:10:54 +00:00
Peter Stephenson
0076d68664 24611: fix ${+array[...]} for empty range 2008-02-27 15:51:26 +00:00
Peter Stephenson
2d03aa87fb 24264: restrict effect of 24234 to parameter substitution code and document 2007-12-16 14:05:14 +00:00
Peter Stephenson
5d5d1bef6e 24234: apply typeset parameter flags consistently 2007-12-13 20:52:52 +00:00
Peter Stephenson
a232ab5624 users/12149: "@" with splitting in double quotes retains empty fields 2007-10-30 14:01:32 +00:00
Peter Stephenson
4d52b7ebe6 23670: rationalise some linked list functions 2007-06-27 13:56:10 +00:00
Peter Stephenson
abae4fe16e 23562: add KSH_ZERO_SUBSCRIPT option and leave off by default 2007-06-18 13:25:03 +00:00
Peter Stephenson
a35302ebd4 23257: buffer too short for multibyte ${(#)...} evalution 2007-04-02 11:00:35 +00:00
Bart Schaefer
3fc59a0f09 23176: apply the (X) parameter flag to the (#) flag; fix comment typo. 2007-02-25 23:41:03 +00:00
Peter Stephenson
0a532a8f7f fix metafication of ${(#)x} 2007-02-10 22:12:58 +00:00
Peter Stephenson
54d692c4b5 23143: make =-expansion with metacharacters more consistent 2007-02-02 21:42:14 +00:00
Wayne Davison
ecaf124c95 Silenced a compiler warning by making an int unsigned. 2007-01-26 19:18:17 +00:00
Peter Stephenson
553e011320 23118: improve sorting to make it work with locales 2007-01-21 22:47:36 +00:00
Peter Stephenson
481d1b7560 23114: ${foo:s/bar/rod} broken 2007-01-18 17:27:10 +00:00
Peter Stephenson
d8e36bffa2 23052: multibyte characters in typeset -L/R/Z padding 2006-12-13 22:30:37 +00:00
Peter Stephenson
34381548da Incomplete improvements for $'...' in completion 2006-12-03 21:07:17 +00:00
Peter Stephenson
b09a7cc5bf 22997: fix ${...?...} exit and traps 2006-11-11 13:16:10 +00:00
Peter Stephenson
f367a90505 22980: 22952 messed up parameter padding flag optional arguments 2006-11-07 22:47:07 +00:00
Peter Stephenson
d8207acddb 22952: fix some argument delimiters to work with multibyte characters 2006-11-02 18:43:19 +00:00
Peter Stephenson
9471bbcfa0 22934, modified, see 22937: add HIST_SUBST_PATTERN option
make ${.../#%...} anchor at both ends
2006-11-01 12:25:18 +00:00
Peter Stephenson
289b14113b 22819: improved internal use of string quotation,
plus completion bug fix with RCQUOTES
2006-10-05 21:53:26 +00:00
Peter Stephenson
8f98285662 22765: rename some MB_ macros to WC_ for consistency. 2006-09-23 20:25:05 +00:00
Andrey Borzenkov
71fa876def 22761: fix compdescrie for multibyte characters 2006-09-23 14:43:57 +00:00
Peter Stephenson
2bfad02a94 22742: parameter padding uses string lengths unless (m) flag set
22743: restrict sh "- [args]" -> "-xv [-- args]" hack to sh mode
2006-09-20 09:22:34 +00:00
Peter Stephenson
bb3628e898 assume width 1 for control characters;
don't crash if width of repeated padding string is 0
2006-09-15 13:17:27 +00:00
Peter Stephenson
a242b1eb35 22705: make ${(l...)...} and ${(r...)...} handle multibyte characters 2006-09-13 20:55:29 +00:00
Peter Stephenson
6371325fdf 22689: untokenize strings used in parameter substitution pattern matching 2006-09-12 09:56:25 +00:00
Peter Stephenson
80acfd135c 22684: improve getkeystring() interface and make printf do octal escapes 2006-09-10 18:10:48 +00:00
Peter Stephenson
b726ead94e 22676, 22678: extend sched and make it able to run events when waiting for
input
2006-09-10 15:24:26 +00:00
Peter Stephenson
50e9ab122b 22556: Multibyte separators and delimiters 2006-07-24 22:00:19 +00:00
Peter Stephenson
4a67f24798 22544: Improve use of ztype tests for multibyte characters. Add
POSIX_IDENTIFIERS option to control allowability of multibyte
alphanumeric characters in parameter and module names.
2006-07-10 13:08:22 +00:00