jyp / boon

Ergonomic Command Mode for Emacs
GNU General Public License v3.0
334 stars 35 forks source link

Repeat only seems to work in text and fundamental modes #76

Open contrapunctus-1 opened 5 years ago

contrapunctus-1 commented 5 years ago

An example -

*|
*

v -> foo -> ESC -> o

* foo
*|

z

* foo
* foo|oof

This doesn't happen in e.g. Org, so it seems markdown-mode specific. It's possible it does not stem from Boon, but I thought I'd report it anyway.

GNU Emacs 26.1 (build 2, i686-pc-linux-gnu, GTK+ Version 3.24.5) of 2019-09-23, modified by Debian

Boon commit b620954

markdown-mode v2.3, commit f3c54e3

contrapunctus-1 commented 4 years ago

This happens even in Org (contrary to what I previously mentioned) or Emacs-Lisp buffers. I tested with the following command line.

emacs -q -L .emacs.d/elpa/dash-20200426.2244/ \
      -L .emacs.d/elpa/boon-20200507.1851/ \
      -L .emacs.d/elpa/multiple-cursors-20191210.1759/ \
      -L .emacs.d/elpa/expand-region-20200304.1839/ \
      --eval "(progn (require 'dash) (require 'multiple-cursors) (require 'expand-region) (require 'boon-qwerty))"

Investigating further by enabling edebug for boon-repeat-command - in text mode or fundamental mode, (car command-history) is (boon-set-insert-like-state '((0 0 "abc"))). In other modes (where the bug occurs), it is (boon-set-insert-like-state '((0 0 "a") (0 0 "ab") (1 0 "bc") (2 0 "c"))). I guess I'll need to look into the event loop to delve deeper.

subsetpark commented 3 years ago

@contrapunctus-1 this also affects me in most modes (but not Git commit message mode). Happy to provide any information that would help debugging.