GNU bug report logs - #79079
31.0.50; Piped command output is sometimes lost in Eshell

Previous Next

Package: emacs;

Reported by: Daniel Mendler <mail <at> daniel-mendler.de>

Date: Wed, 23 Jul 2025 09:57:01 UTC

Severity: normal

Found in version 31.0.50

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jim Porter <jporterbugs <at> gmail.com>
Cc: mail <at> daniel-mendler.de, eggert <at> cs.ucla.edu, 79079 <at> debbugs.gnu.org
Subject: bug#79079: 31.0.50; Piped command output is sometimes lost in Eshell
Date: Fri, 25 Jul 2025 09:42:02 +0300
> Date: Thu, 24 Jul 2025 10:05:50 -0700
> Cc: mail <at> daniel-mendler.de, 79079 <at> debbugs.gnu.org
> From: Jim Porter <jporterbugs <at> gmail.com>
> 
> --- a/src/process.c
> +++ b/src/process.c
> @@ -6873,10 +6873,13 @@ send_process (Lisp_Object proc, const char *buf, ptrdiff_t len,
>  		}
>  	      else if (errno == EPIPE)
>  		{
> -		  p->raw_status_new = 0;
> -		  pset_status (p, list2 (Qexit, make_fixnum (256)));
> -		  p->tick = ++process_tick;
> -		  deactivate_process (proc);
> +		  /* FIXME: Handle PTY too?  What about sockets?  And
> +		     remove this debug statement.  */
> +		  AUTO_STRING (format, "[debug] EPIPE: %S");
> +		  CALLN (Fmessage, format, p->name);
> +
> +		  close_process_fd(&p->open_fd[WRITE_TO_SUBPROCESS]);
> +		  p->outfd = -1;
>  		  error ("Process %s no longer connected to pipe; closed it",
>  			 SDATA (p->name));
>  		}

Why do we need to emit a message about EPIPE, when we will immediately
signal an error with the same information?  The message will not be
seen by users except if they look in *Messages*.




This bug report was last modified 32 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.