Sven,

I'm triaging old Emacs bugs.

Thanks for doing this! I'm sure with a package like Emacs it must be quite a task.

Your e-mail prompted me to do some binary searching on my .emacs and finally make some progress on this very old annoyance.

  1. When spell-checking using ispell. After finding a misspelled word, Emacs
     highlights it and brings up a buffer offering some replacements, each one
     tagged with a digit. What is supposed to happen is that I type the digit,
     and that replacement is substituted; what actually happens is that Emacs
     complains with the message above. There are several other command that
     one can give ispell at this point; those work, but typing a letter which
     is not a valid command gives the same message.

OK, here's a specific recipe to reproduce. This is with emacs21 version 21.4a+1-5.6.

1. Create a file "dotemacs-test" with the contents (one line):

      (setq help-char "\M-h")

2. Run emacs with "emacs -q -l dotemacs-test".
3. Type the characters "glox" into the *scratch* buffer. (I assume any misspelled word will work. I use the American dictionary.)
4. Type M-$ (meta-shift-4).
5. Emacs opens a small buffer "*Choices*" with the following content:

      (0) glob  (1) glop  (2) glow  (3) g lox  (4) g-lox  (5) lox

6. Type the character "1".

Expected behavior:

- In the scratch buffer, "glox" is replaced with "glop".

Actual behavior:

- No replacement. Emacs complains (in the minibuffer):

     Wrong type argument: number-or-marker-p, "\350"

If you are still seeing this, please send a Lisp backtrace for the error
(use M-x toggle-debug-on-error to enable the backtrace) and also check
if this appears in "emacs21 -q".

It does happen with emacs -q (on my system emacs -> emacs21). It also does not happen if I comment out the line noted in step #1 above from my regular .emacs.

Here you go on the backtrace:

Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p "è")
  ispell-command-loop(("glob" "glop" "glow" "g lox" "g-lox" "lox") nil "glox" #<marker 
at 1 in *scratch*> #<marker at 5 in *scratch*>)
  byte-code("Ä^...@^haaa@^H@    \n%

For case #2 (file changed on disk), I have attached the backtrace as it seems to contain some funny characters which prevent me from pasting it.

Also, do you see this with emacs22 as well?

I haven't tried emacs22. I tend to resist Emacs version upgrades because the changelogs are so massive and it takes a while to read them and figure out what's going to affect me. However, I can install it and try if needed.

Please let me know what additional help I can provide.

Thanks,

Reid

--
http://blog.reidster.net

Attachment: case2-backtrace
Description: Binary data

Reply via email to