Subject: bug#6434: 23.1.93; Portuguese spell-checking doesn't work with words that contain the ç character

From: Rolando Pereira <[email-masked]>
Date: Tue, 15 Jun 2010 23:19:08 +0100

Using ispell with a Portuguese dictionary to spell check a word that
contains either the ç or Ç characters causes the spellchecker to act as
if those characters were word boundaries.

Here the relevant part of the variable ispell-dictionary-base-alist
in my ispell.el.gz file:

    ("portugues"                        ; Portuguese mode
     "[a-zA-Z\301\302\311\323\340\341\342\351\352\355\363\343\372]"
     "[^a-zA-Z\301\302\311\323\340\341\342\351\352\355\363\343\372]"
     "[']" t ("-C") "~latin1" iso-8859-1)

The second string, corresponding to the string returned by
the function ispell-get-casechars, should contain the values \347 and
\307, corresponding, in that order, to the ç and Ç characters.

Also, those values should appear in the third string, which is the one
that is returned by the function ispell-get-not-casechars.

In both cases, these values should appear inside the [].

However, trying to set the variable ispell-dictionary-base-alist with
the correct values on my .emacs, doesn't appear to solve the problem.

The way I found to fix it, is by changing the return values of the
functions ispell-get-casechars and ispell-get-not-casechars as so:

(defun ispell-get-casechars ()
   "[a-zA-ZÁÂÉÓàáâéêíóãúçÇ]")

(defun ispell-get-not-casechars ()
   "[^a-zA-ZÁÂÉÓàáâéêíóãúçÇ]")

My emacs version, as returned by the emacs-version command is:
GNU Emacs 23.1.93.1 (i686-pc-linux-gnu, GTK+ Version 2.14.4) of
2010-03-04 on rolando-desktop