Improvements to flyspell-mark-duplications-exceptions.
* lisp/textmodes/flyspell.el (flyspell-word): Recognize default dictionary case for flyspell-mark-duplications-exceptions. Use regexp matching for languages. (flyspell-mark-duplications-exceptions): Add "that" and "had" for default dictionary (Bug#7926).
This commit is contained in:
parent
ef3862adbd
commit
c11325f772
2 changed files with 31 additions and 11 deletions
|
@ -1,3 +1,11 @@
|
|||
2011-04-03 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* textmodes/flyspell.el (flyspell-word): Recognize default
|
||||
dictionary case for flyspell-mark-duplications-exceptions. Use
|
||||
regexp matching for languages.
|
||||
(flyspell-mark-duplications-exceptions): Add "that" and "had" for
|
||||
default dictionary (Bug#7926).
|
||||
|
||||
2011-04-02 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* emacs-lisp/package.el (package--with-work-buffer): Recognize
|
||||
|
|
|
@ -71,13 +71,23 @@ Detection of repeated words is not implemented in
|
|||
:type 'boolean)
|
||||
|
||||
(defcustom flyspell-mark-duplications-exceptions
|
||||
'(("francais" . ("nous" "vous")))
|
||||
'((nil . ("that" "had")) ; Common defaults for English.
|
||||
("\\`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."
|
||||
It should be a list of (LANGUAGE . EXCEPTION-LIST).
|
||||
|
||||
LANGUAGE is nil, which means the exceptions apply regardless of
|
||||
the current dictionary, or a regular expression matching the
|
||||
dictionary name (`ispell-local-dictionary' or
|
||||
`ispell-dictionary') for which the exceptions should apply.
|
||||
|
||||
EXCEPTION-LIST is a list of strings. The checked word is
|
||||
downcased before comparing with these exceptions."
|
||||
:group 'flyspell
|
||||
:type '(alist :key-type string :value-type (repeat string)))
|
||||
:type '(alist :key-type (choice (const :tag "All dictionaries" nil)
|
||||
string)
|
||||
:value-type (repeat string))
|
||||
:version "24.1")
|
||||
|
||||
(defcustom flyspell-sort-corrections nil
|
||||
"Non-nil means, sort the corrections alphabetically before popping them."
|
||||
|
@ -1044,12 +1054,14 @@ misspelling and skips redundant spell-checking step."
|
|||
(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)))))
|
||||
(let ((dict (or ispell-local-dictionary
|
||||
ispell-dictionary)))
|
||||
(dolist (except flyspell-mark-duplications-exceptions)
|
||||
(and (or (null (car except))
|
||||
(and (stringp dict)
|
||||
(string-match (car except) dict)))
|
||||
(member (downcase word) (cdr except))
|
||||
(throw 'exception t))))))
|
||||
(save-excursion
|
||||
(goto-char start)
|
||||
(let* ((bound
|
||||
|
|
Loading…
Add table
Reference in a new issue