unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Piet van Oostrum <piet@cs.uu.nl>
Subject: Re: flyspell bug
Date: Mon, 24 Oct 2005 15:39:43 +0200	[thread overview]
Message-ID: <m2mzkzqbj4.fsf@ordesa.cs.uu.nl> (raw)
In-Reply-To: <m2k6g3e65k.fsf@ordesa.local> (Piet van Oostrum's message of "Mon, 24 Oct 2005 09:16:39 +0200")

I have found the bug.

Explanation:

flyspell-buffer (actually flyspell-region) works in two different ways,
depending on a small or large region to be checked. For a small region each
word is subjected to flyspell-word. No problem. For a large region
(default > 1000 characters) first the region is piped through ispell which
returns a list of misspelled words. Then each of these words is searched
for in the region (sequentially) and then flyspell-word is applied to it.
This searching and spelling is done in a loop until the misspelling is
found. 

In a TeX file, ispell should be called with the "-t" option and this is not
done. That is the bug. What happens is that ispell finds a misspelled word,
in the refcard.tex for example "newcount". The searching loop finds
"newcount", applies flyspell-word, but flyspell-word accepts the word
because it is in a TeX command. Therefore the loop continues until a really
misspelled "newcount" is found. In this case there is none, so the loop
stops after the second "\newcount". This looping is necessary, because (1)
there could really be a word "newcount" without the backslash, (2) the word
could be found as a substring of a correctly spelled word (e.g. when
"redist" would appear after "redistribute").

The solution is to give ispell the "-t" option.

diff -u ~/Projects/cvs/emacs/lisp/textmodes/flyspell.el flyspell.el
--- /Users/piet/Projects/cvs/emacs/lisp/textmodes/flyspell.el	2005-10-24 09:17:22.000000000 +0200
+++ flyspell.el	2005-10-24 15:38:27.000000000 +0200
@@ -1389,6 +1389,8 @@
 		      (if ispell-local-dictionary
 			  (setq ispell-dictionary ispell-local-dictionary))
 		      (setq args (ispell-get-ispell-args))
+		      (if (eq ispell-parser 'tex)
+			  (setq args (cons "-t" args)))
 		      (if ispell-dictionary ; use specified dictionary
 			  (setq args
 				(append (list "-d" ispell-dictionary) args)))

-- 
Piet van Oostrum <piet@cs.uu.nl>
URL: http://www.cs.uu.nl/~piet [PGP 8DAE142BE17999C4]
Private email: piet@vanoostrum.org

  reply	other threads:[~2005-10-24 13:39 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-02 17:08 flyspell bug Richard M. Stallman
2005-10-02 20:10 ` Slawomir Nowaczyk
2005-10-02 21:45   ` Kim F. Storm
2005-10-02 23:28     ` Slawomir Nowaczyk
2005-10-03 15:34     ` Richard M. Stallman
2005-10-03 16:14       ` Kim F. Storm
2005-10-03 19:31         ` Richard M. Stallman
2005-10-04  8:58           ` Kim F. Storm
2005-10-05  3:32             ` Richard M. Stallman
2005-10-05  8:34               ` David Kastrup
2005-10-03 15:35     ` Richard M. Stallman
2005-10-05 10:41       ` Slawomir Nowaczyk
2005-10-05 13:16         ` Slawomir Nowaczyk
2005-10-10  4:15           ` Richard M. Stallman
2005-10-12  8:43             ` Slawomir Nowaczyk
2005-10-13  4:52               ` Richard M. Stallman
2005-10-13 10:40                 ` Slawomir Nowaczyk
2005-10-14  5:11                   ` Richard M. Stallman
2005-10-14 11:59                     ` Slawomir Nowaczyk
2005-10-23  4:42                       ` Richard M. Stallman
2005-10-23 11:50                         ` Piet van Oostrum
2005-10-24  1:00                           ` Richard M. Stallman
2005-10-24  7:16                             ` Piet van Oostrum
2005-10-24 13:39                               ` Piet van Oostrum [this message]
2005-10-24 14:49                                 ` Piet van Oostrum
2005-10-24 23:22                                 ` Slawomir Nowaczyk
2005-10-25 13:40                                 ` Agustin Martin
2005-10-25 15:59                                 ` Richard M. Stallman
2005-11-18 15:54                                 ` Agustin Martin
2005-11-19 23:26                                   ` Richard M. Stallman
2005-11-20 20:36                                     ` Agustin Martin
2005-11-21  8:10                                       ` Richard M. Stallman
2005-10-24 16:27                               ` Richard M. Stallman
2005-10-24 17:51                                 ` Piet van Oostrum
2005-10-24 23:22                                 ` Slawomir Nowaczyk
2005-10-26 16:46                                   ` Richard M. Stallman
2005-10-27 17:20                                     ` Slawomir Nowaczyk
2005-10-28 16:19                                       ` Richard M. Stallman
2005-10-28 13:32                                     ` Agustin Martin
2005-10-28 21:57                                       ` Piet van Oostrum
2005-10-29  0:18                                       ` Slawomir Nowaczyk
2005-10-29 20:33                                         ` Richard M. Stallman
2005-10-31 14:50                                           ` Slawomir Nowaczyk
2005-11-01 10:19                                             ` Piet van Oostrum
2005-11-02 10:18                                               ` Slawomir Nowaczyk
2005-11-02 21:30                                                 ` Piet van Oostrum
2005-11-03 14:35                                                   ` Slawomir Nowaczyk
2005-11-04  9:20                                                     ` Piet van Oostrum
2005-11-04 12:27                                                       ` Agustin Martin
2005-11-04 14:04                                                       ` Slawomir Nowaczyk
2005-11-04 17:41                                                         ` Agustin Martin
2005-11-05  1:37                                                       ` Richard M. Stallman
2005-11-02 10:27                                               ` Richard M. Stallman
2005-11-07 15:35                                             ` Richard M. Stallman
2005-11-07 15:51                                             ` Slawomir Nowaczyk
2005-11-16 15:22                                               ` Agustin Martin
2005-11-18 14:51                                                 ` Agustin Martin
2005-11-23 10:19                                                 ` flyspell bug [possible patch] Agustin Martin
2005-11-24  3:58                                                   ` Richard M. Stallman
2005-11-24 14:53                                                     ` Agustin Martin
2005-10-29  5:13                                       ` flyspell bug Richard M. Stallman
2005-10-29 10:12                                         ` Piet van Oostrum
2005-10-29 12:11                                           ` David Kastrup
2005-10-29 19:51                                             ` Piet van Oostrum
2005-10-29 20:34                                           ` Richard M. Stallman
2005-10-30 13:25                                             ` Piet van Oostrum
2005-10-31  1:14                                               ` Richard M. Stallman
2005-10-30  1:14                                         ` Agustin Martin
2005-10-30 12:23                                           ` Piet van Oostrum
2005-10-28 11:11                                 ` Agustin Martin
     [not found] <E1DR6lU-0005vs-O1@fencepost.gnu.org>
2005-05-07 16:06 ` [mange@freemail.hu: Re: flyspell bug] Eli Zaretskii
2005-05-10  0:06   ` flyspell bug Juri Linkov
2005-05-10  3:37     ` Eli Zaretskii
2005-05-10  5:04       ` Juri Linkov
2005-05-10 19:46         ` Eli Zaretskii
2005-05-11  8:23           ` Juri Linkov
2005-05-11 12:40             ` Eli Zaretskii
2005-05-12  5:29               ` Juri Linkov
2005-05-12  6:55                 ` Eli Zaretskii
2005-05-12  6:14               ` Juri Linkov
2005-05-12  9:09                 ` Eli Zaretskii
2005-05-12 17:13                   ` Ken Stevens
2005-05-13 16:09                     ` Richard Stallman
2005-05-13 20:09                       ` Ken Stevens
2005-05-14  4:07                         ` Richard Stallman
2005-05-13  1:34                 ` Richard Stallman
2005-05-12  8:30             ` Richard Stallman
2005-05-23 14:51               ` Kevin Atkinson
2005-05-25  1:18                 ` Richard Stallman
2005-05-25 15:50                   ` Kevin Atkinson
2005-05-26  6:00                     ` Richard Stallman
2005-05-25 16:48                   ` Juri Linkov
2005-05-25 18:11                     ` Kevin Atkinson
2005-05-26  6:00                     ` Richard Stallman
2005-05-11 16:29     ` Richard Stallman
2005-05-12  5:28       ` Juri Linkov
2005-05-13  1:34         ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2005-04-25 11:30 Stephen Eglen
2005-04-26  1:28 ` Peter Heslin
2005-04-26  8:30   ` Stephen Eglen
2005-04-26 22:55     ` Richard Stallman
2005-04-27  9:13       ` Stephen Eglen
2005-04-27 14:04         ` Magnus Henoch
2005-04-27 16:01           ` Stephen Eglen
2005-05-10 10:40   ` Kai Großjohann

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=m2mzkzqbj4.fsf@ordesa.cs.uu.nl \
    --to=piet@cs.uu.nl \
    /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).