* textmodes/flyspell.el (flyspell-highlight-incorrect-region):
Ignore the read-only property when flyspell highlighting is on.
Not ignoring it leads to a series of confusing errors.
(flyspell-highlight-duplicate-region): Ignore read-only, as above,
but also make sure to call flyspell-incorrect-hook.
(flyspell-maybe-correct-transposition): Perform transposition test
by bit twiddling a string, rather than using a temp buffer.
(flyspell-maybe-correct-doubling): Use a string rather than a temp
buffer. This is also the original version of the code, which
could not be checked in before due to a previous lack of
assignment papers. This version has seen heavy usage on my system
for several years now.
* textmodes/flyspell.el (flyspell-large-region):.
* progmodes/make-mode.el (makefile-query-by-make-minus-q):
* emulation/viper-util.el (viper-glob-unix-files):
* emacs-lisp/shadow.el (shadow-same-file-or-nonexistent):
* man.el (Man-init-defvars):
* jka-compr.el (jka-compr-call-process):
* files.el (get-free-disk-space,insert-directory):
* ediff-ptch.el (ediff-test-patch-utility):
* ediff-diff.el (ediff-test-utility):
* dired-aux.el (dired-check-process):
* mail/sendmail.el (sendmail-send-it): Don't use = or zerop to
test the return value of call-process, because it can be a string.
(flyspell-mode-on, flyspell-notify-misspell)
(flyspell-small-region, flyspell-external-point-words)
(flyspell-large-region): Use it
(flyspell-before-incorrect-word-string)
(flyspell-after-incorrect-word-string): New user options.
(make-flyspell-overlay): Use them.
(flyspell-version): New function.
(flyspell-incorrect-face, flyspell-duplicate-face): Adapt face definitions
to use :weight.
(flyspell-insert-function): New user option.
(flyspell-auto-correct-word, flyspell-correct-word)
(flyspell-xemacs-correct): Use it.
(flyspell-define-abbrev): New function.
(flyspell-auto-correct-word, flyspell-correct-word)
(flyspell-xemacs-correct): Use it.
(make-flyspell-overlay): Use `evaporate' property.
(flyspell-auto-correct-word, flyspell-correct-word): Remove overlay.
(flyspell-emacs-popup): Use `session' instead of `accept'.
(flyspell-auto-correct-previous-pos): New variable.
(flyspell-auto-correct-previous-hook)
(flyspell-auto-correct-previous-word): New functions.
(flyspell-mode-map): Variable deleted.
Don't mess with minor-mode-map-alist.
(calling add-minor-mode): Specify nil for keymap.
And always use add-minor-mode, now that it exists.
(flyspell-overlay-keymap-property-name): Set it to `keymap'.
(flyspell-mode-on): Don't locally bind flyspell-mouse-map
or flyspell-local-mouse-map.
(make-flyspell-overlay): Use flyspell-mouse-map directly.
(flyspell-mode): Doc fix.
(flyspell-mode-on): Don't call make-local-hook.
and assignments to it.
(flyspell-mode-on): Define flyspell-local-mouse-map, inheriting
current local map.
(make-flyspell-overlay): Use it.
(flyspell-correct-word/mouse-keymap): Change XEmacs test.
flyspell-mode-map in minor-mode-map-alist; bind mouse-2 and M-TAB
in flyspell-mouse-map (only).
(flyspell-use-local-map): New variable.
Use a different mouse-2 binding in that case,
and don't add to minor-mode-map-alist.
(make-flyspell-overlay, flyspell-correct-word):
Test flyspell-use-local-map.