about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2004-11-16 19:05:50 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2004-11-16 19:05:50 +0000
commitba32e5229264d45029e27d40d8c3bf3b5fdeec51 (patch)
tree5538360837002bcb76b2bf8d33104872bb685c2d
parentfece5e8960b0d6200c1a84690bc242c945fdfb1e (diff)
downloadzsh-ba32e5229264d45029e27d40d8c3bf3b5fdeec51.tar.gz
zsh-ba32e5229264d45029e27d40d8c3bf3b5fdeec51.tar.xz
zsh-ba32e5229264d45029e27d40d8c3bf3b5fdeec51.zip
users/8219: add $HISTCMD
-rw-r--r--ChangeLog6
-rw-r--r--Doc/Zsh/params.yo6
-rw-r--r--Doc/Zsh/zle.yo5
-rw-r--r--Src/params.c1
4 files changed, 17 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 82e11a127..fb512ccd3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2004-11-16  Peter Stephenson  <pws@csr.com>
 
+	* users/8219: Doc/Zsh/params.yo, Doc/Zsh/zle.yo,
+	Src/params.c: Add $HISTCMD which gives the current history
+	line number as in bash.  Works like ${(%):-%!} except that a human
+	being could find out how to use it, too.  Note it is
+	distinct from zle's $HISTNO.
+
 	* 20556: AIX 5.3 has a SOCKLEN_T definition, so use
 	ZSOCKLEN_T internally.
 
diff --git a/Doc/Zsh/params.yo b/Doc/Zsh/params.yo
index d9ab5c1f3..be178c042 100644
--- a/Doc/Zsh/params.yo
+++ b/Doc/Zsh/params.yo
@@ -535,6 +535,12 @@ parameter.  Also (assuming sufficient privileges), you may start a single
 command under a different
 group ID by `tt(LPAR()GID=)var(gid)tt(; command+RPAR())'
 )
+vindex(HISTCMD)
+item(tt(HISTCMD))(
+The current history line number in an interactive shell, in other
+words the line number for the command that caused tt($HISTCMD)
+to be read.
+)
 vindex(HOST)
 item(tt(HOST))(
 The current hostname.
diff --git a/Doc/Zsh/zle.yo b/Doc/Zsh/zle.yo
index 39d28a49d..522f9f714 100644
--- a/Doc/Zsh/zle.yo
+++ b/Doc/Zsh/zle.yo
@@ -645,7 +645,10 @@ item(tt(HISTNO) (integer))(
 The current history number.  Setting this has the same effect as
 moving up or down in the history to the corresponding history line.
 An attempt to set it is ignored if the line is not stored in the
-history.
+history.  Note this is not the same as the parameter tt(HISTCMD),
+which always gives the number of the history line being added to the main
+shell's history.  tt(HISTNO) refers to the line being retrieved within
+zle.
 )
 vindex(KEYMAP)
 item(tt(KEYMAP) (scalar))(
diff --git a/Src/params.c b/Src/params.c
index 5d2dee506..e898f9409 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -184,6 +184,7 @@ LCIPDEF("LC_TIME"),
 IPDEF4("!", &lastpid),
 IPDEF4("$", &mypid),
 IPDEF4("?", &lastval),
+IPDEF4("HISTCMD", &curhist),
 IPDEF4("LINENO", &lineno),
 IPDEF4("PPID", &ppid),