diff options
-rw-r--r-- | debian/patches/cherry-pick-7f6dc0fe8e3c9aaec8aa295cc4459eabb8f2ada2-INC_APPEND_HISTORY_TIME | 141 | ||||
-rw-r--r-- | debian/patches/series | 1 |
2 files changed, 142 insertions, 0 deletions
diff --git a/debian/patches/cherry-pick-7f6dc0fe8e3c9aaec8aa295cc4459eabb8f2ada2-INC_APPEND_HISTORY_TIME b/debian/patches/cherry-pick-7f6dc0fe8e3c9aaec8aa295cc4459eabb8f2ada2-INC_APPEND_HISTORY_TIME new file mode 100644 index 000000000..3a7185f01 --- /dev/null +++ b/debian/patches/cherry-pick-7f6dc0fe8e3c9aaec8aa295cc4459eabb8f2ada2-INC_APPEND_HISTORY_TIME @@ -0,0 +1,141 @@ +commit 7f6dc0fe8e3c9aaec8aa295cc4459eabb8f2ada2 +Author: Peter Stephenson <p.w.stephenson@ntlworld.com> +Date: Fri Jun 6 21:56:47 2014 +0100 + + 32682 with tweaks: Add INC_APPEND_HISTORY_TIME. + Revert INC_APPEND_HISTORY behaviour. + +Index: zsh/Doc/Zsh/options.yo +=================================================================== +--- zsh.orig/Doc/Zsh/options.yo 2014-06-09 22:49:42.443674688 +0200 ++++ zsh/Doc/Zsh/options.yo 2014-06-09 22:49:42.439674738 +0200 +@@ -971,6 +971,23 @@ + number of lines grows 20% beyond the value specified by + tt($SAVEHIST) (see also the HIST_SAVE_BY_COPY option). + ) ++pindex(INC_APPEND_HISTORY_TIME) ++pindex(NO_INC_APPEND_HISTORY_TIME) ++pindex(INCAPPENDHISTORYTIME) ++pindex(NOINCAPPENDHISTORYTIME) ++cindex(history, incremental appending to a file with time) ++item(tt(INC_APPEND_HISTORY_TIME))( ++This option is a variant of tt(INC_APPEND_HISTORY) in which, where ++possible, the history entry is written out to the file after the ++command is finished, so that the time taken by the command is recorded ++correctly in the history file in tt(EXTENDED_HISTORY) format. This ++means that the history entry will not be available immediately from ++other instances of the shell that are using the same history file. ++ ++This option is only useful if tt(INC_APPEND_HISTORY) and ++tt(SHARE_HISTORY) are turned off. The three options should be ++considered mutually exclusive. ++) + pindex(SHARE_HISTORY) + pindex(NO_SHARE_HISTORY) + pindex(SHAREHISTORY) +@@ -981,10 +998,10 @@ + + This option both imports new commands from the history file, and also + causes your typed commands to be appended to the history file (the +-latter is like specifying tt(INC_APPEND_HISTORY)). +-The history lines are also output with timestamps ala +-tt(EXTENDED_HISTORY) (which makes it easier to find the spot where +-we left off reading the file after it gets re-written). ++latter is like specifying tt(INC_APPEND_HISTORY), which should be turned ++off if this option is in effect). The history lines are also output ++with timestamps ala tt(EXTENDED_HISTORY) (which makes it easier to find ++the spot where we left off reading the file after it gets re-written). + + By default, history movement commands visit the imported lines as + well as the local lines, but you can toggle this on and off with the +@@ -994,8 +1011,9 @@ + + If you find that you want more control over when commands + get imported, you may wish to turn tt(SHARE_HISTORY) off, +-tt(INC_APPEND_HISTORY) on, and then manually import +-commands whenever you need them using `tt(fc -RI)'. ++tt(INC_APPEND_HISTORY) or tt(INC_APPEND_HISTORY_TIME) (see above) on, ++and then manually import commands whenever you need them using `tt(fc ++-RI)'. + ) + enditem() + +Index: zsh/Src/hist.c +=================================================================== +--- zsh.orig/Src/hist.c 2014-06-09 22:49:42.443674688 +0200 ++++ zsh/Src/hist.c 2014-06-09 22:49:42.439674738 +0200 +@@ -935,9 +935,11 @@ + + hf = getsparam("HISTFILE"); + /* +- * For INCAPPENDHISTORY, when interactive, save the history here ++ * For INCAPPENDHISTORYTIME, when interactive, save the history here + * as it gives a better estimate of the times of commands. + * ++ * If INCAPPENDHISTORY is also set we've already done it. ++ * + * If SHAREHISTORY is also set continue to do so in the + * standard place, because that's safer about reading and + * rewriting history atomically. +@@ -950,7 +952,8 @@ + * so that (correctly) nothing happens here. But it shows + * I thought about it. + */ +- if (isset(INCAPPENDHISTORY) && !isset(SHAREHISTORY) && ++ if (isset(INCAPPENDHISTORYTIME) && !isset(SHAREHISTORY) && ++ !isset(INCAPPENDHISTORY) && + !(histactive & HA_NOINC) && !strin && histsave_stack_pos == 0) + savehistfile(hf, 0, HFILE_USE_OPTIONS | HFILE_FAST); + } +@@ -1378,7 +1381,8 @@ + * For normal INCAPPENDHISTORY case and reasoning, see hbegin(). + */ + if (isset(SHAREHISTORY) ? histfileIsLocked() : +- (isset(INCAPPENDHISTORY) && histsave_stack_pos != 0)) ++ (isset(INCAPPENDHISTORY) || (isset(INCAPPENDHISTORYTIME) && ++ histsave_stack_pos != 0))) + savehistfile(hf, 0, HFILE_USE_OPTIONS | HFILE_FAST); + unlockhistfile(hf); /* It's OK to call this even if we aren't locked */ + /* +@@ -2541,7 +2545,7 @@ + } + if (writeflags & HFILE_USE_OPTIONS) { + if (isset(APPENDHISTORY) || isset(INCAPPENDHISTORY) +- || isset(SHAREHISTORY)) ++ || isset(INCAPPENDHISTORYTIME) || isset(SHAREHISTORY)) + writeflags |= HFILE_APPEND | HFILE_SKIPOLD; + else + histfile_linect = 0; +@@ -2577,7 +2581,7 @@ + tmpfile = NULL; + if (err) { + if (isset(APPENDHISTORY) || isset(INCAPPENDHISTORY) +- || isset(SHAREHISTORY)) ++ || isset(INCAPPENDHISTORYTIME) || isset(SHAREHISTORY)) + zerr("rewriting %s would change its ownership -- skipped", fn); + else + zerr("rewriting %s would change its ownership -- history not saved", fn); +Index: zsh/Src/options.c +=================================================================== +--- zsh.orig/Src/options.c 2014-06-09 22:49:42.443674688 +0200 ++++ zsh/Src/options.c 2014-06-09 22:49:42.439674738 +0200 +@@ -165,6 +165,7 @@ + {{NULL, "ignoreclosebraces", OPT_EMULATE}, IGNORECLOSEBRACES}, + {{NULL, "ignoreeof", 0}, IGNOREEOF}, + {{NULL, "incappendhistory", 0}, INCAPPENDHISTORY}, ++{{NULL, "incappendhistorytime", 0}, INCAPPENDHISTORYTIME}, + {{NULL, "interactive", OPT_SPECIAL}, INTERACTIVE}, + {{NULL, "interactivecomments",OPT_BOURNE}, INTERACTIVECOMMENTS}, + {{NULL, "ksharrays", OPT_EMULATE|OPT_BOURNE}, KSHARRAYS}, +Index: zsh/Src/zsh.h +=================================================================== +--- zsh.orig/Src/zsh.h 2014-06-09 22:49:42.443674688 +0200 ++++ zsh/Src/zsh.h 2014-06-09 22:49:42.439674738 +0200 +@@ -2092,6 +2092,7 @@ + IGNORECLOSEBRACES, + IGNOREEOF, + INCAPPENDHISTORY, ++ INCAPPENDHISTORYTIME, + INTERACTIVE, + INTERACTIVECOMMENTS, + KSHARRAYS, diff --git a/debian/patches/series b/debian/patches/series index 9b678f629..c6f165561 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1,4 @@ replace-texi2html-with-makeinfo cherry-pick-d397599cea5aa39492e5914c876a3991b8543445-apt-completion cherry-pick-60bedea3e712178beac392af1ca6ed7291630459-apt-mark-completion +cherry-pick-7f6dc0fe8e3c9aaec8aa295cc4459eabb8f2ada2-INC_APPEND_HISTORY_TIME |