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

162 commits

Author SHA1 Message Date
Barton E. Schaefer
a9add3de54 35694: fix handling of history modifiers applied across all elements of an array parameter value 2015-07-06 16:35:05 -07:00
Peter Stephenson
75cafccc0a 35343: Avoid $#name length handling for POSIX_IDENTIFIERS 2015-05-31 16:40:14 +01:00
Peter Stephenson
e88610b786 35326: $#- was misparsed as ${#-} 2015-05-29 16:06:47 +01:00
Peter Stephenson
0da0a0b9c7 35153: nested math substitution 2015-05-15 10:19:53 +01:00
Peter Stephenson
59a874f94e 35151: improved check for parameter q and b flags 2015-05-15 09:58:17 +01:00
Peter Stephenson
6269db883a 35067: Add (b) parameter flag for pattern char backslashing.
Doc tweak from Daniel in 35071.

Includes test.
2015-05-10 19:19:34 +01:00
Peter Stephenson
6fa63a0ce2 34606: fix up nested arithmetic substitution
Arithmetic within a parameter substitution is a special
case that needs fixing with the introduction of the new
Inparmath token.

Add test.
2015-02-22 21:32:08 +00:00
Peter Stephenson
2cbf9d7e65 34573: Safer failure to handle command substitution 2015-02-19 12:01:16 +00:00
Peter Stephenson
52e938bac9 34570: Another nasty command / math substituion thing.
Mark arithmetic substitutions with tokens to make sure the substitution
go knows what to do.  Before it was guessing by counting the
parentheses at the end.
2015-02-19 10:22:40 +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
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