[Top][All Lists]

[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)

Attachment: 0001-Fix-off-by-one-history-pruning-bug-31211.patch
Description: Text Data

Attachment: 0002-Minor-simple.el-simplifications.patch
Description: Text Data

Noam Postavsky <address@hidden> 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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]