Barton E. Schaefer
5cb75f0d41
36909: in getargs(), sanity-check the offsets for start and end of the requested words, in case of overflow
2015-10-21 15:13:17 -07:00
Peter Stephenson
86229fdf09
36468: Fix infinite loop exiting from Zle widget.
...
If the exit was while we were waiting to complete a lexical expression
we might not exit from the loop.
2015-09-10 16:02:27 +01:00
Peter Stephenson
8f8b82bc6c
35883: Don't attempt to back up over history if expanding alias
2015-07-24 10:19:00 +01:00
Peter Stephenson
49ff2e00dc
35854: ensure history character unget doesn't recurse infinitely
2015-07-23 09:32:24 +01:00
Peter Stephenson
f1923bdfa6
Add non-metafied character length handling.
...
Use this in regex module and add test using $'\ua0'.
Rename mb_metacharinit() to mb_charinit() as it does not involve
metafied characters.
2015-06-12 09:30:39 +01:00
Barton E. Schaefer
f8fb6ebae8
34961: clean up declarations of quote() and quotebreak()
2015-04-25 10:51:54 -07: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
Peter Stephenson
a22cb7cad2
34776: improve suppression of alias expansions from history.
...
Now uses the mechanism in use for other forms of suppression of
sections of input.
2015-03-25 18:00:25 +00: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
Peter Stephenson
f48457a695
34742: history expansion inside command substitution failed.
...
Needs the case of alias expansion separating out.
2015-03-19 11:10:49 +00:00
Peter Stephenson
c96606cc06
34623: free history more often if "remetafying"
2015-02-23 17:38:16 +00:00
Mikael Magnusson
ed43cf2768
34615 + 34619: Remeta one frame earlier
2015-02-23 18:09:47 +01:00
Peter Stephenson
bcc4ab792d
34604: Work around problem with changes in Meta characters.
...
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.
2015-02-22 20:22:40 +00:00
Barton E. Schaefer
2546c86244
34389: fix parsing of ">!" when read from histfile with HIST_LEX_WORDS
2015-01-25 13:15:34 -08:00
Peter Stephenson
4688de1677
34365: History lockfile backoff: randomised time.
...
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.
2015-01-25 20:29:18 +00:00
Peter Stephenson
e34ce85151
34319: fix alias expansion in history for command substitution
2015-01-18 16:43:26 +00:00
Peter Stephenson
aa503b592b
unposted: another dubious comment in hist.c fixed
2015-01-16 20:35:41 +00:00
Peter Stephenson
0f60d18249
unposted: improve comment on hist_in_word().
...
Commit f2a2f28f7
was a bit less clear about how hist_in_word()
was used than it could be.
2015-01-16 20:31:11 +00:00
Peter Stephenson
f2a2f28f7b
32413: turn off history word marking in cmd subst
2015-01-16 20:12:40 +00:00
Mikael Magnusson
7dcaa2ff60
hist: remove wrong NULL terminator
...
This actually writes a NULL to some arbitrary location in the caller function's stack. Found by Coverity (Issue 1255746).
2015-01-10 08:48:18 +01:00
Peter Stephenson
cfd91eac07
Rearrange context saving.
...
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-09 21:33:39 +00:00
Mikael Magnusson
6a5339fdd5
34107: getsubsargs: free ptr1 before returning
...
Found by Coverity (Issue 439073).
2015-01-06 23:51:00 +01:00
Mikael Magnusson
adae710eb0
34106: hist: use zhtricat instead of tricat
...
Found by Coverity (Issue 1255769).
2015-01-06 23:47:23 +01:00
Mikael Magnusson
6b79f29fb2
34118: Don't crash when writing out history if HOST is unset
...
Found by Coverity (Issue 1255793).
2015-01-06 23:45:26 +01: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
Oliver Kiddle
62aa039317
33820: detect support for realpath() with a NULL
...
argument and fixes to the use of it
2014-11-30 23:33:30 +01:00
Barton E. Schaefer
605a73e415
33429: disallow non-integer values for HISTSIZE and SAVEHIST of "fc -p", and fix crash on zero values for same
2014-10-10 23:12:57 -07:00
Peter Stephenson
f2aaea5cd3
users/19183: improve unlikely error case with fdopen in history code
2014-09-29 17:17:26 +01:00
Barton E. Schaefer
4414e54ea7
33116: followup to 32580 to prevent double-locking with shared or incremental history
2014-09-06 22:10:30 -07:00
Barton E. Schaefer
b63ff19dbf
32882 (cf. Augie Fackler 32879): correct reload of backslash-continuation lines from history, fix bad history write of events ending with backslashes
2014-07-17 19:53:11 -07:00
Peter Stephenson
7f6dc0fe8e
32682 with tweaks: Add INC_APPEND_HISTORY_TIME.
...
Revert INC_APPEND_HISTORY behaviour.
2014-06-06 21:56:47 +01:00
Barton E. Schaefer
979f72199f
32580: avoid indefinite wait in lockhistfile() by checking for lock file time stamp in the future
...
Also change behavior of HIST_FCNTL_LOCK to use only fcntl() locking, rather
than applying both kinds of lock.
2014-04-25 08:30:18 -07:00
Barton E. Schaefer
f61037a0b0
32531: fix memory leaks detected by valgrind
2014-04-06 09:55:49 -07:00
Barton E. Schaefer
ff520d1b79
31823: add HISTORY_IGNORE parameter
...
HISTORY_IGNORE defines a pattern to exclude matching lines in the internal
history from the HISTFILE at write time.
2013-10-17 07:28:52 -07:00
Peter Stephenson
73ececfd01
31830: New feature for zshaddhistory hooks.
...
If the first non-zero return status is 2, save the line on the
internal history list, but don't write it out.
2013-10-17 10:14:25 +01:00
Peter Stephenson
d0fe73c5fb
31815: another fix for INCAPPENDHISTORY change.
...
We need to save immediately if something is pushed on the history stack
to ensure we use the right file before popping.
2013-10-11 11:13:03 +01:00
Barton E. Schaefer
8ffdf161c7
31797: to match documentation, avoid expanding history when there is neither a
...
word nor an event designator
There are still a few cases where expansion is attempted even though the
documentation indicates it will not be, but in most of those cases the
expansion will fail. The now-fixed case would fall back to default
expansion of the previous command.
2013-10-08 07:21:29 -07:00
Peter Stephenson
6f195241f3
31794: further refinement to INCAPPENDHISTORY change.
...
With SHAREHISTORY we should make sure the code behaves as it always
did, because it takes care about locking a file once for reading
and writing.
2013-10-07 13:01:26 +01:00
Peter Stephenson
9345e57859
31793: Fix problem with non-interactive history.
...
Modify 31789 so it doesn't try to save history from hbegin()
in that case.
2013-10-07 11:43:55 +01:00
Han Pingtian
16ff79a885
31789: Save history for INCAPPENDHISTORY later.
...
This improves the timing recorded in the history.
2013-10-05 22:03:43 +01:00
Barton E. Schaefer
98b0828c63
31770: memmove() instead of memcpy() for overlapping regions.
2013-09-26 21:24:58 -07:00
Peter Stephenson
0b185e3dcd
users/17908: Keep history line in sync between ZLE and shell.
...
Update ZLE version if history is read, pushed or popped with ZLE active
2013-08-08 19:48:11 +01:00
Peter Stephenson
e282fd8ecb
31750: fix for HISTREDUCEBLANKS option.
...
Don't truncate line after marked words if there's more
non-white-space text, which is probably comments.
2013-07-24 15:54:55 +01:00
Peter Stephenson
7c56d77184
30789: Add CONTINUE_ON_ERROR for old behaviour.
...
New behaviour is for scripts to exit on error instead of returning
to top level and executing the next command.
2012-11-15 21:08:15 +00:00
Bart Schaefer
19fe2dcc03
30433: double backslash is not line continuation.
2012-04-21 18:42:56 +00:00
Peter Stephenson
fe7337447c
Timothy Redaelli: file name manipulations
...
in history can return NULL if HAVE_CANONICALIZE_FILE_NAME
2012-02-08 09:35:17 +00:00
Bart Schaefer
f7111d3358
29694: avoid overwriting current history word when not expanding an alias
...
or history event in-place.
2011-08-18 02:24:10 +00:00
Mikael Magnusson
d0366e1960
unposted: fix a typo in a comment.
2011-08-14 14:16:45 +00:00
Peter Stephenson
5c3c825e5f
users/16131: skip reading empty history file
2011-07-18 18:13:03 +00:00