summary refs log tree commit diff
path: root/Src/hist.c
Commit message (Collapse)AuthorAgeFilesLines
* 41747: Don't create hash entry if just checking existence.Peter Stephenson2017-09-251-2/+3
| | | | Pass a flag in indicating this case.
* 41239: Save and restore default history event on context stack.Peter Stephenson2017-06-071-0/+2
| | | | | This ensures that the default event set by an expansion in ZLE doesn't propagate to the command line expansion.
* 41164: Don't free a history entry if it's curline.Peter Stephenson2017-05-301-27/+15
| | | | | | 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.
* 41113 (tweaked): Save current line linkage to history ring.Peter Stephenson2017-05-181-15/+27
| | | | | | | | | | 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.
* 40248: suppress errors from zshaddhistoryhookBarton E. Schaefer2017-01-031-1/+2
| | | | and do not call it if no history entry will be written
* 40035: Cosmetic fixes for comments and documentation.Eitan Adler2016-11-291-1/+1
| | | | Mostly fixes to doubled words.
* 39958: Add extra byte to PATH_MAX allocations.Peter Stephenson2016-11-171-1/+1
| | | | | This ensures we've got enough space for a null, although this isn't always needed.
* 39545: Add some missing unqueue_signals().Peter Stephenson2016-10-031-0/+1
| | | | All of these are added simply to fit existing logic in other branches.
* 37838: use UNUSED() consistentlyJun-ichi Takimoto2016-01-301-1/+1
|
* 37819: zshaddhistory hook works for any history file write, even upon ↵Barton E. Schaefer2016-01-271-4/+11
| | | | keyboard interrupt
* 36909: in getargs(), sanity-check the offsets for start and end of the ↵Barton E. Schaefer2015-10-211-2/+16
| | | | requested words, in case of overflow
* 36468: Fix infinite loop exiting from Zle widget.Peter Stephenson2015-09-101-0/+6
| | | | | If the exit was while we were waiting to complete a lexical expression we might not exit from the loop.
* 35883: Don't attempt to back up over history if expanding aliasPeter Stephenson2015-07-241-1/+2
|
* 35854: ensure history character unget doesn't recurse infinitelyPeter Stephenson2015-07-231-2/+8
|
* Add non-metafied character length handling.Peter Stephenson2015-06-121-1/+1
| | | | | | | Use this in regex module and add test using $'\ua0'. Rename mb_metacharinit() to mb_charinit() as it does not involve metafied characters.
* 34961: clean up declarations of quote() and quotebreak()Barton E. Schaefer2015-04-251-3/+3
|
* 34817: Catch some errors earlier when reading history.Peter Stephenson2015-03-291-1/+5
| | | | | | | | 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.
* 34776: improve suppression of alias expansions from history.Peter Stephenson2015-03-251-34/+12
| | | | | Now uses the mechanism in use for other forms of suppression of sections of input.
* 34759: improve implementation of last commitPeter Stephenson2015-03-221-1/+2
|
* 34758: fix yet more history / command subst interaction.Peter Stephenson2015-03-221-1/+13
| | | | | | 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.
* 34742: history expansion inside command substitution failed.Peter Stephenson2015-03-191-2/+4
| | | | Needs the case of alias expansion separating out.
* 34623: free history more often if "remetafying"Peter Stephenson2015-02-231-2/+6
|
* 34615 + 34619: Remeta one frame earlierMikael Magnusson2015-02-231-35/+30
|
* 34604: Work around problem with changes in Meta characters.Peter Stephenson2015-02-221-3/+37
| | | | | | 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.
* 34389: fix parsing of ">!" when read from histfile with HIST_LEX_WORDSBarton E. Schaefer2015-01-251-1/+2
|
* 34365: History lockfile backoff: randomised time.Peter Stephenson2015-01-251-10/+31
| | | | | | | 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.
* 34319: fix alias expansion in history for command substitutionPeter Stephenson2015-01-181-6/+20
|
* unposted: another dubious comment in hist.c fixedPeter Stephenson2015-01-161-2/+2
|
* unposted: improve comment on hist_in_word().Peter Stephenson2015-01-161-2/+6
| | | | | Commit f2a2f28f7 was a bit less clear about how hist_in_word() was used than it could be.
* 32413: turn off history word marking in cmd substPeter Stephenson2015-01-161-2/+20
|
* hist: remove wrong NULL terminatorMikael Magnusson2015-01-101-1/+0
| | | | This actually writes a NULL to some arbitrary location in the caller function's stack. Found by Coverity (Issue 1255746).
* Rearrange context saving.Peter Stephenson2015-01-091-2/+86
| | | | | | | 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.
* 34107: getsubsargs: free ptr1 before returningMikael Magnusson2015-01-061-0/+1
| | | | Found by Coverity (Issue 439073).
* 34106: hist: use zhtricat instead of tricatMikael Magnusson2015-01-061-1/+1
| | | | Found by Coverity (Issue 1255769).
* 34118: Don't crash when writing out history if HOST is unsetMikael Magnusson2015-01-061-1/+2
| | | | Found by Coverity (Issue 1255793).
* 33876: etc.: Separate errors and keyboards interruptsPeter Stephenson2014-12-111-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* 33820: detect support for realpath() with a NULLOliver Kiddle2014-11-301-25/+22
| | | | argument and fixes to the use of it
* 33429: disallow non-integer values for HISTSIZE and SAVEHIST of "fc -p", and ↵Barton E. Schaefer2014-10-101-3/+6
| | | | fix crash on zero values for same
* users/19183: improve unlikely error case with fdopen in history codePeter Stephenson2014-09-291-1/+6
|
* 33116: followup to 32580 to prevent double-locking with shared or ↵Barton E. Schaefer2014-09-061-6/+8
| | | | incremental history
* 32882 (cf. Augie Fackler 32879): correct reload of backslash-continuation ↵Barton E. Schaefer2014-07-171-2/+12
| | | | lines from history, fix bad history write of events ending with backslashes
* 32682 with tweaks: Add INC_APPEND_HISTORY_TIME.Peter Stephenson2014-06-061-5/+9
| | | | Revert INC_APPEND_HISTORY behaviour.
* 32580: avoid indefinite wait in lockhistfile() by checking for lock file ↵Barton E. Schaefer2014-04-251-15/+32
| | | | | | | time stamp in the future Also change behavior of HIST_FCNTL_LOCK to use only fcntl() locking, rather than applying both kinds of lock.
* 32531: fix memory leaks detected by valgrindBarton E. Schaefer2014-04-061-1/+2
|
* 31823: add HISTORY_IGNORE parameterBarton E. Schaefer2013-10-171-0/+17
| | | | | HISTORY_IGNORE defines a pattern to exclude matching lines in the internal history from the HISTFILE at write time.
* 31830: New feature for zshaddhistory hooks.Peter Stephenson2013-10-171-4/+21
| | | | | If the first non-zero return status is 2, save the line on the internal history list, but don't write it out.
* 31815: another fix for INCAPPENDHISTORY change.Peter Stephenson2013-10-111-2/+15
| | | | | We need to save immediately if something is pushed on the history stack to ensure we use the right file before popping.
* 31797: to match documentation, avoid expanding history when there is neither aBarton E. Schaefer2013-10-081-0/+6
| | | | | | | | | 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.
* 31794: further refinement to INCAPPENDHISTORY change.Peter Stephenson2013-10-071-1/+9
| | | | | | 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.
* 31793: Fix problem with non-interactive history.Peter Stephenson2013-10-071-1/+1
| | | | | Modify 31789 so it doesn't try to save history from hbegin() in that case.