GNU bug report logs -
#6149
24.0.50; shell buffer overflow when input longer than 4096 bytes
Previous Next
Full log
Message #36 received at 6149 <at> debbugs.gnu.org (full text, mbox):
> From: Spencer Baugh <sbaugh <at> janestreet.com>
> Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>, 24531 <at> debbugs.gnu.org,
> 6149 <at> debbugs.gnu.org, jidanni <at> jidanni.org
> Date: Fri, 21 Jul 2023 09:58:38 -0400
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> > The number of applications that (a) don't need console-like behavior
> > and (b) need to send larger-than-4KB buffers to sub-processes is quite
> > small. Which is why this issue comes up only very rarely. So making
> > pipes the default will fix a very small fraction of applications, and
> > break the vast majority -- clearly a wrong balance.
>
> I see your point, but at the same time, the PTY interface on its own is
> not sufficient to make these applications work, not at all. Specialized
> modes are necessary to make M-x term (to implement a terminal) and M-x
> grep (to parse ANSI color codes) and other such programs work. Running
> things in a PTY without such specialized code doesn't give you anything,
> AFAIK, because a PTY alone is far from enough to make the Emacs end
> behave like a terminal. So such programs need to be aware and careful
> about such things anyway, and need additional infrastructure on top of
> make-process. So the default being "pty" gives such programs very
> little: it doesn't save them any complexity.
That Emacs needs to do something doesn't invalidate my point. My
point is that communications via a PTY is a necessary (though a
sufficient) condition for these features. Basically, you cannot use
pipes for any interactive feature, because pipes are buffered.
> However, what about my patch adding a warning about this to
> process-send-string? I think that is independently valuable. Right now
> we have no documentation of this problem...
This should be documented in the ELisp manual, and in more detail, not
just as a vague warning.
This bug report was last modified 1 year and 321 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.