emacs-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]