(flyspell-duplicate-face): Use (X)Emacs-agnostic code.
(flyspell-mode-map): Don't overwrite at each load. Remove code
redundant with the subsequent add-minor-mode. Merge Emacs and XEmacs code.
(flyspell-word): Minor simplification.
(flyspell-math-tex-command-p): Quieten the byte-compiler.
(flyspell-external-point-words): Remove unused vars `size' and `start'.
(flyspell-do-correct): Rename from flyspell-xemacs-correct.
Merge the corresponding Emacs code.
(flyspell-correct-word, flyspell-xemacs-popup): Use flyspell-do-correct.
(flyspell-auto-correct-previous-hook): Doc fix.
(flyspell-emacs, flyspell-use-local-map): Vars moved up.
(flyspell-default-delayed-commands): add backward-delete-char-untabify.
(flyspell-abbrev-p): Default to nil.
(flyspell-use-global-abbrev-table-p): Doc fix.
(flyspell-large-region): Allow nil as value.
(flyspell-use-meta-tab, flyspell-auto-correct-binding): New variables.
(mail-mode-flyspell-verify): More robust handling
of `mail-header-separator'. More efficient signature detection.
Allow for regexp metacharacters in message-header-separator.
Adding `To' not to be checked in mail-mode-flyspell-verify.
(flyspell-prog-mode): Run flyspell-prog-mode-hook.
(flyspell-mouse-map, flyspell-mode-map): Bind C-. and C-, .
Bind M-TAB only if flyspell-use-meta-tab.
Bind flyspell-auto-correct-binding.
(flyspell-mode-on): Bind flyspell-mouse-map and flyspell-mode-map.
(flyspell-mode): Doc fix.
(flyspell-accept-buffer-local-defs): Preserve current buffer.
(flyspell-word-cache-result): New var, always local.
(flyspell-check-pre-word-p): Doc fix.
(flyspell-check-changed-word-p): Handle spc like newline.
(flyspell-post-command-hook): Set flyspell-word-cache-result.
(flyspell-word-search-backward, flyspell-word-search-forward): New functions.
(flyspell-word): Return t if nothing to check.
When parsing TeX code, check for after } or \.
Use flyspell-word-search-backward to find previous word.
Return nil if duplicated word.
For word already checked, return same value as last time.
Set flyspell-word-cache-result after checking.
Don't clobber the return value.
(flyspell-get-word): Major rewrite.
(flyspell-external-point-words): New locals pword, pcount.
Fix size used in progress message.
Find the proper corresponding word in flyspell-large-region-buffer.
(flyspell-region): Check for flyspell-large-region = nil.
(flyspell-highlight-incorrect-region): Clean up overlays in region.
(flyspell-auto-correct-word): Check that WORD is a cons.
(flyspell-correct-word): Likewise.
(flyspell-auto-correct-previous-word):
Narrow down to what's on the screen, and recenter overlays
at the end of the next word.
* 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.