Bug 190151

Summary: Spell Checking in XEmacs broken for German Language
Product: [Fedora] Fedora Reporter: Mirko Streckenbach <strecken>
Component: xemacs-sumoAssignee: Ville Skyttä <scop>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 5CC: extras-qa
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 20060510-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-05-13 07:51:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Potential fixed ispell.el none

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.