|
From: | GNU bug Tracking System |
Subject: | [debbugs-tracker] bug#7078: closed (24.0.50; process-send-string doesn't work with long lines on Solaris) |
Date: | Fri, 12 Aug 2016 19:53:02 +0000 |
Your message dated Fri, 12 Aug 2016 11:40:03 -0700 with message-id <address@hidden> and subject line Re: bug#6800: 23.1; EOT / ^D inserted into comint input string has caused the debbugs.gnu.org bug report #6800, regarding 24.0.50; process-send-string doesn't work with long lines on Solaris to be marked as done. (If you believe you have received this mail in error, please contact address@hidden) -- 6800: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6800 GNU Bug Tracking System Contact address@hidden with problems
--- Begin Message ---Subject: 24.0.50; process-send-string doesn't work with long lines on Solaris Date: Tue, 21 Sep 2010 00:18:30 +0200 With Emacs 24 on Solaris, the code below will insert ^G into the current buffer. With Emacs 23.2, and with Emacs 24 on Linux, it will insert 257 a's into the current buffer, which is the expected behaviour. The problem is only seen if the string passed to process-send-string contains lines that exceed 256 characters. (let ((process (start-process "cat" (current-buffer) "cat"))) (process-send-string process (format "%s\n" (make-string 257 ?a)))) The bug was introduced with this change: revno: 99890 committer: Stefan Monnier <address@hidden> branch nick: trunk timestamp: Mon 2010-04-12 22:07:48 -0400 message: Try to solve the problem of spurious EOF chars in long lines of text sent to interactive subprocesses. * sysdep.c (child_setup_tty): Do not enable ICANON any more. (system_process_attributes): Remove unused var `ttotal'. * process.c (send_process): Don't bother breaking long line with EOF chars when talking to ttys any more. (wait_reading_process_output): Output a warning when called in such a way that it could block without being interruptible. -- Knut Anders
--- End Message ---
--- Begin Message ---Subject: Re: bug#6800: 23.1; EOT / ^D inserted into comint input string Date: Fri, 12 Aug 2016 11:40:03 -0700 On Fri, Aug 12, 2016 at 11:36 AM, Alan Third <address@hidden> wrote:Stefan Monnier <address@hidden> writes:
>> When an input longer than 255 characters is typed into comint (or
>> shell) an EOT character (ascii 4, ^D) is inserted into the string.
>> This can cause an error depending how the sub process handles these
>> extra characters. For example, GHC doesn't like it when an EOT
>> appears inside of a string:
>
> I believe this bug is fixed on the Emacs trunk (to become Emacs-24), but
> the fix may introduce other problems. Apparently nobody knows how to
> fix it right and there is about as much as no documentation at all on
> this part of the behavior of ttys.
IIRC this code is no longer in Emacs. I'll close this bug.
--
Alan ThirdI do know that commands longer than 4096 characters are truncated in emacs 24.3.1
--- End Message ---
[Prev in Thread] | Current Thread | [Next in Thread] |