[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Debugging aspell problems
From: |
Juan José García-Ripoll |
Subject: |
Debugging aspell problems |
Date: |
Wed, 05 Aug 2020 13:04:38 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (windows-nt) |
Hi,
I have faced this same problem with Mingw64's aspell.exe and Latex mode
https://www.reddit.com/r/emacs/comments/fuf0fp/aspell_broke_latex/
when running Emacs on Windows 10.
Actually, the problem can be simplified to this:
- Set ispell-program-name to "c:/msys64/mingw64/bin/aspell.exe"
- Create two files, foo.txt and foo.tex, in fundamental and latex modes
- In both, write the word "buffer" (without quotes)
- Open foo.txt and type M-$. Ispell outputs that the word is correct
- Open foo.tex and do the same. Ispell locks with no output
I have set traces on ispell-filter and process-send-string and the
problem is that in text mode the whole process succeeds (see log below),
but when using latex mode, ispell-filter never gets called. My suspicion
is that process-send-string does not flush the process' input buffer,
and aspell.exe waits forever but I do not know how to debug this issue.
This problem dates back to 26.3 and is stil present in 27.rc1 Some help
on how to debug it would be appreciated.
Juanjo
--- Running on foo.txt
======================================================================
1 -> (ispell-filter #<process ispell> "@(#) International Ispell Version 3.1.20
(but really Aspell 0.60.7)
")
1 <- ispell-filter: nil
======================================================================
1 -> (process-send-string #<process ispell> "!
")
1 <- process-send-string: nil
======================================================================
1 -> (process-send-string #<process ispell> "-
")
1 <- process-send-string: nil
======================================================================
1 -> (ispell--run-on-word "buffer")
| 2 -> (process-send-string #<process ispell> "%
")
| 2 <- process-send-string: nil
| 2 -> (process-send-string #<process ispell> "^buffer
")
| 2 <- process-send-string: nil
| 2 -> (ispell-filter #<process ispell> "*
")
| 2 <- ispell-filter: nil
1 <- ispell--run-on-word: t
--- Running on foo.tex
======================================================================
1 -> (process-send-string #<process ispell> "!
")
1 <- process-send-string: nil
======================================================================
1 -> (process-send-string #<process ispell> "+
")
1 <- process-send-string: nil
======================================================================
1 -> (ispell--run-on-word "buffer")
| 2 -> (process-send-string #<process ispell> "%
")
| 2 <- process-send-string: nil
| 2 -> (process-send-string #<process ispell> "^buffer
")
| 2 <- process-send-string: nil
1 <- ispell--run-on-word: !non-local\ exit!
I had to break using Ctrl-G
--
Juan José García Ripoll
http://juanjose.garciaripoll.com
http://quinfog.hbar.es
- Debugging aspell problems,
Juan José García-Ripoll <=