ergoemacs / ergoemacs-mode

ergoemacs-mode
ergoemacs.github.io/
GNU General Public License v3.0
293 stars 35 forks source link

Disappearing keystrokes #441

Closed calliecameron closed 7 years ago

calliecameron commented 7 years ago

When typing, sometimes keystrokes do nothing, without giving an error message. This happens particularly when using flyspell (maybe related to #375?), although it also happens sometimes even when flyspell is turned off.

To reproduce, use a fresh .emacs.d and the following config:

(require 'package)
(setq
 package-enable-at-startup nil
 package-archives '(("melpa" . "https://melpa.org/packages/")
                    ("gnu" . "https://elpa.gnu.org/packages/")))

(package-initialize)

(unless (package-installed-p 'use-package)
  (package-refresh-contents)
  (package-install 'use-package))

(require 'use-package)
(setq use-package-always-ensure t)

(use-package ergoemacs-mode
  :config
  (ergoemacs-mode))

(add-hook 'text-mode-hook 'flyspell-mode)
  1. Open emacs
  2. C-n to get a new buffer
  3. M-a text mode
  4. Type: when I type 'foo bar baz quux', the text displayed in the buffer is 'fo brbzqu', i.e. every few keystrokes, one does nothing. This is using the default flyspell settings, which uses aspell on Linux. Turning flyspell off makes everything work properly again.

Even with flyspell turned off, this happens in some specific situations: by closing a parenthesis and typing while the opening parenthesis is still highlighted, e.g. if I type '(hello) world', what appears is '(hello)world', with the space missing. If I wait long enough for the highlight on the opening parenthesis to disappear before typing the space, then it works fine. I'm not actually sure where these highlights are coming from (something enabled by ergoemacs, or something turned on by default in emacs 25?), but the same thing happens with any paired closing character, e.g. ), ] or }. This doesn't just affect keys which do self-insert-command; typing C-s immediately after closing the parenthesis also doesn't do anything.

mattfidler commented 7 years ago

I'm not quite sure why. It seems that ergoemacs-mode is slightly incompatible with emacs 25.1

mattfidler commented 7 years ago

I cannot reproduce your (hello) world example. I haven't got flyspell to work on emacs 25 yet so I cannot test you flyspell example. However I could reproduce () world sometimes producing ()world

mattfidler commented 7 years ago

I think this is fixed, since someone confirmed it works for issue #375

mattfidler commented 7 years ago

If it doesn't work for you, let me know.