Mercurial > emacs
changeset 21721:46ffb5302c40
(Fcall_interactively): Truncate command-history here.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 23 Apr 1998 21:18:18 +0000 |
parents | b1ee274d921b |
children | 5b26268ee997 |
files | src/callint.c |
diffstat | 1 files changed, 17 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/callint.c Thu Apr 23 18:00:06 1998 +0000 +++ b/src/callint.c Thu Apr 23 21:18:18 1998 +0000 @@ -35,6 +35,8 @@ Lisp_Object Qcall_interactively; Lisp_Object Vcommand_history; +extern Lisp_Object Vhistory_length; + Lisp_Object Vcommand_debug_status, Qcommand_debug_status; Lisp_Object Qenable_recursive_minibuffers; @@ -345,6 +347,14 @@ } Vcommand_history = Fcons (Fcons (function, values), Vcommand_history); + + /* Don't keep command history around forever. */ + if (NUMBERP (Vhistory_length) && XINT (Vhistory_length) > 0) + { + teml = Fnthcdr (Vhistory_length, Vcommand_history); + if (CONSP (teml)) + XCONS (teml)->cdr = Qnil; + } } single_kboard_state (); return apply1 (function, specs); @@ -728,6 +738,13 @@ } Vcommand_history = Fcons (Flist (count + 1, visargs), Vcommand_history); + /* Don't keep command history around forever. */ + if (NUMBERP (Vhistory_length) && XINT (Vhistory_length) > 0) + { + teml = Fnthcdr (Vhistory_length, Vcommand_history); + if (CONSP (teml)) + XCONS (teml)->cdr = Qnil; + } } /* If we used a marker to hold point, mark, or an end of the region,