GNU bug report logs - #33403
[Geiser-users] Data length limit in Guile/Geiser/Scheme evaluation

Previous Next

Package: guile;

Reported by: Neil Jerram <neil <at> ossau.homelinux.net>

Date: Thu, 15 Nov 2018 23:11:01 UTC

Severity: normal

Tags: notabug

Done: Mark H Weaver <mhw <at> netris.org>

Bug is archived. No further changes may be made.

Full log


Message #21 received at 33403 <at> debbugs.gnu.org (full text, mbox):

From: Neil Jerram <neil <at> ossau.homelinux.net>
To: Mark H Weaver <mhw <at> netris.org>, geiser-users <at> nongnu.org,
 emacs-orgmode <at> gnu.org
Cc: 33403 <at> debbugs.gnu.org
Subject: Re: bug#33403: [Geiser-users] Data length limit in
 Guile/Geiser/Scheme evaluation
Date: Fri, 16 Nov 2018 11:16:56 +0000
Neil Jerram <neil <at> ossau.homelinux.net> writes:

> Mark H Weaver <mhw <at> netris.org> writes:
>
>> This is a documented limitation in Linux's terminal handling when in
>> canonical mode.  See the termios(3) man page, which includes this text:
>>
>>    Canonical and noncanonical mode
>>        
>>        The setting of the ICANON canon flag in c_lflag determines
>>        whether the terminal is operating in canonical mode (ICANON set)
>>        or noncanonical mode (ICANON unset).  By default, ICANON is set.
> [...]
>>        * The maximum line length is 4096 chars (including the
>>          terminating newline character); lines longer than 4096 chars
>>          are truncated.  After 4095 characters, input processing (e.g.,
>>          ISIG and ECHO* processing) continues, but any input data after
>>          4095 characters up to (but not including) any terminating
>>          newline is discarded.  This ensures that the terminal can
>>          always receive more input until at least one line can be read.
>>
>> Note that last item above.
>
> Awesome; thank you Mark.
>
> So possibly this limit can be removed, in my Org/Geiser context, by
> evaluating (system* "stty" "-icanon") when initializing the Geiser-Guile
> connection.  I'll try that.  Will the terminal that that 'stty' sees be
> the same as Guile's stdin?
>
> Jao, if that works, I wonder if it should be the default for Geiser?  It
> appears to me that Geiser shouldn't ever need the features of canonical
> mode.  Is that right?
>
> Anyway, I'll see first if the stty call is effective.

Yes, with this in my ~/.guile-geiser -

(system* "stty" "-icanon")

- I can do evaluations past the 4K line length limit, and the Org-driven
problem that I first reported [1] has disappeared.

Thanks to Nicolas, Jao and Mark for your help in understanding this.

    Neil

[1] https://lists.gnu.org/archive/html/emacs-orgmode/2018-11/msg00177.html




This bug report was last modified 6 years and 189 days ago.

Previous Next


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