Subject: bug#21498: macos: `ps -ef | grep "test"` in eshell beeps

From: Jim Porter <[email-masked]>
Date: Thu, 25 Jul 2024 08:53:44 -0700

On 7/25/2024 6:36 AM, Stefan Kangas wrote:
> I've tested this on Emacs 30 on mac OS 14.5, and the bug is still
> present.  I now get this backtrace, however:
> 
> Debugger entered--Lisp error: (void-function eshell-set-exit-info)
>    eshell-set-exit-info(0 t)
>    #f(compiled-function () #<bytecode 0x1cf599f366a88a85>)()
>    eshell-sentinel(#<process grep> "finished\n")
> 
> Copying in Jim Porter, in case he has any ideas.

Is this in Emacs 30? 'eshell-set-exit-info' doesn't exist anywhere in 
Emacs 30 (it's new in 31). Is there something amiss in your build?

If this is with Emacs 31, then I don't see how this error could be 
occurring either. 'eshell-set-exit-info' is just an ordinary function in 
another file, which is always 'require'd when Eshell starts. (If it 
really weren't defined properly, then I'd expect most of the Eshell test 
suite to fail - on all platforms - and it passes for me.)

If you resolve the 'eshell-set-exit-info' issue and the original bug is 
still there, could you try running the Eshell command "eshell-debug 
process" and then run the buggy Eshell command again? This should print 
a bunch of logs about process handling to the "*eshell last cmd*" 
buffer. If I can take a look at that output, I might see something of 
interest.