Bug 190151 - Spell Checking in XEmacs broken for German Language
Summary: Spell Checking in XEmacs broken for German Language
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: xemacs-sumo
Version: 5
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Ville Skyttä
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-04-28 07:32 UTC by Mirko Streckenbach
Modified: 2007-11-30 22:11 UTC (History)
1 user (show)

Fixed In Version: 20060510-1
Clone Of:
Environment:
Last Closed: 2006-05-13 07:51:33 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Potential fixed ispell.el (138.19 KB, text/plain)
2006-04-29 19:45 UTC, Ville Skyttä
no flags Details

Description Mirko Streckenbach 2006-04-28 07:32:10 UTC
Description of problem:

XEmacs spell-checking for dictionary deusch8 broken.

Version-Release number of selected component (if applicable):

xemacs-21.4.19-4.fc5
xemacs-sumo-20051208-2
aspell-0.60.3-5
aspell-de-0.50-11.2.1


How reproducible:

Spell check a word with german umlaut using the "deutsch8" dictionary


Steps to Reproduce:
1. Start XEmacs, execute "ispell-change-dictionary deutsch8".
2. Enter a word with german umlaut, e.g. hämmert
3. Press M-$ to check it.
  
Actual results:

Error Message "ISpell and its process have different character maps."

Expected results:

Correct checking of the word

Additional info:

Obviously xemacs was broken by the newer aspell version.
Older aspell versions always used iso-8859-1 communication, regardless
of locale or coding-system of the buffer. 

The current version expects communication in the current locale, but xemacs
tries latin1 communication.

I fixed it, by makeing xemacs call "aspell --encoding=iso-8859-1" as a
wordaround, but I think the right way would be to fix ispell.el.

Comment 1 Ville Skyttä 2006-04-29 19:45:47 UTC
Created attachment 128399 [details]
Potential fixed ispell.el

Reproduced.  I'm considering applying the patch below to the next xemacs-sumo
release for FC5+.  Complete ispell.el replacement also attached, it'd be cool
if you could test that (by dropping it to
/usr/share/xemacs/xemacs-packages/lisp/ispell/ or
~/.xemacs/.xemacs/xemacs-packages/lisp/ispell) and let me know if it works for
you.

--- ispell.el~ 2005-10-16 19:47:08.000000000 +0300
+++ ispell.el  2006-04-29 22:42:03.000000000 +0300
@@ -2249,6 +2249,12 @@
			    (expand-file-name ispell-personal-dictionary)))))
     (setq args (append args ispell-extra-args))

+    ;; Fix encoding with aspell >= 0.60 (and blindly assume it's >= 0.60
+    ;; if it looks like aspell :P)
+    (when (string-match "^aspell" (file-name-nondirectory
ispell-program-name))+	    (add-to-list
+	'args (concat "--encoding=" (symbol-name (ispell-get-coding-system)))))

+
     (if ispell-async-processp
	(let ((process-connection-type ispell-use-ptys-p))
	  (apply 'start-process

Comment 2 Mirko Streckenbach 2006-05-02 05:48:36 UTC
Yes, that works for me.

Thanks for the quick solution.


Comment 3 Ville Skyttä 2006-05-13 07:51:33 UTC
Fixed in 20060510-1.


Note You need to log in before you can comment on or make changes to this bug.