| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
allocated.
|
| |
|
|
|
|
|
|
| |
Assignments after the first were not recognised as such as without
the full parser the state didn't return to command position.
Fix this in bufferwords() and the completion miniparser.
|
| |
|
|
|
|
|
| |
This was in the glob qualifier and variable code but got missed out
of the separate history modifier function.
|
|
|
|
|
|
|
| |
Pick number of leading or trailing path components to substitute.
Active in history, brace parameters, glob qualifiers.
Add tests for all three environments.
|
|
|
|
|
|
| |
When there were as an unstripped comment on the line the
pointer for stripping spaces could be bogus. Don't do
any editing in that case.
|
|
|
|
|
| |
Record if a read was interrupted and if so process it in full
next time a read is needed.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Don't discard the line from the history merely because it produced
no synactic words.
|
|
|
|
| |
Last recorded word should be the previous one.
|
|
|
|
| |
Pass a flag in indicating this case.
|
|
|
|
|
| |
This ensures that the default event set by an expansion in ZLE
doesn't propagate to the command line expansion.
|
|
|
|
|
|
| |
This replaces 41113 / 94014ff65b with a simple local change for the
immediate problem. It's not entirely clear if this reflects wider
changes in the structure of the history code.
|
|
|
|
|
|
|
|
|
|
| |
When saving history state save whether the current history line
is linked into the ring and remove it, and restore as appropriate
later. This avoids surprises where the history ring is freed
and incorrectly frees the current state in curline, which has
a different allocation strategy.
Original patch tweaked to make restoring more logical.
|
|
|
|
| |
and do not call it if no history entry will be written
|
|
|
|
| |
Mostly fixes to doubled words.
|
|
|
|
|
| |
This ensures we've got enough space for a null, although this
isn't always needed.
|
|
|
|
| |
All of these are added simply to fit existing logic in other branches.
|
| |
|
|
|
|
| |
keyboard interrupt
|
|
|
|
| |
requested words, in case of overflow
|
|
|
|
|
| |
If the exit was while we were waiting to complete a lexical expression
we might not exit from the loop.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Use this in regex module and add test using $'\ua0'.
Rename mb_metacharinit() to mb_charinit() as it does not involve
metafied characters.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Now uses the mechanism in use for other forms of suppression of
sections of input.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Needs the case of alias expansion separating out.
|
| |
|
| |
|
|
|
|
|
|
| |
If reading in a file that contains characters that should be
metafied but are not, fix up on the fly. Only need when using
HIST_LEX_WORDS.
|
| |
|
|
|
|
|
|
|
| |
Time doubles on each lock failure.
zsleep() provides microsecond resolution for sleep; uses nanosleep() if
available, else select via means of existing tty poll function.
|
| |
|
| |
|
|
|
|
|
| |
Commit f2a2f28f7 was a bit less clear about how hist_in_word()
was used than it could be.
|
| |
|
|
|
|
| |
This actually writes a NULL to some arbitrary location in the caller function's stack. Found by Coverity (Issue 1255746).
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Found by Coverity (Issue 439073).
|
|
|
|
| |
Found by Coverity (Issue 1255769).
|
|
|
|
| |
Found by Coverity (Issue 1255793).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
argument and fixes to the use of it
|
|
|
|
| |
fix crash on zero values for same
|
| |
|