diff options
author | Wayne Davison <wayned@users.sourceforge.net> | 2002-03-24 23:52:47 +0000 |
---|---|---|
committer | Wayne Davison <wayned@users.sourceforge.net> | 2002-03-24 23:52:47 +0000 |
commit | cbc7abb006e55a42f65489332b650b24e2ee7d4b (patch) | |
tree | b2ffc1b2e2af73fb0184423dd992f1d395fc98a4 | |
parent | 18b090df5a50847ae050488493b79b143041dcfe (diff) | |
download | zsh-cbc7abb006e55a42f65489332b650b24e2ee7d4b.tar.gz zsh-cbc7abb006e55a42f65489332b650b24e2ee7d4b.tar.xz zsh-cbc7abb006e55a42f65489332b650b24e2ee7d4b.zip |
Added "savehistsiz" (for the new SAVEHIST special parameter), and used it
in place of getiparam("SAVEHIST").
-rw-r--r-- | Src/hist.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/Src/hist.c b/Src/hist.c index 492c876ec..0b9bf2c17 100644 --- a/Src/hist.c +++ b/Src/hist.c @@ -101,6 +101,11 @@ mod_export Histent hist_ring; /**/ int histsiz; +/* desired history-file size (in lines) */ + +/**/ +int savehistsiz; + /* if = 1, we have performed history substitution on the current line * * if = 2, we have used the 'p' modifier */ @@ -922,7 +927,7 @@ putoldhistentryontop(short keep_going) if (isset(HISTEXPIREDUPSFIRST) && !(he->flags & HIST_DUP)) { static int max_unique_ct = 0; if (!keep_going) - max_unique_ct = getiparam("SAVEHIST"); + max_unique_ct = savehistsiz; do { if (max_unique_ct-- <= 0 || he == hist_ring) { max_unique_ct = 0; @@ -1984,10 +1989,9 @@ savehistfile(char *fn, int err, int writeflags) FILE *out; Histent he; int xcurhist = curhist - !!(histactive & HA_ACTIVE); - int savehist = getiparam("SAVEHIST"); int extended_history = isset(EXTENDEDHISTORY); - if (!interact || savehist <= 0 || !hist_ring + if (!interact || savehistsiz <= 0 || !hist_ring || (!fn && !(fn = getsparam("HISTFILE")))) return; if (writeflags & HFILE_FAST) { @@ -1998,7 +2002,7 @@ savehistfile(char *fn, int err, int writeflags) } if (!he || !lockhistfile(fn, 0)) return; - if (histfile_linect > savehist + savehist / 5) + if (histfile_linect > savehistsiz + savehistsiz / 5) writeflags &= ~HFILE_FAST; } else { @@ -2079,7 +2083,7 @@ savehistfile(char *fn, int err, int writeflags) hist_ring = NULL; curhist = histlinect = 0; - histsiz = savehist; + histsiz = savehistsiz; histactive = 0; createhisttable(); /* sets histtab */ |