[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#31211: 27.0.50; Pruning of command-history in command-execute is off
From: |
Basil L. Contovounesios |
Subject: |
bug#31211: 27.0.50; Pruning of command-history in command-execute is off by one |
Date: |
Sun, 29 Apr 2018 20:54:56 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
0001-Fix-off-by-one-history-pruning-bug-31211.patch
Description: Text Data
0002-Minor-simple.el-simplifications.patch
Description: Text Data
Noam Postavsky <npostavs@gmail.com> writes:
> You need to change call-interactively in callint.c in order to fix the
> test case from your OP though, right? This part:
>
> /* Don't keep command history around forever. */
> if (INTEGERP (Vhistory_length) && XINT (Vhistory_length) > 0)
> {
> Lisp_Object teml = Fnthcdr (Vhistory_length, Vcommand_history);
> if (CONSP (teml))
> XSETCDR (teml, Qnil);
> }
Whoops, right you are; I jumped the gun on that one.
Is there any reason why we can't use add-to-history in places like
Fcall_interactively in src/callint.c and read_minibuf in src/minibuf.c,
rather than duplicating its logic and falling into off-by-one traps?
I attach a patch which delegates to add-to-history in various such
places, on the assumption this is kosher. Please let me know whether
something like this would be acceptable and/or how it can made so.
The second attachment comprises the same minor lisp/simple.el touch-ups
as in my last email.
Thanks,
--
Basil