[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#6149: bug#24531: process-send-string seems to truncate lines over 40
From: |
Spencer Baugh |
Subject: |
bug#6149: bug#24531: process-send-string seems to truncate lines over 4096 characters |
Date: |
Thu, 20 Jul 2023 16:15:11 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
I see that this bug is about 13 years old. I think there's a pretty
obvious solution: process-connection-type should default to nil.
Otherwise this is a footgun just waiting to happen for anyone writing
process-interaction code in Emacs.
But if we don't do that, we should at least document it. See my
attached patch.
Btw, just to feed the fire, here's my own reproducer:
(with-temp-buffer
(make-process :name "broken" :buffer (current-buffer) :command '("cat"))
(process-send-string nil (make-string 10000 ?x))
(process-send-eof)
(sit-for 1)
(cons (point-min) (point-max)))
>From dcfd129b3f08273a8b0705f03b6074443a7a33c1 Mon Sep 17 00:00:00 2001
From: Spencer Baugh <sbaugh@janestreet.com>
Date: Thu, 20 Jul 2023 16:13:56 -0400
Subject: [PATCH] Include warning about long line truncation in
process-send-string
Maybe we can't fix this. But we can at least warn the user about it!
To have no warning anywhere about this default behavior which silently
discards data, is very user-hostile.
* src/process.c (Fprocess_send_string): Include a warning about long
line truncation (bug#6149)
---
src/process.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/process.c b/src/process.c
index 67d1d3e425f..82ace1b3a41 100644
--- a/src/process.c
+++ b/src/process.c
@@ -6755,6 +6755,8 @@ DEFUN ("process-send-string", Fprocess_send_string,
Sprocess_send_string,
of which depends on the process connection type and the operating
system), it is sent in several bunches. This may happen even for
shorter strings. Output from processes can arrive in between bunches.
+If the process connection type is `pty', then long lines present in
+STRING may be truncated depending on the operating system.
If PROCESS is a non-blocking network process that hasn't been fully
set up yet, this function will block until socket setup has completed. */)
--
2.39.3
- bug#6149: bug#24531: process-send-string seems to truncate lines over 4096 characters,
Spencer Baugh <=
- bug#24531: process-send-string seems to truncate lines over 4096 characters, Stefan Monnier, 2023/07/20
- bug#24531: bug#6149: bug#24531: process-send-string seems to truncate lines over 4096 characters, Eli Zaretskii, 2023/07/21
- bug#24531: process-send-string seems to truncate lines over 4096 characters, Spencer Baugh, 2023/07/21
- bug#24531: process-send-string seems to truncate lines over 4096 characters, Eli Zaretskii, 2023/07/21
- bug#24531: bug#6149: bug#24531: process-send-string seems to truncate lines over 4096 characters, Dmitry Gutov, 2023/07/26
- bug#24531: bug#6149: bug#24531: process-send-string seems to truncate lines over 4096 characters, Eli Zaretskii, 2023/07/27
- bug#6149: bug#24531: process-send-string seems to truncate lines over 4096 characters, Spencer Baugh, 2023/07/27
- bug#6149: bug#24531: process-send-string seems to truncate lines over 4096 characters, Paul Eggert, 2023/07/27
- bug#6149: bug#24531: process-send-string seems to truncate lines over 4096 characters, Stefan Monnier, 2023/07/21