aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-11 21:00:56 -0500
committerCraig Jennings <c@cjennings.net>2026-07-11 21:00:56 -0500
commit2f01863f724837759465f2f2bf44d8ccc2e04a6f (patch)
tree6df3c45d0ac7200f8091bef8f06ab24d5012db62
parentee1108e6f87ed347a87bc2e6db11419a00aa7877 (diff)
downloaddotemacs-2f01863f724837759465f2f2bf44d8ccc2e04a6f.tar.gz
dotemacs-2f01863f724837759465f2f2bf44d8ccc2e04a6f.zip
fix(text-config): bind edit-indirect and accent to reachable keys
edit-indirect-region was bound to "M-S-i", but pressing Meta+Shift+i produces the event M-I, not M-S-i. No keypress reached the binding, so it fell through to M-i tab-to-tab-stop. I bound it on "M-I" instead. The "was M-I" comment had it backwards: that earlier rename wasn't a no-op. accent's C-` used accent-company, which needs the company backend. The pending Company-to-Corfu migration doesn't cover accent, so C-` would break silently once company is gone. I switched to accent-menu, which reads through the minibuffer and works regardless of the completion backend.
-rw-r--r--modules/text-config.el6
-rw-r--r--tests/test-text-config.el13
2 files changed, 16 insertions, 3 deletions
diff --git a/modules/text-config.el b/modules/text-config.el
index dd7bd3ca..a65002a8 100644
--- a/modules/text-config.el
+++ b/modules/text-config.el
@@ -69,7 +69,7 @@
;; edit selection in new buffer, C-c to finish; replaces with modifications
(use-package edit-indirect
- :bind ("M-S-i" . edit-indirect-region)) ;; was M-I
+ :bind ("M-I" . edit-indirect-region))
;; ------------------------------ Prettify Symbols -----------------------------
;; replacing the word l-a-m-b-d-a with a symbol, just because
@@ -118,8 +118,8 @@ everything else, such as `lambda', use the standard boundary check."
;; an easy way to enter diacritical marks
(use-package accent
- :commands accent-company
- :bind ("C-`" . accent-company))
+ :commands accent-menu
+ :bind ("C-`" . accent-menu))
(provide 'text-config)
;;; text-config.el ends here
diff --git a/tests/test-text-config.el b/tests/test-text-config.el
index 96935e1b..82dfe05e 100644
--- a/tests/test-text-config.el
+++ b/tests/test-text-config.el
@@ -37,5 +37,18 @@ standard boundary check."
(should (eq (cj/prettify-compose-block-markers-p start end "lambda")
(prettify-symbols-default-compose-p start end "lambda"))))))
+(ert-deftest test-text-config-edit-indirect-bound-on-reachable-key ()
+ "Error/regression: edit-indirect-region is bound on M-I -- the event
+Meta+Shift+i actually produces -- not the unreachable M-S-i, which no
+keypress generates so it silently fell through to M-i tab-to-tab-stop."
+ (should (eq (key-binding (kbd "M-I")) #'edit-indirect-region))
+ (should-not (eq (key-binding (kbd "M-S-i")) #'edit-indirect-region)))
+
+(ert-deftest test-text-config-accent-uses-completion-agnostic-backend ()
+ "Regression: C-` invokes accent-menu, which reads through the minibuffer
+and so survives a Company->Corfu migration, rather than accent-company,
+whose company backend would break silently once Company is gone."
+ (should (eq (key-binding (kbd "C-`")) #'accent-menu)))
+
(provide 'test-text-config)
;;; test-text-config.el ends here