Subject: Re: bug#9121: Error in ispell process

From: Juri Linkov <[email-masked]>
Date: Fri, 16 Sep 2011 15:45:46 +0300

> Right.  How about changing the message to
>
> "Error in ispell process (possibly wrong dictionary?)"

There may be other reasons for errors.  We can't say for sure because we
can't determine the language of the checked word.  (Well, we could add
a package for automatic language identification at some point later :-)

`ispell-region' solves this problem by saying in its message which
dictionary has been used for spell-checking, e.g.

  Spell-checking region using aspell with default dictionary...done

The same could be done for `ispell-word' as well:

  Error checking word 台灣跨性別 using aspell with default dictionary

So users will see enough information to figure out what's wrong:

=== modified file 'lisp/textmodes/ispell.el'
--- lisp/textmodes/ispell.el	2011-08-25 19:54:07 +0000
+++ lisp/textmodes/ispell.el	2011-09-16 12:39:49 +0000
@@ -1723,7 +1723,11 @@ (defun ispell-word (&optional following
 		  (extent-at start)
 		  (and (fboundp 'delete-extent)
 		       (delete-extent (extent-at start)))))
-	    ((null poss) (message "Error in ispell process"))
+	    ((null poss)
+	     (message "Error checking word %s using %s with %s dictionary"
+		      (funcall ispell-format-word-function word)
+		      (file-name-nondirectory ispell-program-name)
+		      (or ispell-current-dictionary "default")))
 	    (ispell-check-only	      ; called from ispell minor mode.
 	     (if (fboundp 'make-extent)
 		 (if (fboundp 'set-extent-property)
@@ -3034,7 +3038,7 @@ (defun ispell-tex-arg-end (&optional arg
 	(while (looking-at "[ \t\n]*\\[") (forward-sexp))
 	(forward-sexp (or arg 1)))
     (error
-     (message "error skipping s-expressions at point %d." (point))
+     (message "Error skipping s-expressions at point %d." (point))
      (beep)
      (sit-for 2))))