aboutsummaryrefslogtreecommitdiff
path: root/modules/show-kill-ring.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2025-11-14 02:25:19 -0600
committerCraig Jennings <c@cjennings.net>2025-11-14 02:25:19 -0600
commit48ed58a7264df38db4be6f3cb9304ff19afcb5fd (patch)
tree36d72345c3a7b05e2ca008109f57c95311e81d0d /modules/show-kill-ring.el
parentc183b935054d5d7452b923f9d88cc69aefae4f6b (diff)
downloaddotemacs-48ed58a7264df38db4be6f3cb9304ff19afcb5fd.tar.gz
dotemacs-48ed58a7264df38db4be6f3cb9304ff19afcb5fd.zip
fix(ui): Fix cursor color updates with post-command-hook
The cursor color was not updating correctly when switching buffers or modifying files. The original implementation used window-buffer-change and other specific hooks, but these were insufficient and internal buffers were interfering with cursor color updates. Root cause: - Cursor color is global (one cursor for all of Emacs) - Previous hooks fired in internal buffer contexts (*Echo Area*, *temp*) - This caused cursor to be set to white (unmodified) even when in read-only buffers like dashboard Solution: - Use post-command-hook which runs after every command in current buffer - Ignore internal buffers (names starting with space) - Cache optimization prevents redundant set-cursor-color calls Behavior now: - Dashboard (read-only): Red cursor - Unmodified file: White cursor - Modified file: Green cursor - After save: White cursor Tests: - Added 9 integration tests in test-ui-cursor-color-integration.el - Tests verify hook installation, buffer switching, modification tracking - All 27 tests passing (18 unit + 9 integration) Integration tests catch issues that unit tests miss: - Unit tests verified state detection logic (✓) - Integration tests verify hooks fire at right times (✓ now) - Integration tests verify real buffer switching behavior (✓ now) Cleanup: - Removed debug code from init.el - Removed debug-cursor-color.el temporary file
Diffstat (limited to 'modules/show-kill-ring.el')
0 files changed, 0 insertions, 0 deletions