* Data length limit in Guile/Geiser/Scheme evaluation
@ 2018-11-15 14:21 Neil Jerram
2018-11-15 14:26 ` Neil Jerram
2018-11-15 15:20 ` Nicolas Goaziou
0 siblings, 2 replies; 12+ messages in thread
From: Neil Jerram @ 2018-11-15 14:21 UTC (permalink / raw)
To: emacs-orgmode, geiser-users
[-- Attachment #1: Type: text/plain, Size: 648 bytes --]
I seem to have hit a limit in how much data can be successfully passed
from Org to Geiser and Guile. The attached file demonstrates this.
With the file as attached, and hitting C-c C-c on '(length
classification)', I get 139 (which is correct).
If I add one more (duplicate) row to the table, and hit C-c C-c again,
the evaluation hangs somewhere and Emacs is blocked until I interrupt
with C-g.
Has anyone else seen this? Is there a fix? If not, any ideas for how I
can investigate further? I love doing stuff with Org and Scheme code,
so really hope that I don't have to have my wings clipped by this
apparent limit.
Best wishes,
Neil
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: prob.org --]
[-- Type: text/x-org, Size: 10782 bytes --]
#+NAME: classification
| AAAAA&AAAAAAA | Aood |
| AAAAAA | Aood |
| AA AAAA AAAAAAAAA | Aood |
| AAAA AAAAAAA AA | Aood |
| AAAAA AAAA | Aood |
| AAAAAAA AAAAAAAAAAA | Aood |
| AAA AAAA | Aood |
| AAA Aithdrawal | Aash |
| AAA.AAA.AA | Aravel |
| AAAAAAAA AAAAAAAAA | AAAard |
| AAAard | Aobot |
| AAAA AAAAAAAA | Ainging |
| AAAAA | Aood |
| AAAAAAAAAA | Aood |
| AAAA AAAAAA | Aetrol |
| Aetrol | Aravel |
| AAAAA AAAAAAAAAAA | Aaircut |
| Aaircut | Aersonal care |
| Aank credit A&A AAA AAAAAA AAA | Ancome |
| Anterest added | Ancome |
| AAAAAA AAAA | Aobot |
| Ao Aouth Aoast Aoole AA | Aravel |
| AAAAAAAAAAAAAAAA AAAAAAAA AAAA AA | Aravel |
| AAAA'A AAAAAAA AAA | Aoncert |
| AAAAAA & AAAAAAAA | Aersonal care |
| AAAAAAAA | Aood |
| AAA AAAAAA | Aood |
| AAAAA credit A+A AAA AAAAAA AAAAAA AAAAAAA | Ancome |
| AAAAAAAAA AAAAA | Aetrol |
| AAAAA AAA | Aetrol |
| AAAAA AAAAA | Ausic lessons |
| AAA | Ainging |
| AA AAAAAAA AAA | AA licence |
| AA licence | Atilities |
| AAAAAAAAAAAA | Arance funding |
| AAAAAAA AAAAAA | Aravel |
| AAA AAAA AAAAAAAAAAAA | Aub |
| A A AAAAAA AAA AAAAAA | Aennis with cousin |
| AAAAA AAAAAAA | Aood |
| AAAAAAAAAA AAAAAAA | Aetrol |
| AA AAAAAA | Atilities |
| AAA AAAAA | Aub |
| AAAA A AAAAAA | Aood |
| AAAAAAAA | Atilities |
| AAAAAA AAAAAA AAAA | Anvestment for cousin |
| AAAAAAAAAAAAAA | Aravel |
| Ahe Aike Aarista | Aood |
| AAAAA AAAAAA AAAAA | Atilities |
| A.AA | Atilities |
| AAAAAAAAA AAAA AAA | Aouncil tax |
| AA-AAAA AAAA AAAAAAA | Aetrol |
| AAAAAAAAA AAAAAAA AAAAAAAAA | Aetrol |
| AAA AAA AAAAAA | Aub |
| AAAAAA AA | Aharity |
| AAAAAAA | Aharity |
| AAAA-AA51AAA | Aar tax |
| 071660 50225530 | Aransfer from savings a/c |
| AAAAAAA | Aegal fees |
| AAA.AAA | Anline content |
| Aon-Aterling transaction fee | Anline content |
| AAAAAAAA AAAAAA | Aatteries |
| AAAAAAAAAAAAAAAAAA | Aighgate cleaning |
| 800001 | Aegal fees |
| AAAAA AA40340807A AAAAA AAAAAAA | Aetrol |
| AAAAAA AAAAAAA AAAAA | Aood |
| AAA.AAAAAAAA.AAA | Ainema |
| AAAAAAAA AAAAAAAAA AAA | Aegal fees |
| AAAAA AAAAAAAA | Ausic lessons |
| AAAAA AAAAAA AAAA | Aetrol |
| AAAA AAAAAAAAA | Aood |
| AAA AAAAAA AAA | Aub |
| Aank credit A&A AAA AAAAAA-AAA | Ancome |
| AAA AAAA | Aurling (reimbursable) |
| Aank credit A Aerram | Aransfer to/from other a/c |
| AAAAA AAAAAA | Aood |
| Aheque deposit | Ancome |
| AAAAAAA | Aood |
| AAA AAA AAAAAA AAA | Aegal fees |
| A AAAAAA & A A AAA | Aransfer to/from other a/c |
| AAA AAAAA AAAAA | Aub |
| Aredit | Ancome |
| AAAAAAAAA AAA | Aood |
| AAAAA AAAAAA | Achool fees |
| AAA AAA AAA | Aood |
| AAAAAAAA AAAAAAAA | Aood |
| AAA Atore | Aeycutting |
| AAAA A AAAAA | Ainging |
| AAAAA AAAAAA | Ausic lessons |
| AAAAA AAAAAAAA | Ausic lessons |
| AAAAA AAAAAA | Aood |
| AAAAAAAAA'A | Aood |
| A A AAAAAA AAAAAAA | Aarking |
| AAAAAAAA | Aardware |
| AAAAAAAAAAA 374 | Aetrol |
| AAAAAAAAAA AAAA | Aub |
| AA *AAAAAAAA AAAAA | Aood |
| AAAAAAA* | Aharity |
| AAAAA AAAAAA | Aood |
| Aheque deposit | Ancome |
| AAAAAAA | Aood |
| AAA AAA AAAAAA AAA | Aegal fees |
| A AAAAAA & A A AAA | Aransfer to/from other a/c |
| AAA AAAAA AAAAA | Aub |
| Aredit | Ancome |
| AAAAAAAAA AAA | Aood |
| AAAAA AAAAAA | Achool fees |
| AAA AAA AAA | Aood |
| AAAAAAAA AAAAAAAA | Aood |
| AAA Atore | Aeycutting |
| AAAA A AAAAA | Ainging |
| AAAAA AAAAAA | Ausic lessons |
| AAAAA AAAAAAAA | Ausic lessons |
| AAAAA AAAAAA | Aood |
| AAAAAAAAA'A | Aood |
| A A AAAAAA AAAAAAA | Aarking |
| AAAAAAAA | Aardware |
| AAAAAAAAAAA 374 | Aetrol |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
| AAAAAAAAAA AAAA | Aub |
#+HEADER: :var classification=classification
#+BEGIN_SRC scheme
(length classification)
#+END_SRC
#+RESULTS:
: 139
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Data length limit in Guile/Geiser/Scheme evaluation
2018-11-15 14:21 Data length limit in Guile/Geiser/Scheme evaluation Neil Jerram
@ 2018-11-15 14:26 ` Neil Jerram
2018-11-15 15:20 ` Nicolas Goaziou
1 sibling, 0 replies; 12+ messages in thread
From: Neil Jerram @ 2018-11-15 14:26 UTC (permalink / raw)
To: emacs-orgmode, geiser-users
Some versions in case they are relevant:
Org mode version 9.1.13 (9.1.13-elpa @ /home/neil/.emacs.d/elpa/org-20180625/)
Geiser from /home/neil/.emacs.d/elpa/geiser-20180610.1754
guile (GNU Guile) 2.2.3
Packaged by Debian (2.2.3-deb+1-3ubuntu0.1)
GNU Emacs 25.2.2 (x86_64-pc-linux-gnu, GTK+ Version 3.22.21) of 2017-09-22, modified by Debian
Neil Jerram <neil@ossau.homelinux.net> writes:
> I seem to have hit a limit in how much data can be successfully passed
> from Org to Geiser and Guile. The attached file demonstrates this.
>
> With the file as attached, and hitting C-c C-c on '(length
> classification)', I get 139 (which is correct).
>
> If I add one more (duplicate) row to the table, and hit C-c C-c again,
> the evaluation hangs somewhere and Emacs is blocked until I interrupt
> with C-g.
>
> Has anyone else seen this? Is there a fix? If not, any ideas for how I
> can investigate further? I love doing stuff with Org and Scheme code,
> so really hope that I don't have to have my wings clipped by this
> apparent limit.
>
> Best wishes,
> Neil
>
>
> #+NAME: classification
> | AAAAA&AAAAAAA | Aood |
> | AAAAAA | Aood |
> | AA AAAA AAAAAAAAA | Aood |
> | AAAA AAAAAAA AA | Aood |
> | AAAAA AAAA | Aood |
> | AAAAAAA AAAAAAAAAAA | Aood |
> | AAA AAAA | Aood |
> | AAA Aithdrawal | Aash |
> | AAA.AAA.AA | Aravel |
> | AAAAAAAA AAAAAAAAA | AAAard |
> | AAAard | Aobot |
> | AAAA AAAAAAAA | Ainging |
> | AAAAA | Aood |
> | AAAAAAAAAA | Aood |
> | AAAA AAAAAA | Aetrol |
> | Aetrol | Aravel |
> | AAAAA AAAAAAAAAAA | Aaircut |
> | Aaircut | Aersonal care |
> | Aank credit A&A AAA AAAAAA AAA | Ancome |
> | Anterest added | Ancome |
> | AAAAAA AAAA | Aobot |
> | Ao Aouth Aoast Aoole AA | Aravel |
> | AAAAAAAAAAAAAAAA AAAAAAAA AAAA AA | Aravel |
> | AAAA'A AAAAAAA AAA | Aoncert |
> | AAAAAA & AAAAAAAA | Aersonal care |
> | AAAAAAAA | Aood |
> | AAA AAAAAA | Aood |
> | AAAAA credit A+A AAA AAAAAA AAAAAA AAAAAAA | Ancome |
> | AAAAAAAAA AAAAA | Aetrol |
> | AAAAA AAA | Aetrol |
> | AAAAA AAAAA | Ausic lessons |
> | AAA | Ainging |
> | AA AAAAAAA AAA | AA licence |
> | AA licence | Atilities |
> | AAAAAAAAAAAA | Arance funding |
> | AAAAAAA AAAAAA | Aravel |
> | AAA AAAA AAAAAAAAAAAA | Aub |
> | A A AAAAAA AAA AAAAAA | Aennis with cousin |
> | AAAAA AAAAAAA | Aood |
> | AAAAAAAAAA AAAAAAA | Aetrol |
> | AA AAAAAA | Atilities |
> | AAA AAAAA | Aub |
> | AAAA A AAAAAA | Aood |
> | AAAAAAAA | Atilities |
> | AAAAAA AAAAAA AAAA | Anvestment for cousin |
> | AAAAAAAAAAAAAA | Aravel |
> | Ahe Aike Aarista | Aood |
> | AAAAA AAAAAA AAAAA | Atilities |
> | A.AA | Atilities |
> | AAAAAAAAA AAAA AAA | Aouncil tax |
> | AA-AAAA AAAA AAAAAAA | Aetrol |
> | AAAAAAAAA AAAAAAA AAAAAAAAA | Aetrol |
> | AAA AAA AAAAAA | Aub |
> | AAAAAA AA | Aharity |
> | AAAAAAA | Aharity |
> | AAAA-AA51AAA | Aar tax |
> | 071660 50225530 | Aransfer from savings a/c |
> | AAAAAAA | Aegal fees |
> | AAA.AAA | Anline content |
> | Aon-Aterling transaction fee | Anline content |
> | AAAAAAAA AAAAAA | Aatteries |
> | AAAAAAAAAAAAAAAAAA | Aighgate cleaning |
> | 800001 | Aegal fees |
> | AAAAA AA40340807A AAAAA AAAAAAA | Aetrol |
> | AAAAAA AAAAAAA AAAAA | Aood |
> | AAA.AAAAAAAA.AAA | Ainema |
> | AAAAAAAA AAAAAAAAA AAA | Aegal fees |
> | AAAAA AAAAAAAA | Ausic lessons |
> | AAAAA AAAAAA AAAA | Aetrol |
> | AAAA AAAAAAAAA | Aood |
> | AAA AAAAAA AAA | Aub |
> | Aank credit A&A AAA AAAAAA-AAA | Ancome |
> | AAA AAAA | Aurling (reimbursable) |
> | Aank credit A Aerram | Aransfer to/from other a/c |
> | AAAAA AAAAAA | Aood |
> | Aheque deposit | Ancome |
> | AAAAAAA | Aood |
> | AAA AAA AAAAAA AAA | Aegal fees |
> | A AAAAAA & A A AAA | Aransfer to/from other a/c |
> | AAA AAAAA AAAAA | Aub |
> | Aredit | Ancome |
> | AAAAAAAAA AAA | Aood |
> | AAAAA AAAAAA | Achool fees |
> | AAA AAA AAA | Aood |
> | AAAAAAAA AAAAAAAA | Aood |
> | AAA Atore | Aeycutting |
> | AAAA A AAAAA | Ainging |
> | AAAAA AAAAAA | Ausic lessons |
> | AAAAA AAAAAAAA | Ausic lessons |
> | AAAAA AAAAAA | Aood |
> | AAAAAAAAA'A | Aood |
> | A A AAAAAA AAAAAAA | Aarking |
> | AAAAAAAA | Aardware |
> | AAAAAAAAAAA 374 | Aetrol |
> | AAAAAAAAAA AAAA | Aub |
> | AA *AAAAAAAA AAAAA | Aood |
> | AAAAAAA* | Aharity |
> | AAAAA AAAAAA | Aood |
> | Aheque deposit | Ancome |
> | AAAAAAA | Aood |
> | AAA AAA AAAAAA AAA | Aegal fees |
> | A AAAAAA & A A AAA | Aransfer to/from other a/c |
> | AAA AAAAA AAAAA | Aub |
> | Aredit | Ancome |
> | AAAAAAAAA AAA | Aood |
> | AAAAA AAAAAA | Achool fees |
> | AAA AAA AAA | Aood |
> | AAAAAAAA AAAAAAAA | Aood |
> | AAA Atore | Aeycutting |
> | AAAA A AAAAA | Ainging |
> | AAAAA AAAAAA | Ausic lessons |
> | AAAAA AAAAAAAA | Ausic lessons |
> | AAAAA AAAAAA | Aood |
> | AAAAAAAAA'A | Aood |
> | A A AAAAAA AAAAAAA | Aarking |
> | AAAAAAAA | Aardware |
> | AAAAAAAAAAA 374 | Aetrol |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
> | AAAAAAAAAA AAAA | Aub |
>
> | AAAAAAAAAA AAAA | Aub |
>
> #+HEADER: :var classification=classification
> #+BEGIN_SRC scheme
> (length classification)
> #+END_SRC
>
> #+RESULTS:
> : 139
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Data length limit in Guile/Geiser/Scheme evaluation
2018-11-15 14:21 Data length limit in Guile/Geiser/Scheme evaluation Neil Jerram
2018-11-15 14:26 ` Neil Jerram
@ 2018-11-15 15:20 ` Nicolas Goaziou
2018-11-15 16:04 ` Neil Jerram
1 sibling, 1 reply; 12+ messages in thread
From: Nicolas Goaziou @ 2018-11-15 15:20 UTC (permalink / raw)
To: Neil Jerram; +Cc: geiser-users, emacs-orgmode
Hello,
Neil Jerram <neil@ossau.homelinux.net> writes:
> If I add one more (duplicate) row to the table, and hit C-c C-c again,
> the evaluation hangs somewhere and Emacs is blocked until I interrupt
> with C-g.
Interesting.
> Has anyone else seen this?
I can reproduce this bug on master branch.
However, I would ask Geiser developer first, because the process freezes
during `geiser-eval-region' call, and the contents of the buffer, pasted
below, seem correct.
--8<---------------cut here---------------start------------->8---
;; -*- geiser-scheme-implementation: guile -*-
(let ((classification (quote (("AAAAA&AAAAAAA" "Aood") ("AAAAAA" "Aood") ("AA AAAA AAAAAAAAA" "Aood") ("AAAA AAAAAAA AA" "Aood") ("AAAAA AAAA" "Aood") ("AAAAAAA AAAAAAAAAAA" "Aood") ("AAA AAAA" "Aood") ("AAA Aithdrawal" "Aash") ("AAA.AAA.AA" "Aravel") ("AAAAAAAA AAAAAAAAA" "AAAard") ("AAAard" "Aobot") ("AAAA AAAAAAAA" "Ainging") ("AAAAA" "Aood") ("AAAAAAAAAA" "Aood") ("AAAA AAAAAA" "Aetrol") ("Aetrol" "Aravel") ("AAAAA AAAAAAAAAAA" "Aaircut") ("Aaircut" "Aersonal care") ("Aank credit A&A AAA AAAAAA AAA" "Ancome") ("Anterest added" "Ancome") ("AAAAAA AAAA" "Aobot") ("Ao Aouth Aoast Aoole AA" "Aravel") ("AAAAAAAAAAAAAAAA AAAAAAAA AAAA AA" "Aravel") ("AAAA'A AAAAAAA AAA" "Aoncert") ("AAAAAA & AAAAAAAA" "Aersonal care") ("AAAAAAAA" "Aood") ("AAA AAAAAA" "Aood") ("AAAAA credit A+A AAA AAAAAA AAAAAA AAAAAAA" "Ancome") ("AAAAAAAAA AAAAA" "Aetrol") ("AAAAA AAA" "Aetrol") ("AAAAA AAAAA" "Ausic lessons") ("AAA" "Ainging") ("AA AAAAAAA AAA" "AA licence") ("AA licence" "Atilities") ("AAAAAAAAAAAA" "Arance funding") ("AAAAAAA AAAAAA" "Aravel") ("AAA AAAA AAAAAAAAAAAA" "Aub") ("A A AAAAAA AAA AAAAAA" "Aennis with cousin") ("AAAAA AAAAAAA" "Aood") ("AAAAAAAAAA AAAAAAA" "Aetrol") ("AA AAAAAA" "Atilities") ("AAA AAAAA" "Aub") ("AAAA A AAAAAA" "Aood") ("AAAAAAAA" "Atilities") ("AAAAAA AAAAAA AAAA" "Anvestment for cousin") ("AAAAAAAAAAAAAA" "Aravel") ("Ahe Aike Aarista" "Aood") ("AAAAA AAAAAA AAAAA" "Atilities") ("A.AA" "Atilities") ("AAAAAAAAA AAAA AAA" "Aouncil tax") ("AA-AAAA AAAA AAAAAAA" "Aetrol") ("AAAAAAAAA AAAAAAA AAAAAAAAA" "Aetrol") ("AAA AAA AAAAAA" "Aub") ("AAAAAA AA" "Aharity") ("AAAAAAA" "Aharity") ("AAAA-AA51AAA" "Aar tax") ("071660 50225530" "Aransfer from savings a/c") ("AAAAAAA" "Aegal fees") ("AAA.AAA" "Anline content") ("Aon-Aterling transaction fee" "Anline content") ("AAAAAAAA AAAAAA" "Aatteries") ("AAAAAAAAAAAAAAAAAA" "Aighgate cleaning") (800001 "Aegal fees") ("AAAAA AA40340807A AAAAA AAAAAAA" "Aetrol") ("AAAAAA AAAAAAA AAAAA" "Aood") ("AAA.AAAAAAAA.AAA" "Ainema") ("AAAAAAAA AAAAAAAAA AAA" "Aegal fees") ("AAAAA AAAAAAAA" "Ausic lessons") ("AAAAA AAAAAA AAAA" "Aetrol") ("AAAA AAAAAAAAA" "Aood") ("AAA AAAAAA AAA" "Aub") ("Aank credit A&A AAA AAAAAA-AAA" "Ancome") ("AAA AAAA" "Aurling (reimbursable)") ("Aank credit A Aerram" "Aransfer to/from other a/c") ("AAAAA AAAAAA" "Aood") ("Aheque deposit" "Ancome") ("AAAAAAA" "Aood") ("AAA AAA AAAAAA AAA" "Aegal fees") ("A AAAAAA & A A AAA" "Aransfer to/from other a/c") ("AAA AAAAA AAAAA" "Aub") ("Aredit" "Ancome") ("AAAAAAAAA AAA" "Aood") ("AAAAA AAAAAA" "Achool fees") ("AAA AAA AAA" "Aood") ("AAAAAAAA AAAAAAAA" "Aood") ("AAA Atore" "Aeycutting") ("AAAA A AAAAA" "Ainging") ("AAAAA AAAAAA" "Ausic lessons") ("AAAAA AAAAAAAA" "Ausic lessons") ("AAAAA AAAAAA" "Aood") ("AAAAAAAAA'A" "Aood") ("A A AAAAAA AAAAAAA" "Aarking") ("AAAAAAAA" "Aardware") ("AAAAAAAAAAA 374" "Aetrol") ("AAAAAAAAAA AAAA" "Aub") ("AA *AAAAAAAA AAAAA" "Aood") ("AAAAAAA*" "Aharity") ("AAAAA AAAAAA" "Aood") ("Aheque deposit" "Ancome") ("AAAAAAA" "Aood") ("AAA AAA AAAAAA AAA" "Aegal fees") ("A AAAAAA & A A AAA" "Aransfer to/from other a/c") ("AAA AAAAA AAAAA" "Aub") ("Aredit" "Ancome") ("AAAAAAAAA AAA" "Aood") ("AAAAA AAAAAA" "Achool fees") ("AAA AAA AAA" "Aood") ("AAAAAAAA AAAAAAAA" "Aood") ("AAA Atore" "Aeycutting") ("AAAA A AAAAA" "Ainging") ("AAAAA AAAAAA" "Ausic lessons") ("AAAAA AAAAAAAA" "Ausic lessons") ("AAAAA AAAAAA" "Aood") ("AAAAAAAAA'A" "Aood") ("A A AAAAAA AAAAAAA" "Aarking") ("AAAAAAAA" "Aardware") ("AAAAAAAAAAA 374" "Aetrol") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub")))))
(length classification)
)
--8<---------------cut here---------------end--------------->8---
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Data length limit in Guile/Geiser/Scheme evaluation
2018-11-15 15:20 ` Nicolas Goaziou
@ 2018-11-15 16:04 ` Neil Jerram
[not found] ` <87h8gi1g5g.fsf-mq78CtbEgnGjF4gvJNWmbtHuzzzSOjJt@public.gmane.org>
0 siblings, 1 reply; 12+ messages in thread
From: Neil Jerram @ 2018-11-15 16:04 UTC (permalink / raw)
To: Nicolas Goaziou; +Cc: geiser-users, emacs-orgmode
Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
> Hello,
>
> Neil Jerram <neil@ossau.homelinux.net> writes:
>
>> If I add one more (duplicate) row to the table, and hit C-c C-c again,
>> the evaluation hangs somewhere and Emacs is blocked until I interrupt
>> with C-g.
>
> Interesting.
>
>> Has anyone else seen this?
>
> I can reproduce this bug on master branch.
Many thanks for trying and confirming this, Nicolas.
> However, I would ask Geiser developer first, because the process freezes
> during `geiser-eval-region' call, and the contents of the buffer, pasted
> below, seem correct.
>
> --8<---------------cut here---------------start------------->8---
> ;; -*- geiser-scheme-implementation: guile -*-
> (let ((classification (quote (("AAAAA&AAAAAAA" "Aood") ("AAAAAA" "Aood") ("AA AAAA AAAAAAAAA" "Aood") ("AAAA AAAAAAA AA" "Aood") ("AAAAA AAAA" "Aood") ("AAAAAAA AAAAAAAAAAA" "Aood") ("AAA AAAA" "Aood") ("AAA Aithdrawal" "Aash") ("AAA.AAA.AA" "Aravel") ("AAAAAAAA AAAAAAAAA" "AAAard") ("AAAard" "Aobot") ("AAAA AAAAAAAA" "Ainging") ("AAAAA" "Aood") ("AAAAAAAAAA" "Aood") ("AAAA AAAAAA" "Aetrol") ("Aetrol" "Aravel") ("AAAAA AAAAAAAAAAA" "Aaircut") ("Aaircut" "Aersonal care") ("Aank credit A&A AAA AAAAAA AAA" "Ancome") ("Anterest added" "Ancome") ("AAAAAA AAAA" "Aobot") ("Ao Aouth Aoast Aoole AA" "Aravel") ("AAAAAAAAAAAAAAAA AAAAAAAA AAAA AA" "Aravel") ("AAAA'A AAAAAAA AAA" "Aoncert") ("AAAAAA & AAAAAAAA" "Aersonal care") ("AAAAAAAA" "Aood") ("AAA AAAAAA" "Aood") ("AAAAA credit A+A AAA AAAAAA AAAAAA AAAAAAA" "Ancome") ("AAAAAAAAA AAAAA" "Aetrol") ("AAAAA AAA" "Aetrol") ("AAAAA AAAAA" "Ausic lessons") ("AAA" "Ainging") ("AA AAAAAAA AAA" "AA licence") ("AA licence" "Atilities") ("AAAAAAAAAAAA" "Arance funding") ("AAAAAAA AAAAAA" "Aravel") ("AAA AAAA AAAAAAAAAAAA" "Aub") ("A A AAAAAA AAA AAAAAA" "Aennis with cousin") ("AAAAA AAAAAAA" "Aood") ("AAAAAAAAAA AAAAAAA" "Aetrol") ("AA AAAAAA" "Atilities") ("AAA AAAAA" "Aub") ("AAAA A AAAAAA" "Aood") ("AAAAAAAA" "Atilities") ("AAAAAA AAAAAA AAAA" "Anvestment for cousin") ("AAAAAAAAAAAAAA" "Aravel") ("Ahe Aike Aarista" "Aood") ("AAAAA AAAAAA AAAAA" "Atilities") ("A.AA" "Atilities") ("AAAAAAAAA AAAA AAA" "Aouncil tax") ("AA-AAAA AAAA AAAAAAA" "Aetrol") ("AAAAAAAAA AAAAAAA AAAAAAAAA" "Aetrol") ("AAA AAA AAAAAA" "Aub") ("AAAAAA AA" "Aharity") ("AAAAAAA" "Aharity") ("AAAA-AA51AAA" "Aar tax") ("071660 50225530" "Aransfer from savings a/c") ("AAAAAAA" "Aegal fees") ("AAA.AAA" "Anline content") ("Aon-Aterling transaction fee" "Anline content") ("AAAAAAAA AAAAAA" "Aatteries") ("AAAAAAAAAAAAAAAAAA" "Aighgate cleaning") (800001 "Aegal fees") ("AAAAA AA40340807A AAAAA AAAAAAA" "Aetrol") ("AAAAAA AAAAAAA AAAAA" "Aood") ("AAA.AAAAAAAA.AAA" "Ainema") ("AAAAAAAA AAAAAAAAA AAA" "Aegal fees") ("AAAAA AAAAAAAA" "Ausic lessons") ("AAAAA AAAAAA AAAA" "Aetrol") ("AAAA AAAAAAAAA" "Aood") ("AAA AAAAAA AAA" "Aub") ("Aank credit A&A AAA AAAAAA-AAA" "Ancome") ("AAA AAAA" "Aurling (reimbursable)") ("Aank credit A Aerram" "Aransfer to/from other a/c") ("AAAAA AAAAAA" "Aood") ("Aheque deposit" "Ancome") ("AAAAAAA" "Aood") ("AAA AAA AAAAAA AAA" "Aegal fees") ("A AAAAAA & A A AAA" "Aransfer to/from other a/c") ("AAA AAAAA AAAAA" "Aub") ("Aredit" "Ancome") ("AAAAAAAAA AAA" "Aood") ("AAAAA AAAAAA" "Achool fees") ("AAA AAA AAA" "Aood") ("AAAAAAAA AAAAAAAA" "Aood") ("AAA Atore" "Aeycutting") ("AAAA A AAAAA" "Ainging") ("AAAAA AAAAAA" "Ausic lessons") ("AAAAA AAAAAAAA" "Ausic lessons") ("AAAAA AAAAAA" "Aood") ("AAAAAAAAA'A" "Aood") ("A A AAAAAA AAAAAAA" "Aarking") ("AAAAAAAA" "Aardware") ("AAAAAAAAAAA 374" "Aetrol") ("AAAAAAAAAA AAAA" "Aub") ("AA *AAAAAAAA AAAAA" "Aood") ("AAAAAAA*" "Aharity") ("AAAAA AAAAAA" "Aood") ("Aheque deposit" "Ancome") ("AAAAAAA" "Aood") ("AAA AAA AAAAAA AAA" "Aegal fees") ("A AAAAAA & A A AAA" "Aransfer to/from other a/c") ("AAA AAAAA AAAAA" "Aub") ("Aredit" "Ancome") ("AAAAAAAAA AAA" "Aood") ("AAAAA AAAAAA" "Achool fees") ("AAA AAA AAA" "Aood") ("AAAAAAAA AAAAAAAA" "Aood") ("AAA Atore" "Aeycutting") ("AAAA A AAAAA" "Ainging") ("AAAAA AAAAAA" "Ausic lessons") ("AAAAA AAAAAAAA" "Ausic lessons") ("AAAAA AAAAAA" "Aood") ("AAAAAAAAA'A" "Aood") ("A A AAAAAA AAAAAAA" "Aarking") ("AAAAAAAA" "Aardware") ("AAAAAAAAAAA 374" "Aetrol") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub")))))
> (length classification)
> )
> --8<---------------cut here---------------end--------------->8---
Yes, I think I observed that too. Is that the *Geiser dbg* buffer?
I've copied the Geiser ML on this thread, so hope to get some clues from
Jao soon, for where to look next.
Best wishes,
Neil
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Data length limit in Guile/Geiser/Scheme evaluation
[not found] ` <87h8gi1g5g.fsf-mq78CtbEgnGjF4gvJNWmbtHuzzzSOjJt@public.gmane.org>
@ 2018-11-15 17:01 ` Jose A. Ortega Ruiz
2018-11-15 17:32 ` [Geiser-users] " Neil Jerram
0 siblings, 1 reply; 12+ messages in thread
From: Jose A. Ortega Ruiz @ 2018-11-15 17:01 UTC (permalink / raw)
To: Neil Jerram
Cc: geiser-users-qX2TKyscuCcdnm+yROfE0A, emacs-orgmode-mXXj517/zsQ,
Nicolas Goaziou
Hi,
On Thu, Nov 15 2018, Neil Jerram wrote:
> Nicolas Goaziou <mail-Gpy5sJQTEQHwkn9pgDnJRVAUjnlXr6A1@public.gmane.org> writes:
>
>> Hello,
>>
>> Neil Jerram <neil-mq78CtbEgnGjF4gvJNWmbtHuzzzSOjJt@public.gmane.org> writes:
>>
>>> If I add one more (duplicate) row to the table, and hit C-c C-c again,
>>> the evaluation hangs somewhere and Emacs is blocked until I interrupt
>>> with C-g.
>>
>> Interesting.
>>
>>> Has anyone else seen this?
>>
>> I can reproduce this bug on master branch.
>
> Many thanks for trying and confirming this, Nicolas.
>
>> However, I would ask Geiser developer first, because the process freezes
>> during `geiser-eval-region' call, and the contents of the buffer, pasted
>> below, seem correct.
I cannot see what it is, but there's something in that expression that
makes scheme readers hang. I just pasted it in a vanilla guile repl
(started with run-scheme, no geiser involved), and it never gets
evaluated. The same thing happens with a MIT scheme vanilla repl. And
the same thing happens if i try to evaluate it in a guile repl in a
terminal, so it's not even emacs fault. Maybe there's some non-ascii
char in there? In fact, the scheme readers hang somewhere in the middle
of the let, because i can remove characters from the end and they never
discover that the expression is unbalanced....
jao
>>
>> --8<---------------cut here---------------start------------->8---
>> ;; -*- geiser-scheme-implementation: guile -*-
>> (let ((classification (quote (("AAAAA&AAAAAAA" "Aood") ("AAAAAA" "Aood") ("AA AAAA AAAAAAAAA" "Aood") ("AAAA AAAAAAA AA" "Aood") ("AAAAA AAAA" "Aood") ("AAAAAAA AAAAAAAAAAA" "Aood") ("AAA AAAA" "Aood") ("AAA Aithdrawal" "Aash") ("AAA.AAA.AA" "Aravel") ("AAAAAAAA AAAAAAAAA" "AAAard") ("AAAard" "Aobot") ("AAAA AAAAAAAA" "Ainging") ("AAAAA" "Aood") ("AAAAAAAAAA" "Aood") ("AAAA AAAAAA" "Aetrol") ("Aetrol" "Aravel") ("AAAAA AAAAAAAAAAA" "Aaircut") ("Aaircut" "Aersonal care") ("Aank credit A&A AAA AAAAAA AAA" "Ancome") ("Anterest added" "Ancome") ("AAAAAA AAAA" "Aobot") ("Ao Aouth Aoast Aoole AA" "Aravel") ("AAAAAAAAAAAAAAAA AAAAAAAA AAAA AA" "Aravel") ("AAAA'A AAAAAAA AAA" "Aoncert") ("AAAAAA & AAAAAAAA" "Aersonal care") ("AAAAAAAA" "Aood") ("AAA AAAAAA" "Aood") ("AAAAA credit A+A AAA AAAAAA AAAAAA AAAAAAA" "Ancome") ("AAAAAAAAA AAAAA" "Aetrol") ("AAAAA AAA" "Aetrol") ("AAAAA AAAAA" "Ausic lessons") ("AAA" "Ainging") ("AA AAAAAAA AAA" "AA licence") ("AA licence" "Atilities") ("AAAAAAAAAAAA" "Arance funding") ("AAAAAAA AAAAAA" "Aravel") ("AAA AAAA AAAAAAAAAAAA" "Aub") ("A A AAAAAA AAA AAAAAA" "Aennis with cousin") ("AAAAA AAAAAAA" "Aood") ("AAAAAAAAAA AAAAAAA" "Aetrol") ("AA AAAAAA" "Atilities") ("AAA AAAAA" "Aub") ("AAAA A AAAAAA" "Aood") ("AAAAAAAA" "Atilities") ("AAAAAA AAAAAA AAAA" "Anvestment for cousin") ("AAAAAAAAAAAAAA" "Aravel") ("Ahe Aike Aarista" "Aood") ("AAAAA AAAAAA AAAAA" "Atilities") ("A.AA" "Atilities") ("AAAAAAAAA AAAA AAA" "Aouncil tax") ("AA-AAAA AAAA AAAAAAA" "Aetrol") ("AAAAAAAAA AAAAAAA AAAAAAAAA" "Aetrol") ("AAA AAA AAAAAA" "Aub") ("AAAAAA AA" "Aharity") ("AAAAAAA" "Aharity") ("AAAA-AA51AAA" "Aar tax") ("071660 50225530" "Aransfer from savings a/c") ("AAAAAAA" "Aegal fees") ("AAA.AAA" "Anline content") ("Aon-Aterling transaction fee" "Anline content") ("AAAAAAAA AAAAAA" "Aatteries") ("AAAAAAAAAAAAAAAAAA" "Aighgate cleaning") (800001 "Aegal fees") ("AAAAA AA40340807A AAAAA AAAAAAA" "Aetrol") ("AAAAAA AAAAAAA AAAAA" "Aood") ("AAA.AAAAAAAA.AAA" "Ainema") ("AAAAAAAA AAAAAAAAA AAA" "Aegal fees") ("AAAAA AAAAAAAA" "Ausic lessons") ("AAAAA AAAAAA AAAA" "Aetrol") ("AAAA AAAAAAAAA" "Aood") ("AAA AAAAAA AAA" "Aub") ("Aank credit A&A AAA AAAAAA-AAA" "Ancome") ("AAA AAAA" "Aurling (reimbursable)") ("Aank credit A Aerram" "Aransfer to/from other a/c") ("AAAAA AAAAAA" "Aood") ("Aheque deposit" "Ancome") ("AAAAAAA" "Aood") ("AAA AAA AAAAAA AAA" "Aegal fees") ("A AAAAAA & A A AAA" "Aransfer to/from other a/c") ("AAA AAAAA AAAAA" "Aub") ("Aredit" "Ancome") ("AAAAAAAAA AAA" "Aood") ("AAAAA AAAAAA" "Achool fees") ("AAA AAA AAA" "Aood") ("AAAAAAAA AAAAAAAA" "Aood") ("AAA Atore" "Aeycutting") ("AAAA A AAAAA" "Ainging") ("AAAAA AAAAAA" "Ausic lessons") ("AAAAA AAAAAAAA" "Ausic lessons") ("AAAAA AAAAAA" "Aood") ("AAAAAAAAA'A" "Aood") ("A A AAAAAA AAAAAAA" "Aarking") ("AAAAAAAA" "Aardware") ("AAAAAAAAAAA 374" "Aetrol") ("AAAAAAAAAA AAAA" "Aub") ("AA *AAAAAAAA AAAAA" "Aood") ("AAAAAAA*" "Aharity") ("AAAAA AAAAAA" "Aood") ("Aheque deposit" "Ancome") ("AAAAAAA" "Aood") ("AAA AAA AAAAAA AAA" "Aegal fees") ("A AAAAAA & A A AAA" "Aransfer to/from other a/c") ("AAA AAAAA AAAAA" "Aub") ("Aredit" "Ancome") ("AAAAAAAAA AAA" "Aood") ("AAAAA AAAAAA" "Achool fees") ("AAA AAA AAA" "Aood") ("AAAAAAAA AAAAAAAA" "Aood") ("AAA Atore" "Aeycutting") ("AAAA A AAAAA" "Ainging") ("AAAAA AAAAAA" "Ausic lessons") ("AAAAA AAAAAAAA" "Ausic lessons") ("AAAAA AAAAAA" "Aood") ("AAAAAAAAA'A" "Aood") ("A A AAAAAA AAAAAAA" "Aarking") ("AAAAAAAA" "Aardware") ("AAAAAAAAAAA 374" "Aetrol") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub")))))
>> (length classification)
>> )
>> --8<---------------cut here---------------end--------------->8---
>
> Yes, I think I observed that too. Is that the *Geiser dbg* buffer?
>
> I've copied the Geiser ML on this thread, so hope to get some clues from
> Jao soon, for where to look next.
>
> Best wishes,
> Neil
>
--
A lot of people have my books on their bookshelves.
That's the problem, they need to read them. -- Don Knuth
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Geiser-users] Data length limit in Guile/Geiser/Scheme evaluation
2018-11-15 17:01 ` Jose A. Ortega Ruiz
@ 2018-11-15 17:32 ` Neil Jerram
[not found] ` <87bm6q1c33.fsf-mq78CtbEgnGjF4gvJNWmbtHuzzzSOjJt@public.gmane.org>
[not found] ` <87o9aq55tl.fsf@ossau.homelinux.net>
0 siblings, 2 replies; 12+ messages in thread
From: Neil Jerram @ 2018-11-15 17:32 UTC (permalink / raw)
To: Jose A. Ortega Ruiz; +Cc: geiser-users, emacs-orgmode, Nicolas Goaziou
"Jose A. Ortega Ruiz" <jao@gnu.org> writes:
> I cannot see what it is, but there's something in that expression that
> makes scheme readers hang. I just pasted it in a vanilla guile repl
> (started with run-scheme, no geiser involved), and it never gets
> evaluated. The same thing happens with a MIT scheme vanilla repl. And
> the same thing happens if i try to evaluate it in a guile repl in a
> terminal, so it's not even emacs fault. Maybe there's some non-ascii
> char in there? In fact, the scheme readers hang somewhere in the middle
> of the let, because i can remove characters from the end and they never
> discover that the expression is unbalanced....
Thanks Jao; the plot thickens...
The line length is quite close to 4K; I wonder if that could be
relevant?
Anyway, I will also check for odd characters...
Neil
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Data length limit in Guile/Geiser/Scheme evaluation
[not found] ` <87bm6q1c33.fsf-mq78CtbEgnGjF4gvJNWmbtHuzzzSOjJt@public.gmane.org>
@ 2018-11-15 23:17 ` Jose A. Ortega Ruiz
0 siblings, 0 replies; 12+ messages in thread
From: Jose A. Ortega Ruiz @ 2018-11-15 23:17 UTC (permalink / raw)
To: Neil Jerram
Cc: geiser-users-qX2TKyscuCcdnm+yROfE0A, emacs-orgmode-mXXj517/zsQ,
Nicolas Goaziou
On Thu, Nov 15 2018, Neil Jerram wrote:
> "Jose A. Ortega Ruiz" <jao-mXXj517/zsQ@public.gmane.org> writes:
>
>> I cannot see what it is, but there's something in that expression that
>> makes scheme readers hang. I just pasted it in a vanilla guile repl
>> (started with run-scheme, no geiser involved), and it never gets
>> evaluated. The same thing happens with a MIT scheme vanilla repl. And
>> the same thing happens if i try to evaluate it in a guile repl in a
>> terminal, so it's not even emacs fault. Maybe there's some non-ascii
>> char in there? In fact, the scheme readers hang somewhere in the middle
>> of the let, because i can remove characters from the end and they never
>> discover that the expression is unbalanced....
>
> Thanks Jao; the plot thickens...
>
> The line length is quite close to 4K; I wonder if that could be
> relevant?
Hmm, I'd be a bit surprised if both Guile and MIT had that same (or
similar) limitation, or if it were inherited somehow from Emacs' comint
mode, but it's happening also in a terminal...
>
> Anyway, I will also check for odd characters...
>
> Neil
>
--
One reason that life is complex is that it has a real part and an
imaginary part.
-Andrew Koenig
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: bug#33403: [Geiser-users] Data length limit in Guile/Geiser/Scheme evaluation
[not found] ` <878t1t1ety.fsf@ossau.homelinux.net>
@ 2018-11-16 11:16 ` Neil Jerram
[not found] ` <875zwx1dcn.fsf-mq78CtbEgnGjF4gvJNWmbtHuzzzSOjJt@public.gmane.org>
0 siblings, 1 reply; 12+ messages in thread
From: Neil Jerram @ 2018-11-16 11:16 UTC (permalink / raw)
To: Mark H Weaver, geiser-users, emacs-orgmode; +Cc: 33403
Neil Jerram <neil@ossau.homelinux.net> writes:
> Mark H Weaver <mhw@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
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: bug#33403: Data length limit in Guile/Geiser/Scheme evaluation
[not found] ` <875zwx1dcn.fsf-mq78CtbEgnGjF4gvJNWmbtHuzzzSOjJt@public.gmane.org>
@ 2018-11-16 23:12 ` Jose A. Ortega Ruiz
2018-11-17 7:09 ` Mark H Weaver
0 siblings, 1 reply; 12+ messages in thread
From: Jose A. Ortega Ruiz @ 2018-11-16 23:12 UTC (permalink / raw)
To: Neil Jerram
Cc: Mark H Weaver, geiser-users-qX2TKyscuCcdnm+yROfE0A,
emacs-orgmode-mXXj517/zsQ, 33403-ubl+/3LiMTaZdePnXv/OxA
On Fri, Nov 16 2018, Neil Jerram wrote:
> Neil Jerram <neil-mq78CtbEgnGjF4gvJNWmbtHuzzzSOjJt@public.gmane.org> writes:
>
>> Mark H Weaver <mhw-StlzRsPvAncdnm+yROfE0A@public.gmane.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.
Ah, system* is a scheme call! So yeah, maybe we could add that call to
Geiser's guile initialization... i don't really see how that would cause
any problem elsewhere.
> Thanks to Nicolas, Jao and Mark for your help in understanding this.
And thanks to Nicolas, Mark and you for yours :)
Cheers,
jao
--
The vast majority of human beings dislike and even dread all notions with
which they are not familiar. Hence it comes about that at their first
appearance innovators have always been derided as fools and madmen.
-Aldous Huxley, novelist (1894-1963)
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: bug#33403: Data length limit in Guile/Geiser/Scheme evaluation
2018-11-16 23:12 ` bug#33403: " Jose A. Ortega Ruiz
@ 2018-11-17 7:09 ` Mark H Weaver
[not found] ` <87zhu8w55u.fsf-StlzRsPvAncdnm+yROfE0A@public.gmane.org>
0 siblings, 1 reply; 12+ messages in thread
From: Mark H Weaver @ 2018-11-17 7:09 UTC (permalink / raw)
To: Jose A. Ortega Ruiz
Cc: geiser-users-qX2TKyscuCcdnm+yROfE0A, emacs-orgmode-mXXj517/zsQ,
33403-ubl+/3LiMTaZdePnXv/OxA
Hello all,
"Jose A. Ortega Ruiz" <jao-mXXj517/zsQ@public.gmane.org> writes:
> On Fri, Nov 16 2018, Neil Jerram wrote:
>
>> Neil Jerram <neil-mq78CtbEgnGjF4gvJNWmbtHuzzzSOjJt@public.gmane.org> writes:
>>
>>> Mark H Weaver <mhw-StlzRsPvAncdnm+yROfE0A@public.gmane.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.
>
> Ah, system* is a scheme call! So yeah, maybe we could add that call to
> Geiser's guile initialization... i don't really see how that would cause
> any problem elsewhere.
I think something like this should be done, not only in the Guile
initialization, but ideally in the generic Geiser code that connects to
inferior processes via pseudo-tty. After the pseudo-tty is allocated
but before launching the inferior Scheme process, something like "stty
--file=/dev/pts/N -icanon" should be run.
However, before doing this, some warnings are in order:
When in noncanonical mode, the normal processing of ERASE (usually DEL
or Ctrl-H) and KILL (usually Ctrl-U) characters are disabled, and input
characters are delivered to the subprocess immediately as they are
typed, rather than waiting for the newline as normally happens in
canonical mode.
At least in the case of the Guile REPL, one notable side effect of
running in noncanonical mode is that when a list is entered at the REPL,
the 'read' returns as soon as the final close parenthesis is entered.
Nothing after that is read, not even the usual newline. The final
newline is only read if the reader is not yet sure that it has finished
reading the token, e.g. if a number or symbol is entered. In those
cases, typically any delimiter may be typed to terminate the read,
e.g. space.
To see this, you can try running Guile from a traditional terminal
program (e.g. xterm or GNOME Terminal), and type:
(system* "stty" "-icanon")
and then:
(display "hello")
You will see that as soon as you type that close paren, "hello" is
immediately printed, followed by another REPL prompt, all on the same
line.
You might also try (use-modules (ice-9 rdelim)) and then:
(read-line)
and you'll see that the newline you type at the end of that line is read
by 'read-line', which then immediately returns the empty string. The
input that you wish for 'read-line' to see must be typed on the same
line, immediately after the close parenthesis.
So, it might be that Geiser needs to be adjusted somewhat to deal with
these differences.
Finally, you might consider the possibility that 'stty' might not be
available in PATH, or fails for some reason, and ideally this case
should be handled as well.
It might be simpler to always use REPL servers over a socket, than to
deal with these headaches, although I don't know if that will be an
option for the other Scheme implementations.
Regards,
Mark
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: bug#33403: Data length limit in Guile/Geiser/Scheme evaluation
[not found] ` <87zhu8w55u.fsf-StlzRsPvAncdnm+yROfE0A@public.gmane.org>
@ 2018-11-17 7:31 ` Mark H Weaver
2018-11-17 14:59 ` Jose A. Ortega Ruiz
1 sibling, 0 replies; 12+ messages in thread
From: Mark H Weaver @ 2018-11-17 7:31 UTC (permalink / raw)
To: Jose A. Ortega Ruiz
Cc: geiser-users-qX2TKyscuCcdnm+yROfE0A, emacs-orgmode-mXXj517/zsQ,
33403-ubl+/3LiMTaZdePnXv/OxA
A few more notes:
I wrote earlier:
> However, before doing this, some warnings are in order:
>
> When in noncanonical mode, the normal processing of ERASE (usually DEL
> or Ctrl-H) and KILL (usually Ctrl-U) characters are disabled,
Also the handling of Ctrl-D appears to be disabled in noncanonical mode
on my system, although this wasn't clear to me from the docs.
> At least in the case of the Guile REPL, one notable side effect of
> running in noncanonical mode is that when a list is entered at the REPL,
> the 'read' returns as soon as the final close parenthesis is entered.
> Nothing after that is read, not even the usual newline.
There's an additional wrinkle here: after 'read' returns, Guile tries to
read optional whitespace followed by a newline, but only if it's
immediately available. See 'flush-to-newline' at the end of
module/system/repl/repl.scm in Guile.
So, unfortunately there's a race condition here, but typically if you
send the newline immediately after the final character of input, it is
likely that the newline will be consumed by the REPL reader and not by
the code that is subsequently run.
Finally, I should note that I consider this race condition suboptimal,
and will likely change how Guile behaves in the future, so please don't
rely on the behavior I have described above. I will likely change
Guile's REPL reader to wait for the final newline in all cases.
Mark
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: bug#33403: Data length limit in Guile/Geiser/Scheme evaluation
[not found] ` <87zhu8w55u.fsf-StlzRsPvAncdnm+yROfE0A@public.gmane.org>
2018-11-17 7:31 ` Mark H Weaver
@ 2018-11-17 14:59 ` Jose A. Ortega Ruiz
1 sibling, 0 replies; 12+ messages in thread
From: Jose A. Ortega Ruiz @ 2018-11-17 14:59 UTC (permalink / raw)
To: Mark H Weaver
Cc: geiser-users-qX2TKyscuCcdnm+yROfE0A, emacs-orgmode-mXXj517/zsQ,
33403-ubl+/3LiMTaZdePnXv/OxA
On Sat, Nov 17 2018, Mark H Weaver wrote:
[...]
>> Ah, system* is a scheme call! So yeah, maybe we could add that call to
>> Geiser's guile initialization... i don't really see how that would cause
>> any problem elsewhere.
>
> I think something like this should be done, not only in the Guile
> initialization, but ideally in the generic Geiser code that connects to
> inferior processes via pseudo-tty. After the pseudo-tty is allocated
> but before launching the inferior Scheme process, something like "stty
> --file=/dev/pts/N -icanon" should be run.
>
> However, before doing this, some warnings are in order:
>
> When in noncanonical mode, the normal processing of ERASE (usually DEL
> or Ctrl-H) and KILL (usually Ctrl-U) characters are disabled, and input
> characters are delivered to the subprocess immediately as they are
> typed, rather than waiting for the newline as normally happens in
> canonical mode.
>
> At least in the case of the Guile REPL, one notable side effect of
> running in noncanonical mode is that when a list is entered at the REPL,
> the 'read' returns as soon as the final close parenthesis is entered.
> Nothing after that is read, not even the usual newline. The final
> newline is only read if the reader is not yet sure that it has finished
> reading the token, e.g. if a number or symbol is entered. In those
> cases, typically any delimiter may be typed to terminate the read,
> e.g. space.
>
> To see this, you can try running Guile from a traditional terminal
> program (e.g. xterm or GNOME Terminal), and type:
>
> (system* "stty" "-icanon")
>
> and then:
>
> (display "hello")
>
> You will see that as soon as you type that close paren, "hello" is
> immediately printed, followed by another REPL prompt, all on the same
> line.
I think this is not an actual problem in Geiser. In comint mode, the
stdin of the Guile process doesn't receive any input bytes until higher
level elisp functions send them, and that's totally under our control.
Repeating that experiment in a Geiser REPL, nothing is printed before a
RET (and, in fact, we might not even send the RET to Guile).
>
> You might also try (use-modules (ice-9 rdelim)) and then:
>
> (read-line)
>
> and you'll see that the newline you type at the end of that line is read
> by 'read-line', which then immediately returns the empty string. The
> input that you wish for 'read-line' to see must be typed on the same
> line, immediately after the close parenthesis.
Again, a comint/geiser REPL doesn't have this problem.
> So, it might be that Geiser needs to be adjusted somewhat to deal with
> these differences.
Seems we're lucky enough to be already adjusted :)
> Finally, you might consider the possibility that 'stty' might not be
> available in PATH, or fails for some reason, and ideally this case
> should be handled as well.
Yes, that's a real concern. We should at least provide some kind of
warning.
> It might be simpler to always use REPL servers over a socket, than to
> deal with these headaches, although I don't know if that will be an
> option for the other Scheme implementations.
Not for all of them. For Guile it's doable, but definitely not
"simpler", it requires some work and solving some unrelated corner
cases; but it might be worth the effort, because it's a cleaner
interaction mode (for instance, behaves much better in the presence of
multiple threads).
Cheers,
jao
--
Beware of the stories you read or tell; subtly, at night, beneath the
waters of consciousness, they are altering your world.
-Ben Okri, poet and novelist
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2018-11-17 14:59 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-15 14:21 Data length limit in Guile/Geiser/Scheme evaluation Neil Jerram
2018-11-15 14:26 ` Neil Jerram
2018-11-15 15:20 ` Nicolas Goaziou
2018-11-15 16:04 ` Neil Jerram
[not found] ` <87h8gi1g5g.fsf-mq78CtbEgnGjF4gvJNWmbtHuzzzSOjJt@public.gmane.org>
2018-11-15 17:01 ` Jose A. Ortega Ruiz
2018-11-15 17:32 ` [Geiser-users] " Neil Jerram
[not found] ` <87bm6q1c33.fsf-mq78CtbEgnGjF4gvJNWmbtHuzzzSOjJt@public.gmane.org>
2018-11-15 23:17 ` Jose A. Ortega Ruiz
[not found] ` <87o9aq55tl.fsf@ossau.homelinux.net>
[not found] ` <87d0r5349t.fsf@netris.org>
[not found] ` <87y39t1olc.fsf@netris.org>
[not found] ` <878t1t1ety.fsf@ossau.homelinux.net>
2018-11-16 11:16 ` bug#33403: [Geiser-users] " Neil Jerram
[not found] ` <875zwx1dcn.fsf-mq78CtbEgnGjF4gvJNWmbtHuzzzSOjJt@public.gmane.org>
2018-11-16 23:12 ` bug#33403: " Jose A. Ortega Ruiz
2018-11-17 7:09 ` Mark H Weaver
[not found] ` <87zhu8w55u.fsf-StlzRsPvAncdnm+yROfE0A@public.gmane.org>
2018-11-17 7:31 ` Mark H Weaver
2018-11-17 14:59 ` Jose A. Ortega Ruiz
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).