[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, 27 Jul 2023 09:59:53 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Eli Zaretskii <eliz@gnu.org> writes:
>> Date: Thu, 27 Jul 2023 04:48:18 +0300
>> Cc: 24531@debbugs.gnu.org, 6149@debbugs.gnu.org,
>> Stefan Monnier <monnier@iro.umontreal.ca>, jidanni@jidanni.org
>> From: Dmitry Gutov <dmitry@gutov.dev>
>>
>> If some syscall or etc limits the length of a string to 4096, can't we
>> detect this case, split the string and emit said call multiple times?
>>
>> This function's docstring already mentions the case of
>>
>> If STRING is larger than the input buffer of the process, ...
>> it is sent in several bunches
Alas it's far more cursed than that. The length of a *line* is limited
to 4096 characters. So regardless of how big or small your buffers for
writing are, if you write more than 4095 characters before writing a
newline, the remaining characters will be discarded. There is no way to
prevent this with ptys.
So even if we wrote one character at a time, characters would start
getting dropped after writing 4095 non-newline characters.
>
> AFAIU, that is based on the errno value returned by a 'write' call
> which attempts to write too many bytes (see the would_block function).
> I guess writes to PTYs don't do that?
Writes to PTYs do tell us when the data has been truncated. There's
just nothing we can do with that information.
- bug#6149: bug#24531: process-send-string seems to truncate lines over 4096 characters, Spencer Baugh, 2023/07/20
- 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 <=
- 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