[Pkg-zsh-commits] [zsh] 01/01: Cherry pick upstream fix for INC_APPEND_HISTORY regression (Closes: #749969)

Axel Beckert abe at deuxchevaux.org
Mon Jun 9 23:03:01 UTC 2014


This is an automated email from the git hooks/post-receive script.

abe pushed a commit to branch debian
in repository zsh.

commit ce0c912b3a4c4e8e7fc33b7be426fd4cfb5d6729
Author: Axel Beckert <abe at deuxchevaux.org>
Date:   Tue Jun 10 01:02:30 2014 +0200

    Cherry pick upstream fix for INC_APPEND_HISTORY regression (Closes: #749969)
---
 ...8aa295cc4459eabb8f2ada2-INC_APPEND_HISTORY_TIME | 141 +++++++++++++++++++++
 debian/patches/series                              |   1 +
 2 files changed, 142 insertions(+)

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 0000000..3a7185f
--- /dev/null
+++ b/debian/patches/cherry-pick-7f6dc0fe8e3c9aaec8aa295cc4459eabb8f2ada2-INC_APPEND_HISTORY_TIME
@@ -0,0 +1,141 @@
+commit 7f6dc0fe8e3c9aaec8aa295cc4459eabb8f2ada2
+Author: Peter Stephenson <p.w.stephenson at 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 9b678f6..c6f1655 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

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/collab-maint/zsh.git



More information about the Pkg-zsh-commits mailing list