Subject: flyspell-mode: stay off of C-c . best

From: 積丹尼 Dan Jacobson <[email-masked]>
Date: Mon, 12 Dec 2016 02:23:28 +0800

X-Debbugs-cc: Manuel Serrano <[email-masked]>

Here binding C-. is too dangerous, as it is too close to undo, C-/,
and it will subtly change words not on the screen, far up in the document, with the only
evidence being some choices in the modeline. Easy to overlook when doing
a lot of undos and ones finger slips a little.

Also well gosh if flyspell-use-meta-tab is already true by default, so
isn't one key enough. Why do you have to bind two keys to the same thing?

(defvar flyspell-mode-map
  (let ((map (make-sparse-keymap)))
    (if flyspell-use-meta-tab
      (define-key map "\M-\t" 'flyspell-auto-correct-word))
    (define-key map flyspell-auto-correct-binding 'flyspell-auto-correct-previous-word)
    (define-key map [(control ?\,)] 'flyspell-goto-next-error)
    (define-key map [(control ?\.)] 'flyspell-auto-correct-word)
    (define-key map [?\C-c ?$] 'flyspell-correct-word-before-point)
    map)
  "Minor mode keymap for Flyspell mode--for the whole buffer.")

OK in .emacs I will do
(eval-after-load "flyspell-mode"
  '(progn ;too close to C-/ (undo) and already on ESC TAB:
     (define-key flyspell-mode-map [(control ?\.)] [])))

Also we see

;; Some user variables control the behavior of flyspell.  They are
;; those defined under the `User variables' comment.

but below is

;;*---------------------------------------------------------------------*/
;;*    User configuration ...                                           */
;;*---------------------------------------------------------------------*/

not 'User variables'. So change one or the other. emacs-version "25.1.1".