Mercurial > emacs
changeset 83819:a3c6b2cd98cc
(flyspell-mark-duplications-exceptions): New variable. List of
exceptions for the duplicated word rule.
(flyspell-mark-duplications-flag): Mention it.
(flyspell-word): Treat it.
author | Michaël Cadilhac <michael.cadilhac@lrde.org> |
---|---|
date | Fri, 31 Aug 2007 13:41:23 +0000 |
parents | 2873d23e35c8 |
children | 97ba59b822d7 |
files | lisp/textmodes/flyspell.el |
diffstat | 1 files changed, 17 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/textmodes/flyspell.el Fri Aug 31 13:30:02 2007 +0000 +++ b/lisp/textmodes/flyspell.el Fri Aug 31 13:41:23 2007 +0000 @@ -67,11 +67,21 @@ (defcustom flyspell-mark-duplications-flag t "Non-nil means Flyspell reports a repeated word as an error. +See `flyspell-mark-duplications-exceptions' to add exceptions to this rule. Detection of repeated words is not implemented in \"large\" regions; see `flyspell-large-region'." :group 'flyspell :type 'boolean) +(defcustom flyspell-mark-duplications-exceptions + '(("francais" . ("nous" "vous"))) + "A list of exceptions for duplicated words. +It should be a list of (LANGUAGE . EXCEPTION-LIST). LANGUAGE is matched +against the current dictionary and EXCEPTION-LIST is a list of strings. +The duplicated word is downcased before it is compared with the exceptions." + :group 'flyspell + :type '(alist :key-type string :value-type (repeat string))) + (defcustom flyspell-sort-corrections nil "Non-nil means, sort the corrections alphabetically before popping them." :group 'flyspell @@ -1022,6 +1032,13 @@ (and (> start (point-min)) (not (memq (char-after (1- start)) '(?\} ?\\))))) flyspell-mark-duplications-flag + (not (catch 'exception + (dolist (except flyspell-mark-duplications-exceptions) + (and (string= (or ispell-local-dictionary + ispell-dictionary) + (car except)) + (member (downcase word) (cdr except)) + (throw 'exception t))))) (save-excursion (goto-char start) (let* ((bound