Thank you for the review. I had a feeling that
execute-extended-command's calling of prefix-arg was the correct
usage for command-execute. If I drop that from the PATCH, do I
repost to this bug ID email? I'm unfamiliar with the project.

-Kyle

On Thu, Jan 30, 2020 at 8:12 AM Noam Postavsky <npostavs@gmail.com> wrote:
Kyle Hubert <khubert@gmail.com> writes:

> I have a hard time testing the change to simple.el, as I don't understand
> execute-extended-command. Can anyone help here? I'm worried since it isn't
> using (interactive "P") that this is incorrect. I admit I'm deeper in the
> guts of emacs than typical.

The simple.el let-binding is around command-execute, not
execute-extended-command.  command-execute does specifically read
prefix-arg, so I think that part of your patch should be dropped (I
haven't looked in detail at the ediff part, but it sounds right).

>> --- a/lisp/simple.el
>> +++ b/lisp/simple.el
>> @@ -1888,7 +1888,7 @@ invoking, give a prefix argument to
>> `execute-extended-command'."
>>      ;; `function' and not `execute-extended-command'.  The difference is
>>      ;; visible in cases such as M-x <cmd> RET and then C-x z (bug#11506).
>>      (setq real-this-command function)
>> -    (let ((prefix-arg prefixarg))
>> +    (let ((current-prefix-arg prefixarg))
>>        (command-execute function 'record))