| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
This is needed in some unusual cases in order to identify the exit
condition without encountering a parse error.
|
|
|
|
|
|
| |
This fixes use of pattern match character ranges in unusual contexts.
Attempt to detect a tokenized - in cases where we don't care.
|
|
|
|
|
| |
This allows ${(z)} to output the whole string, although we can't do
word splitting from the error onwards.
|
|
|
|
|
| |
This is consistent with other ZLE code in lex.c and fixes a crash
in some completions involving aliases, e.g. if uncompleted quotes.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
avoid core dump
Bug introduced by 38248.
Also fix ChangeLog entry for 38248 to correctly reference Src/lex.c
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
pattern grouping.
|
| |
|
| |
|
|
|
|
| |
Thus defer parsing aliases in $(...) et al. into the subshell
|
| |
|
|
|
|
| |
at the front of the token
|
| |
|
|
|
|
|
|
| |
Use input flag to suppress the unwanted backtracking.
Add test for the extra case covered.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"|" 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.
|
| |
|
|
|
|
| |
braces
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
without spacing
fixes crash when using completion immediately following such an alias
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Do this by refactoring misnamed lexsave()/lexrestore() to allow
continuity of history and input.
Add test.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|