summaryrefslogtreecommitdiff
path: root/src/alloc.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1996-11-07 21:14:18 +0000
committerRichard M. Stallman <rms@gnu.org>1996-11-07 21:14:18 +0000
commit0f936def561bba7b7f6db9e1d51a1051f900c0db (patch)
tree5ce2e2599bacf077784fed3839d534c171d88b33 /src/alloc.c
parent9abbd16515cbbbc3cf065ca31663e9fc05e7aa18 (diff)
downloademacs-0f936def561bba7b7f6db9e1d51a1051f900c0db.tar.gz
(Fgarbage_collect): Use Vhistory_length for truncating Vcommand_history.
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 7f3dbbec27f..ad7e6beb4a3 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -48,6 +48,8 @@ extern char *sbrk ();
extern __malloc_size_t _bytes_used;
extern int __malloc_extra_blocks;
+extern Lisp_Object Vhistory_length;
+
#define max(A,B) ((A) > (B) ? (A) : (B))
#define min(A,B) ((A) < (B) ? (A) : (B))
@@ -1497,10 +1499,13 @@ Garbage collection happens automatically if you cons more than\n\
if (garbage_collection_messages)
message1_nolog ("Garbage collecting...");
- /* Don't keep command history around forever */
- tem = Fnthcdr (make_number (30), Vcommand_history);
- if (CONSP (tem))
- XCONS (tem)->cdr = Qnil;
+ /* Don't keep command history around forever. */
+ if (NUMBERP (Vhistory_length) && XINT (Vhistory_length) > 0)
+ {
+ tem = Fnthcdr (Vhistory_length, Vcommand_history);
+ if (CONSP (tem))
+ XCONS (tem)->cdr = Qnil;
+ }
/* Likewise for undo information. */
{