summaryrefslogtreecommitdiff
path: root/Src/lex.c
AgeCommit message (Collapse)AuthorFilesLines
2015-07-2935953: fix handling of command substitution in math contextBarton E. Schaefer1-1/+5
2015-07-0235668: Improved fix for command/proc subst starting in alias.Peter Stephenson1-10/+16
Use input flag to suppress the unwanted backtracking. Add test for the extra case covered.
2015-07-0135667: fix command substitution that starts but doesn't finish in aliasPeter Stephenson1-4/+10
2015-06-2635615: fix completion after tyepsetPeter Stephenson1-0/+1
2015-06-24various posts: Implement assignment parsing for typeset.Peter Stephenson1-2/+2
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-05-2135248: treat fully parenthised zsh patterns as complete case patterns againPeter Stephenson1-2/+0
2015-05-1835168: Improve parsing of case patterns.Peter Stephenson1-0/+2
"|" 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-1535155: cmdpop() could be called erroneously on errorPeter Stephenson1-2/+4
2015-05-0635046: unwind cmdstack when erroring out of lexing a parameter expansion in ↵Barton E. Schaefer1-1/+4
braces
2015-04-1734905: no parse error after keyboard interrupt.Peter Stephenson1-4/+6
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-03-2934817: Catch some errors earlier when reading history.Peter Stephenson1-0/+2
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-2834781: add implicit space after alias expansion of tokens that form words ↵Barton E. Schaefer1-0/+10
without spacing fixes crash when using completion immediately following such an alias
2015-03-2834804: refine POSIX_ALIAS change to preserve old behavior of [[ ]] conditionalsBarton E. Schaefer1-4/+1
2015-03-2734788: refine errflag handling in cmd_or_math()Barton E. Schaefer1-1/+1
2015-03-2234759: improve implementation of last commitPeter Stephenson1-6/+6
2015-03-2234758: fix yet more history / command subst interaction.Peter Stephenson1-0/+19
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-1834734: further aliasing adjustments and docBarton E. Schaefer1-2/+8
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-0534651: Avoid core dump if no lexical tokenPeter Stephenson1-0/+3
2015-03-0434641: make it possible to alias tokensPeter Stephenson1-30/+41
2015-02-1934570: Another nasty command / math substituion thing.Peter Stephenson1-19/+45
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-1634560: Fix $(( that's actually a multiline cmd subst.Peter Stephenson1-0/+4
2015-02-1434543: Prevent crash on garbage bytes inside $(...)Barton E. Schaefer1-2/+4
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-01-1834322: bug with interface to parsestr() etc.Peter Stephenson1-9/+21
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-1834319: fix alias expansion in history for command substitutionPeter Stephenson1-1/+1
2015-01-1632413: turn off history word marking in cmd substPeter Stephenson1-0/+2
2015-01-1634304: improve use of new cmd subst in completionPeter Stephenson1-10/+103
2015-01-1134234: use structures for normal and raw lexical buffer statePeter Stephenson1-110/+95
2015-01-09Rearrange context saving.Peter Stephenson1-261/+60
Variables are now associated with the module that declares them, being initialised and saved/restored there. However, as many variables are used for communication between modules, many of them are set in multiple places, so the assignment is ambiguous.
2015-01-08Fix command substitutions to parse contents as they are read in.Peter Stephenson1-178/+320
Do this by refactoring misnamed lexsave()/lexrestore() to allow continuity of history and input. Add test.
2014-12-1133876: etc.: Separate errors and keyboards interruptsPeter Stephenson1-2/+3
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-1033940: handle backslash-meta correctly in lexerJun-ichi Takimoto1-1/+13
2014-09-3033298: make lexrestore() more signal-safeBarton E. Schaefer1-53/+57
2014-06-2432789: --enable-zsh-valgrind allows analysis of heap allocationPeter Stephenson1-4/+6
2013-07-22unposted: fix previous commit: ihwend -> hwendPeter Stephenson1-1/+1
2013-07-2231559: Fix history line problem with aliases and commentsPeter Stephenson1-0/+1
2012-11-0830783: We don't want leading "="s to be active whenPeter Stephenson1-39/+41
tokenising strings that aren't going to be treated as command line arguments
2012-10-0530715: use enum lextok for variables containing lexical tokensPeter Stephenson1-10/+17
2012-10-03users/17310: we can't treat < after [ as a normal character.Peter Stephenson1-2/+2
Document problem and test for case that needs to work.
2012-10-02users/17304: angle brackets aren't associated with special parsingPeter Stephenson1-2/+2
inside square brackets
2011-12-0829955++: IGNORE_CLOSE_BRACES optionPeter Stephenson1-1/+2
2011-12-0329934: Stef van Vlierberghe: uninitialised memory after lexer reallocPeter Stephenson1-10/+2
2011-09-1529776: fix case of double quotes in double-quote-stylePeter Stephenson1-1/+1
parsing where end character is something else
2011-06-1929491: remove some variables set but not usedPeter Stephenson1-5/+4
2011-05-1929307, 29308 + replies: Fix some doubled words in docs and comments.Mikael Magnusson1-1/+1
2011-02-2428799: lexical analyser didn't stop early enough with completion wordsPeter Stephenson1-1/+1
2011-02-2128783: allow parentheses to be special in more places with SH_GLOBPeter Stephenson1-1/+3
2010-12-1928537: fix word splitting on "((" when it was nested subshells rather thanPeter Stephenson1-0/+5
arithmetic
2010-12-14unposted: another neatening of lexflags use in ZLEPeter Stephenson1-7/+14
2010-12-14lexsave/lexrestore lexflagsPeter Stephenson1-2/+5
add new LEXFLAGS_ZLE
2010-12-1428528: Rearrange zleparse to lexflagsPeter Stephenson1-27/+18
Add (z+n+)