Subject: Re: bug#70847: 29.3; eshell scripts "from anywhere"

From: Jim Porter <[email-masked]>
Date: Tue, 28 May 2024 14:51:07 -0700

On 5/28/2024 12:42 PM, Christopher Howard wrote:
> Then, M-x eshell-command echo blah RET
> 
> Under my normal 29.3 I expect to see "blah" echoed to the message area, but instead I get this error:
> 
>> Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
>>    eshell-add-input-to-history("echo hello")
>>    eshell-read-command()
>>    byte-code("\301 \10D\207" [current-prefix-arg eshell-read-command] 2)
>>    call-interactively(eshell-command record nil)
>>    command-execute(eshell-command record)
>>    execute-extended-command(nil "eshell-command" "eshell-comma")
>>    funcall-interactively(execute-extended-command nil "eshell-command" "eshell-comma")
>>    call-interactively(execute-extended-command nil nil)
>>    command-execute(execute-extended-command)

Thanks for catching this. I believe this ultimately broke due to the fix 
in bug#66700, but as far as I can tell, the intended behavior (adding to 
Eshell's history file for 'eshell-command') had been broken for a lot 
longer. I've pushed a fix to the master branch for this part. This is 
one of those bits that's annoying to write regression tests for since it 
relies on interactive calls and using the minibuffer...

I don't think that should impact the other patches I've posted to this 
bug one way or the other though.