From 089a4313660cb8af1eca3829ffbdbae70f72333a Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Mon, 2 Feb 2026 08:34:36 -0600 Subject: feat(keyboard): add GUI key translation for M-S- bindings Rename terminal-compat.el to keyboard-compat.el and add GUI support. Problem: M-S-o and other Meta+Shift bindings didn't work in GUI mode. GUI Emacs receives M-O (uppercase) but bindings use M-S-o syntax. Terminal can't use M-O due to arrow key escape sequence conflicts. Solution: Use key-translation-map in GUI mode to translate M-O -> M-S-o for all 18 Meta+Shift keybindings. Terminal fixes unchanged. Also fix two test issues: - Remove expected-fail from expand-weekly test (timezone fix resolved it) - Add helpful install messages to dependency-checking tests --- tests/test-calendar-sync--expand-weekly.el | 4 +--- tests/test-flycheck-languagetool-setup.el | 12 ++++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) (limited to 'tests') diff --git a/tests/test-calendar-sync--expand-weekly.el b/tests/test-calendar-sync--expand-weekly.el index d7b0eddc..fe333c98 100644 --- a/tests/test-calendar-sync--expand-weekly.el +++ b/tests/test-calendar-sync--expand-weekly.el @@ -24,9 +24,7 @@ ;;; Normal Cases (ert-deftest test-calendar-sync--expand-weekly-normal-saturday-returns-occurrences () - "Test expanding weekly event on Saturday (GTFO use case). -Known issue: Timezone calculation may cause off-by-one day error." - :expected-result :failed + "Test expanding weekly event on Saturday (GTFO use case)." (test-calendar-sync--expand-weekly-setup) (unwind-protect (let* ((start-date (test-calendar-sync-time-days-from-now 1 10 30)) diff --git a/tests/test-flycheck-languagetool-setup.el b/tests/test-flycheck-languagetool-setup.el index a719e822..aa71d4a7 100644 --- a/tests/test-flycheck-languagetool-setup.el +++ b/tests/test-flycheck-languagetool-setup.el @@ -29,12 +29,16 @@ (should (file-executable-p wrapper-path)))) (ert-deftest test-flycheck-languagetool-setup-normal-languagetool-installed () - "Test that languagetool command is available in PATH." - (should (executable-find "languagetool"))) + "Test that languagetool command is available in PATH. +The test failure serves as a reminder to install the dependency." + (should (or (executable-find "languagetool") + (error "LanguageTool not installed. Install with: sudo pacman -S languagetool")))) (ert-deftest test-flycheck-languagetool-setup-normal-python3-available () - "Test that python3 is available for wrapper script." - (should (executable-find "python3"))) + "Test that python3 is available for wrapper script. +The test failure serves as a reminder to install the dependency." + (should (or (executable-find "python3") + (error "python3 not installed. Install with: sudo pacman -S python")))) ;; ----------------------------- Boundary Cases -------------------------------- -- cgit v1.2.3