unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Reuben Thomas <rrt@sc3d.org>
To: Juri Linkov <juri@jurta.org>
Cc: 13109@debbugs.gnu.org
Subject: bug#13109: 24.1; flyspell highlights words containing curly quotes which ispell-buffer accepts
Date: Fri, 3 May 2013 21:48:27 +0100	[thread overview]
Message-ID: <CAOnWdogsqVcsqkMF0YqN96Wn+3eR-wB1Au_9JbvR3BEs7BJOMw@mail.gmail.com> (raw)
In-Reply-To: <CAOnWdog73wL=CRY20hAjmL9O_5Qbu0sR6UwsM8jFow+nd227pg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2947 bytes --]

On 3 May 2013 21:20, Reuben Thomas <rrt@sc3d.org> wrote:

> On 3 May 2013 21:15, Reuben Thomas <rrt@sc3d.org> wrote:
>
>> On 11 December 2012 23:07, Juri Linkov <juri@jurta.org> wrote:
>>
>>> >> `ispell-aspell-find-dictionary' reads the ispell data from
>>> This fix means that aspell developers added a mapping from
>>> 2019 (RIGHT SINGLE QUOTATION MARK) to 27 (APOSTROPHE)
>>> in their character `compat' table.  This explains why
>>> `ispell-buffer' does work while `ispell-word' and `flyspell' don't.
>>>
>>> `ispell-word' and `flyspell' still use the information from
>>> /usr/lib/aspell/en.dat to parse the buffer to find the next word to
>>> check,
>>> and fail because they don't use the `compat' mappings from
>>> iso-8859-1.cmap.
>>>
>>
>> This finally annoyed me sufficiently that I decided I wanted a
>> workaround. Fortunately, this is easy, as it merely involves reapplying a
>> version of the fix I used to use when ispell-buffer didn't work. I now have
>> the following line in my custom.el:
>>
>>  '(ispell-local-dictionary-alist (quote (("british" "[[:alpha:]]"
>> "[^[:alpha:]]" "'’" t ("-d" "en_GB") nil utf-8))))
>>
>> I've copied the default settings and added a curly single quote to the
>> list of permitted "other characters". I imagine one can do the same for
>> other languages. It's ugly (principally because it copies rather than
>> overwriting information) but that information (the other entries in the
>> record) doesn't change often, so it'll do until a more comprehensive
>> solution is applied.
>>
>
> Belay that, it doesn't work. It seems I have to type a new word for
> flyspell to complain; merely passing the cursor over an old one (which
> suffices to remove a highlight in a word that has been added to the
> dictionary) does not suffice.
>
> If anyone can offer a functioning workaround, I'd be most grateful.
>

I read the documentation for ispell-dictionary-alist more carefully, and
came up with:

 '(ispell-local-dictionary-alist (quote (("british" "[[:alpha:]]"
"[^[:alpha:]]" "['’]" t ("-d" "en_GB") nil utf-8))))

where I made the "others" character set a character class.

I checked the aspell command actually being run (with "ps") to ensure that
it is indeed using "-d en_GB", and if I change the second argument to the
(bizarre) setting of "fr_FR", this is used, so my settings in
ispell-local-dictionary-alist are being used. If I run
ispell-get-otherchars, I get

['’]

as expected. If I run "(looking-at (ispell-get-otherchars))" while sitting
on a curly quote, I get:

t

Actually, now I see something weird is happening. I type:

"didn’", i.e. "didn" followed by a curly quote, and the word is highlighted
as misspelt. If I then type "t" to finish the word, it is unhighlighted,
after a pause.

Is there some other part of flyspell that is more rough-and-ready which I
also have to tweak?

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 4485 bytes --]

  reply	other threads:[~2013-05-03 20:48 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-06 23:59 bug#13109: 24.1; flyspell highlights words containing curly quotes which ispell-buffer accepts Reuben Thomas
2012-12-07  6:29 ` Eli Zaretskii
     [not found]   ` <CAOnWdoiiaW0gvHTEuunsZvkqn8a6A4tLsQC4WoF3jgy40onjMg@mail.gmail.com>
2012-12-07 13:57     ` Eli Zaretskii
2012-12-07 15:27       ` Reuben Thomas
2012-12-09 21:24         ` Reuben Thomas
2012-12-10 23:34           ` Juri Linkov
2012-12-11 16:20             ` Reuben Thomas
2012-12-11 23:07               ` Juri Linkov
2013-05-03 20:15                 ` Reuben Thomas
2013-05-03 20:20                   ` Reuben Thomas
2013-05-03 20:48                     ` Reuben Thomas [this message]
     [not found]                     ` <mailman.25084.1367614166.855.bug-gnu-emacs@gnu.org>
2013-05-04 19:26                       ` Sebastien Vauban
2013-05-06 10:32                         ` Agustin Martin
2015-06-26 11:46 ` bug#13109: Thanks Reuben Thomas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAOnWdogsqVcsqkMF0YqN96Wn+3eR-wB1Au_9JbvR3BEs7BJOMw@mail.gmail.com \
    --to=rrt@sc3d.org \
    --cc=13109@debbugs.gnu.org \
    --cc=juri@jurta.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).