Subject: Re: bug#22107: 25.1; Wrong docstring for this-single-command-keys

From: Stefan Monnier <[email-masked]>
Date: Tue, 08 Dec 2015 22:28:32 -0500

> I'm not Stefan, so I cannot say that I understand what I'm doing,

I am Stefan, but I cannot say that I understand what I'm doing, sorry.

> diff --git a/src/keyboard.c b/src/keyboard.c
> index 02bc7d2..e378b89 100644
> --- a/src/keyboard.c
> +++ b/src/keyboard.c
> @@ -1486,8 +1486,11 @@ command_loop_1 (void)
>        if (!CONSP (last_command_event))
>  	kset_last_repeatable_command (current_kboard, Vreal_this_command);
>
> -      this_command_key_count = 0;
> -      this_single_command_key_start = 0;
> +      if (NILP (KVAR (current_kboard, Vprefix_arg)))
> +	{
> +	  this_command_key_count = 0;
> +	  this_single_command_key_start = 0;
> +	}
>
>        if (current_kboard->immediate_echo
>  	  && !NILP (call0 (Qinternal_echo_keystrokes_prefix)))

My gut feeling is that this isn't quite right, because the new approach
basically never does anything special for Vprefix_arg (the overarching
design goal is to make prefix-arg completely non-special, to the point
where it should be possible to move it to Elisp, save for its use in
`interactive', IIRC).

        Stefan