[OS X Emacs] cocoAspell and Aquamacs 1.3a

José Miguel Figueroa-O'Farrill j.m.figueroa at ed.ac.uk
Wed Mar 19 18:28:20 EDT 2008


On 19 Mar 2008, at 19:49, Johannes Brauer wrote:
>
> Am 19.03.2008 um 14:44 schrieb José Miguel Figueroa-O'Farrill:
>
>>
>> On 19 Mar 2008, at 13:01, Johannes Brauer wrote:
>>>
>>> Am 19.03.2008 um 02:22 schrieb José Miguel Figueroa-O'Farrill:
>>>
>>>>
>>>>
>>>>
>>>> On 16 Mar 2008, at 17:49, Johannes Brauer wrote:
>>>>
>>>>> Hi!
>>>>>
>>>>> I have installed cocoAspell with 2 dictionaries in /Library/ 
>>>>> Application\ Support/cocoAspell/ : aspell6-de-20030222-1 and  
>>>>> aspell6-en-6.0-0/.
>>>>>
>>>>> Setting the dictionary to "deutsch", all works fine. But trying  
>>>>> to activate the english dictionary  I get the following error  
>>>>> message:
>>>>>
>>>>> Starting new Ispell process [english] ...
>>>>> ad-Orig-error: Error: The file "/Library/Application Support/ 
>>>>> cocoAspell/aspell6-de-20030222-1/english" can not be opened for  
>>>>> reading.
>>>>>
>>>>> Apparently, the dictionary is searched in the wrong directory.  
>>>>> But I don't know why. I think this problem was discusssed in a  
>>>>> thread initiated by Alex Hamann, but I have not find any solution.
>>>>
>>>> What is the value of 'ispell-aspell-dict-dir'?
>>> /usr/local/lib/aspell-0.60
>>>> In my set-up it's '/opt/local/share/aspell'.
>>>> This is the target of a symbolic link from '/Library/Application  
>>>> Supprt/cocoAspell/aspell' where I have put all the dictionaries;  
>>>> that is, the *.alias, *.rws, *.multi and *.afm files.  Your  
>>>> mileage may vary, but this works for me.
>>>
>>> /Library/Application Support/cocoAspell contains 2 dictionaries:
>>> aspell6-de-20030222-1/
>>> aspell6-en-6.0-0/
>>>
>>> The de dictionary is found there. But I cannot switch to the en  
>>> dict.
>>>
>>> Johannes
>>
>> Am I right in assuming that /usr/local/lib/aspell-0.60 is a link  
>> to /Library/Application Support/cocoAspell ?
> No, it is seems to be a normal directory containing these files:
> ccpp.amf		cp1256.cset		iso-8859-13.cmap	iso-8859-7.cmap		sgml- 
> filter.la
> comment.amf		cp1257.cmap		iso-8859-13.cset	iso-8859-7.cset		sgml- 
> filter.so
> context-filter.info	cp1257.cset		iso-8859-14.cmap	iso-8859-8.cmap		 
> sgml.amf
> context-filter.la	cp1258.cmap		iso-8859-14.cset	iso-8859-8.cset		spell
> context-filter.so	cp1258.cset		iso-8859-15.cmap	iso-8859-9.cmap		 
> split.kbd
> cp1250.cmap		dvorak.kbd		iso-8859-15.cset	iso-8859-9.cset		 
> standard.kbd
> cp1250.cset		email-filter.info	iso-8859-16.cmap	ispell			tex- 
> filter.info
> cp1251.cmap		email-filter.la		iso-8859-16.cset	koi8-r.cmap		tex- 
> filter.la
> cp1251.cset		email-filter.so		iso-8859-2.cmap		koi8-r.cset		tex- 
> filter.so
> cp1252.cmap		email.amf		iso-8859-2.cset		koi8-u.cmap		tex.amf
> cp1252.cset		html-filter.info	iso-8859-3.cmap		koi8-u.cset		texinfo- 
> filter.info
> cp1253.cmap		html.amf		iso-8859-3.cset		none.amf		texinfo-filter.la
> cp1253.cset		iso-8859-1.cmap		iso-8859-4.cmap		nroff-filter.info	 
> texinfo-filter.so
> cp1254.cmap		iso-8859-1.cset		iso-8859-4.cset		nroff-filter.la		 
> texinfo.amf
> cp1254.cset		iso-8859-10.cmap	iso-8859-5.cmap		nroff-filter.so		 
> url.amf
> cp1255.cmap		iso-8859-10.cset	iso-8859-5.cset		nroff.amf
> cp1255.cset		iso-8859-11.cmap	iso-8859-6.cmap		perl.amf
> cp1256.cmap		iso-8859-11.cset	iso-8859-6.cset		sgml-filter.info

This is the same in my system, but I believe that this is not a  
cocoAspell installation, but rather an earlier aspell installation,  
perhaps from DarwinPorts or Fink.  What I don't understand is how  
does your Aquamacs know where to find the dictionary.  When you say  
that you set the dictionary to "deutsch", what exactly are you doing?

In any case, 'ispell-aspell-dict-dir' should point out to where the  
dictionaries are.  One possibility would be to try setting
ispell-aspell-dict-dir to /Library/Application Support/cocoAspell.   
I'm not sure, though, if it will look for dictionaries in the  
subdirectories as well.  Failing that... (see below)

>> The way I see it, you have two options.
>>
>> 1) Put all the dictionaries in the same directory, for example  
>> from the command line
>>
>> cd /Library/Application\ Support/cocoAspell
>> sudo mkdir aspell
>> sudo cp */*.{rws,multi,afm} aspell/
>>
>> and change the value of 'ispell-aspell-dict-dir' to reflect the  
>> new location: /Library/Application\ Support/cocoAspell/aspell.
> I could try this ...
>>
>>
>> 2) Depending on how you switch dictionaries in *macs, you can also  
>> tell it to change also 'ispell-aspell-dict-dir' to where the  
>> relevant files are located.
>>
>> I can provide more details if you'd want me to.
> .. but this I do like more, I think


OK -- you could define something like

(defun enspell ()
    "Change to English."
    (interactive)
    (setq ispell-aspell-dict-dir "/Library/Application Support/ 
cocoAspell/aspell6-en-6.0-0")
    (ispell-change-dictionary "english")
    (setq ispell-local-pdict "~/.aspell_english"))

(defun despell ()
    "Change to German."
    (interactive)
    (setq ispell-aspell-dict-dir "/Library/Application Support/ 
cocoAspell/aspell6-de-20030222-1")
    (ispell-change-dictionary "deutsch")
    (setq ispell-local-pdict "~/.aspell_deutsch"))

where the ispell-local-pdict lines are for your personal  
dictionaries, assuming you have them.

I have not tested this code, though; although it is based on  
something that I used to do in XEmacs years ago, which worked well.

Cheers, José





More information about the MacOSX-Emacs mailing list