Subject: bug#30462: flyspell-auto-correct-word 'corrects' more than the current word

From: 積丹尼 Dan Jacobson <[email-masked]>
Date: Sat, 17 Feb 2018 19:43:02 +0800

>>>>> "EZ" == Eli Zaretskii <[email-masked]> writes:
EZ> Is it possible for you to provide a recipe which would allow such
EZ> reproduction?  I think it's important to have the problem completely
EZ> understood before we discuss how to fix it.  (Previously, I thought I
EZ> did understand it, but that turned out to be a fallacy.)

All I know is just now it changed my username to "jinni".
Good thing my eye caught it, only a few words back.

I was editing this buffer:
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >
> To:                                                                                  >
> Subject:                                                                             >
> Date: Sat, 17 Feb 2018 19:11:22 +0800                                                >
> Message-ID: <[email-masked]>                                             >
> From: 積丹尼 Dan Jacobson <[email-masked]>                                      >
> --text follows this line--                                                           >
> There is no mechanism in place to ever detect                                        >
> ~/.josm/cache/                                                                       >
>                                                                                      >
>   -rw-r--r-- 1 jinni 728037 2013-04-18   <MY CURSOR WAS NEAR HERE>                   >
>                                                                                      >
> mirror_http___josm.openstreetmap.de_maps                                             >
>   -rw-r--r-- 1 jidanni 3546155 02-16 09:46 mirror_https___josm.openstreetmap.de_maps >
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >

And was typing this:

 r r [self-insert-command]
 SPC SPC [self-insert-command]
 d [self-insert-command]
 e e [self-insert-command]
 t t [self-insert-command]
 e e [self-insert-command]
 c c [self-insert-command]
 t t [self-insert-command]
 C-n [next-line]
 C-n [next-line]
 C-n [next-line]
 C-b [backward-char]
 C-b [backward-char]
 C-b [backward-char]
 SPC [self-insert-command]
 C-o [open-line]
 C-o [open-line]
 C-. [flyspell-auto-correct-word]
 C-d [delete-char]
 C-/ C-/ [undo]
 C-h l [view-lossage]

I see my .emacs already has
;;Two flyspell keys too close to C-/ undo:
(global-unset-key (kbd "C-."))
(global-unset-key (kbd "C-,"))
etc. (But of course that is not good enough.)

And indeed I would have never hit either on purpose, only by accident.

When I really want to use flyspell-auto-correct-word I always use C-M-i,
not C-. .

And you know what,
no matter what I put into .emacs,

(eval-after-load "flyspell-mode"
  '(add-hook
    'flyspell-mode-hook
    (lambda ()
      ;;too close to C-/ (undo) and already on ESC TAB:
;     (define-key flyspell-mode-map [(control ?\.)] [])
     (define-key flyspell-mode-map (kbd "C-,") (lambda () (interactive)))
     (define-key flyspell-mode-map (kbd "C-.") (lambda () (interactive)))
     )))

I just can't unbind them.

They are un-unbinable.