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

136 commits

Author SHA1 Message Date
Peter Stephenson
50dc7f2913 49182: Turn off correction inside command substition.
In "A=$(PWD)" we dont't have the information to correct at the level of the
PWD subcommand, so don't try to do it as this causes a crash.
2021-07-23 20:27:38 +01:00
Peter Stephenson
40723b3991 45900: Fix issues with escaped newline in $-substitution. 2020-05-23 18:01:26 +01:00
Mikael Magnusson
8923d2a618 Add SHORT_REPEAT option 2020-04-02 07:42:16 +02:00
Martijn Dekker
c578f0a08b 45004: Fix typos in comments 2019-12-11 02:37:39 +00:00
Peter Stephenson
ef20425381 43854: Set tok to LEXERR on generic parse error.
Needed by main loop which detects an error this way.
2018-11-29 17:54:02 +00:00
Sebastian Gniazdowski
5556e00c65 43695: minor but simple optmiisation to use existing string length 2018-10-23 09:33:55 +01:00
Peter Stephenson
3517e4a9a5 42581(?): Fix ZLE inline history expansion.
Seen with magic-space.

If there's a parse error in command subtitution we need to complete
reading history to ensure the command line buffer is finished.
2018-04-04 18:33:00 +01:00
Peter Stephenson
36fcaeb167 42245: Abort last word on interactve comment.
Last recorded word should be the previous one.
2018-01-08 17:26:33 +00:00
Barton E. Schaefer
dcd4f02845 41902: ${(z)...} continues parsing on unmatched quote when CSH_JUNKIE_QUOTES is set
Tests for 41902 and 41873
2017-10-17 20:29:47 -07:00
Barton E. Schaefer
1fb6939b94 41873: temporarily disable effects of ${(Z:n:)...} for parsing $(...) within the parameter value
Also fix minor typo in commit b3fa5c52 ChangeLog.
2017-10-13 13:50:18 -07:00
Peter Stephenson
cfd34c75ac 41504: make empty strings work in case patterns with no leading parenthesis 2017-08-09 19:57:47 +01:00
Peter Stephenson
68466f327e 40995: Don't disable alias expansion when finding command substitution limits
This is needed in some unusual cases in order to identify the exit
condition without encountering a parse error.
2017-04-23 17:06:26 +01:00
Peter Stephenson
f3f8537cfa 40760: Always tokenize unquoted - to Dash.
This fixes use of pattern match character ranges in unusual contexts.

Attempt to detect a tokenized - in cases where we don't care.
2017-03-07 10:43:58 +00:00
Peter Stephenson
4073a6655c 39815: Read input to end on parse error in $(...) inside a string.
This allows ${(z)} to output the whole string, although we can't do
word splitting from the error onwards.
2016-11-03 10:30:00 +00:00
Peter Stephenson
ef862262e7 39185: Only set word begin for completion word if not alias.
This is consistent with other ZLE code in lex.c and fixes a crash
in some completions involving aliases, e.g. if uncompleted quotes.
2016-09-07 18:51:01 +01:00
Peter Stephenson
7ae2deb437 unposted: remove flag unneded from previous fix 2016-06-22 14:03:38 +01:00
Peter Stephenson
954cdd77d7 38746: Fix suffix alias expansion recursion.
This was problematic if the expansion landed you back in
command position.

Delay marking the alias as out of use until the text that
caused the expansion is finished.
2016-06-22 13:10:22 +01:00
Barton E. Schaefer
c712e7511a 38468: wb,we values in gotword() needed assignment in additional case to avoid core dump
Bug introduced by 38248.

Also fix ChangeLog entry for 38248 to correctly reference Src/lex.c
2016-05-10 23:17:19 -07:00
Barton E. Schaefer
b911398064 38248: fix word position calculation when completing on or just before a redirection operator
The completion result is still in need of some repair; e.g., if the first
thing on the line is the redirection, completion before it is not taken
to be in command position, and in this and other cases a necessary space
is not inserted between the completed word and the redirection.
2016-04-07 20:24:43 -07:00
Daniel Shahaf
bced1beb8c 37700: Teach ${(z)} the 'repeat WORD SUBLIST' syntax. 2016-01-29 09:14:53 +00:00
Peter Stephenson
1c41f98aab 37705: don't turn - to Dash after start of brace parameter 2016-01-20 11:22:09 +00:00
Barton E. Schaefer
cfa8d8bcad 37682: when SH_GLOB is set, do not parse bare parentheses in arguments as a pattern grouping. 2016-01-19 19:57:59 -08:00
Peter Stephenson
ad16356e19 37689: ! and ^ need to be tokenised in character sets 2016-01-19 17:24:12 +00:00
Peter Stephenson
8eb9070d67 37678: Now possible to quote "-" in pattern range 2016-01-19 09:55:46 +00:00
Barton E. Schaefer
59235205c6 37145: suppress alias expansion in skipcomm()
Thus defer parsing aliases in $(...) et al. into the subshell
2015-11-18 11:11:37 -08:00
Peter Stephenson
ca0cb17011 37128: work around alias expansion trashing subscript parsing 2015-11-17 17:44:12 +00:00
Barton E. Schaefer
4bed2cf256 36669: fix ${(z)...} of an an incomplete math expression by restoring "((" at the front of the token 2015-09-27 23:56:38 -07:00
Barton E. Schaefer
c0a80171ee 35953: fix handling of command substitution in math context 2015-07-29 22:36:45 -07:00
Peter Stephenson
2afdb3985a 35668: Improved fix for command/proc subst starting in alias.
Use input flag to suppress the unwanted backtracking.

Add test for the extra case covered.
2015-07-02 10:01:42 +01:00
Peter Stephenson
dce1f33c02 35667: fix command substitution that starts but doesn't finish in alias 2015-07-01 21:44:50 +01:00
Peter Stephenson
77a0278bcc 35615: fix completion after tyepset 2015-06-26 17:56:44 +01:00
Peter Stephenson
39b28980f3 various posts: Implement assignment parsing for typeset.
Typeset assignments now work like raw assignments except
for no "+=" and no GLOB_ASSIGN.

Documented in typeset builtin doc and mentioned in release notes.

Tests to ensure basic sanity.

Enabled by default, can be turned off by "disable -r" with typeset
family of commands.
2015-06-24 10:21:12 +01:00
Peter Stephenson
afb78f5d14 35248: treat fully parenthised zsh patterns as complete case patterns again 2015-05-21 10:25:07 +01:00
Peter Stephenson
52aeb9aaeb 35168: Improve parsing of case patterns.
"|" is now found properly by looking for words that come
from the lexical analyser, rather than hacking a pattern
returned in one dollop.

Update some completion functions that need extra quoting
as a result.

Add test for new parsing.

Update version number to 5.0.8-dev-3 because of wordcode
incompatibility.
2015-05-18 09:56:00 +01:00
Peter Stephenson
d52bf91659 35155: cmdpop() could be called erroneously on error 2015-05-15 20:26:08 +01:00
Barton E. Schaefer
aa34d2f165 35046: unwind cmdstack when erroring out of lexing a parameter expansion in braces 2015-05-06 07:46:15 -07:00
Peter Stephenson
4508d25710 34905: no parse error after keyboard interrupt.
Handled generally, though only showing up in special nested
cases.

Also fix ZLE so it doesn't cancel the interrupt flag when
not actually returning from a local keymap.
2015-04-17 10:23:58 +01:00
Peter Stephenson
f1c702f2a4 34817: Catch some errors earlier when reading history.
Mostly for the case of an interrupt.

Don't try to process words when we know something's gone wrong.

Also abort history reading earlier on an interrupt.
2015-03-29 19:47:01 +01:00
Barton E. Schaefer
81ba837972 34781: add implicit space after alias expansion of tokens that form words without spacing
fixes crash when using completion immediately following such an alias
2015-03-28 21:24:27 -07:00
Barton E. Schaefer
7d2b53f65b 34804: refine POSIX_ALIAS change to preserve old behavior of [[ ]] conditionals 2015-03-28 21:08:02 -07:00
Barton E. Schaefer
ab4065623a 34788: refine errflag handling in cmd_or_math() 2015-03-27 11:54:55 -07:00
Peter Stephenson
f6be7bc19f 34759: improve implementation of last commit 2015-03-22 19:21:10 +00:00
Peter Stephenson
4fb669a72d 34758: fix yet more history / command subst interaction.
In general we need to wind back over the history text input
inside command substitution because there's no level of
the input mechanism between history and the lexer.
2015-03-22 18:44:56 +00:00
Barton E. Schaefer
32b4cb0e73 34734: further aliasing adjustments and doc
restrict token aliasing (34641) to global aliases; tighten up POSIX_ALIASES to better match spec; update Aliasing doc to cover this and clarify older behavior

2015-03-18  Peter Stephenson  <p.stephenson@samsung.com>

	* 34723: configure.ac: turn off fixed site function directory if
2015-03-18 18:01:54 -07:00
Peter Stephenson
506eaa0a63 34651: Avoid core dump if no lexical token 2015-03-05 10:02:38 +00:00
Peter Stephenson
0ac87e3f59 34641: make it possible to alias tokens 2015-03-04 15:56:17 +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
126fb61c7c 34560: Fix $(( that's actually a multiline cmd subst. 2015-02-16 17:16:57 +00:00
Barton E. Schaefer
2c13d9fb0d 34543: Prevent crash on garbage bytes inside $(...)
Garbage input (nul bytes, etc.) can cause the $(...) parser to become
confused during look-ahead and attempt to back up the input too far.
This commit catches the error but does not fix the underlying cause.
2015-02-14 10:43:10 -08: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