Commit graph

46 commits

Author SHA1 Message Date
Peter Stephenson e65a811520 18941: history wrong after parse error during alias expansion 2003-08-11 13:19:48 +00:00
Peter Stephenson 98307b767c 17318: ${(z)...} added an extra space when the lexical analyser failed. 2002-06-14 17:52:05 +00:00
Wayne Davison cbc7abb006 Added "savehistsiz" (for the new SAVEHIST special parameter), and used it
in place of getiparam("SAVEHIST").
2002-03-24 23:52:47 +00:00
Wayne Davison 663c6e794a In putoldhistentryontop(), ensure that we can't return with "next" set to
the value we just put on top.
2002-02-22 20:40:29 +00:00
Wayne Davison cfcf7bda8d Yet another fix for prepnexthistent(). 2002-02-20 19:25:14 +00:00
Wayne Davison 3b3bafac80 Fixed a just-introduced bug in prepnexthistent() when curline is in
the list.
2002-02-18 19:25:25 +00:00
Wayne Davison d35af383df When savehistfile() rewrites the history file, there was a potential for
losing the entire history file if we couldn't lock the file for reading
(it timed out) but we could lock the file for write (and wrote nothing).
2002-02-16 09:21:34 +00:00
Wayne Davison e706f12937 Optimized putoldhistentryontop() so that when resizehistents() calls it
repeatedly while HIST_EXPIRE_DUPS_FIRST is set, it doesn't re-scan the
already-checked hist items (avoiding potentially slow operation).
2002-02-16 09:15:07 +00:00
Wayne Davison c24a38cdaa Improved resizehistents() so that it honors HISTEXPIREDUPSFIRST. 2002-02-13 18:13:14 +00:00
Clint Adams 7dea9669bb 16577: don't return a single dot as the path head of a slash. 2002-02-06 16:48:28 +00:00
Wayne Davison c1b837b152 Improved readhistline() to reject binary data better. (16184) 2001-10-26 23:47:10 +00:00
Wayne Davison 34c4e565d0 Fix HIST_NO_SPACE when INTERACTIVE_COMMENTS is set and we get a
comment.
2001-10-15 18:42:52 +00:00
Bart Schaefer 63ecd0332b Fix out-of-memory on corrupt history files. 2001-09-24 15:15:08 +00:00
Wayne Davison 2a754dbb61 With HIST_NO_STORE, don't ignore what looks like a history command if
we're really going to call a user-defined shell function.
2001-09-15 06:28:15 +00:00
Wayne Davison fc89b8135a + Changed addhistnum() to return firsthist()-1 or curhist+1 on error.
+ Ignore the "r" command if HIST_NO_STORE is set.
2001-09-13 18:19:11 +00:00
Wayne Davison f7e8ca1d96 When rewriting the history file, set histactive to 0 and restore it
when we're done.  This prevents the loss of the file's last line
when a signal causes us to rewrite it.  Also restore the value of
histsiz.
2001-08-07 19:53:19 +00:00
Wayne Davison 963466358a Have prepnexthistent() remove any HIST_TEMPSTORE entry that is present. 2001-06-28 18:17:14 +00:00
Wayne Davison b207aeeded Don't mark a HIST_TMPSTORE entry with HIST_OLD so that the HFILE_FAST
algorithm in savehistfile() will recheck this hist num later.
2001-06-08 00:15:18 +00:00
Wayne Davison f99520aeb0 Don't merge a HIST_TMPSTORE entry with a previous "duplicate" line.
Also, don't call addhistnode() on a HIST_TMPSTORE entry.
2001-05-19 09:22:10 +00:00
Wayne Davison 9f9ced8c62 + Changed histreduceblanks() to preserve spaces at the start of the
line when HISTIGNORESPACE is set.
+ Flag a history entry with HIST_TMPSTORE when should_ignore_line()
  returns true (instead of dropping it from the history immediately).
+ Get rid of old HIST_TMPSTORE entries when a new command is entered.
+ The hist-file-reading code now handles destroying a foreign
  duplicate (when marked as duplicate by addhistnode()).
2001-05-15 16:32:25 +00:00
Wayne Davison 6066bd7eeb Fixed an obscure local-history bug that could make the "history"
command output something that was slightly wrong. (14304)
2001-05-10 23:06:54 +00:00
Bart Schaefer 220ad9aa23 Parameter repairs, mostly for subscripting. 2001-04-20 06:13:35 +00:00
Wayne Davison 6d4a1bbc5c Slightly optimized should_ignore_line() by using getjobtext() rather
than getpermtext().
2001-04-10 18:03:58 +00:00
Sven Wischnowsky 85de1eae0b properly restore noaliases in bufferwords() (13530) 2001-02-26 09:43:08 +00:00
Peter Stephenson cd02c345af 13280: NewImproved handling of colon modifiers w.r.t. paths 2001-02-19 10:26:52 +00:00
Sven Wischnowsky 757168e2c8 remove 13108 (trap queues); replace with signal queueing to ensure that user signal handlers are only executed when it is safe to run them (13365) 2001-01-16 13:44:18 +00:00
Bart Schaefer 9bf7fb75c5 Fix "vared -h" in shell scripts. 2000-10-21 03:15:36 +00:00
Wayne Davison 4be4c7575c Don't call histreduceblanks() if the line didn't parse right. 2000-10-19 07:12:26 +00:00
Sven Wischnowsky 9bc05a5aa5 isalpha() -> ialpha(); avoid a compiler warning (12439) 2000-07-31 08:12:16 +00:00
Wayne Davison c6a3c250c1 Renamed shouldIgnoreLine() to should_ignore_line(). 2000-07-20 17:00:19 +00:00
Wayne Davison 01ea5e83c5 Support "builtin" in the HIST_NO_STORE check. 2000-07-20 07:09:34 +00:00
Wayne Davison 1ad69e3d44 Removed remhist() and HA_JUNKED, added an Eprog arg to hend(), and
added the shouldIgnoreLine() function that hend() now calls to figure
out if it needs to save the line or not.
2000-07-19 21:12:06 +00:00
Wayne Davison b4c5de44f9 + Got rid of the spaceflag variable.
+ Make sure that the curline.histnum variable is accurate at the end
  of our history processing, even if we read in some foreign history
  and/or if we replaced the prior line because it was a duplicate of
  the current one.  This enables the history (fc -l) command to work
  properly, even if the current command was HIST_NO_SPACE-ed away.
+ Don't allow remhist() to remove the last line in the history if we
  didn't store the current command.
2000-07-18 07:55:13 +00:00
Wayne Davison 656bce6bf5 Fix the gethistent() function and enhanced the reliability of the
SHARE_HISTORY option.
2000-07-17 02:07:23 +00:00
Wayne Davison 2b602a93e6 + Needed to call unmeta() in a few spots that used the HISTFILE name.
+ The non-HAVE_LINK code in lockhistfile() was broken in a number of ways.
+ Added an extra unlink() call to the HAVE_LINK code in lockhistfile()
  since (Linix at least says that) O_EXCL over NFS is broken.
2000-07-16 20:12:19 +00:00
Sven Wischnowsky 0982f4ee64 condition parsing with (z) flag 2000-07-13 12:28:12 +00:00
Sven Wischnowsky c3082d546e slightly improved (z) flag for parsing conditions; recognising glob flags in conditions still doesn't work (12237) 2000-07-13 08:42:10 +00:00
Sven Wischnowsky d861bb9805 fix for (z) flag, don't take # as comment (12228) 2000-07-12 10:31:29 +00:00
Oliver Kiddle 64d9b83105 AIX depenency fix (11661) 2000-05-30 14:06:30 +00:00
Bart Schaefer 8564aa5c0d Wayne: Fix two history bugs that were causing the
failure of `print -s'.
2000-05-30 03:43:27 +00:00
Sven Wischnowsky 7f9f81f3e2 save and restore more variables in bufferwords(); move gotword() into core (11523) 2000-05-23 08:20:56 +00:00
Sven Wischnowsky c844ad8712 Wayne: fix for print -s when called from widget; added lines are not immediately available, though (11171) 2000-05-05 07:42:36 +00:00
Sven Wischnowsky 17e79c0157 fix for the (z) flag: report partial word (like `"foo', without a closing quote); mention in manual that (z) is handled lately (11117) 2000-05-03 13:05:39 +00:00
Sven Wischnowsky 70e5b622ff new (z) parameter flag to do shell-word splitting on the value (11113) 2000-05-03 12:21:55 +00:00
Sven Wischnowsky b1d4a8194a new widget copy-prev-shell-word, like copy-prev-word but uses shell parsing to find word (10685) 2000-04-12 08:24:15 +00:00
Tanaka Akira e74702b467 Initial revision 1999-04-15 18:05:38 +00:00