<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs.git/modules/custom-case.el, branch v0.7.2</title>
<subtitle>my Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs.git/atom?h=v0.7.2</id>
<link rel='self' href='https://git.cjennings.net/dotemacs.git/atom?h=v0.7.2'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/'/>
<updated>2026-02-16T01:58:15+00:00</updated>
<entry>
<title>test: add 86 new tests, fix 3 production bugs, fix 8 stale tests</title>
<updated>2026-02-16T01:58:15+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-16T01:58:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=61bfb79f2c55983697f87b9ba3961a9fb46de2fe'/>
<id>urn:sha1:61bfb79f2c55983697f87b9ba3961a9fb46de2fe</id>
<content type='text'>
New test coverage (86 tests across 7 files):
- custom-case: 43 tests (title-case-region, upcase-dwim, downcase-dwim)
- custom-datetime: 10 tests (all insert methods with mocked time)
- config-utilities: 11 tests (format-build-time type branching)
- org-capture-config: 22 tests (date-prefix + event-content)

Production bugs found and fixed:
- custom-case: title-case-region crashes on whitespace/punctuation-only input
  (char-after returns nil when no word chars found)
- org-capture-config: browser branch missing empty-string guard on :initial
  plist value, producing stray newline in capture output
- mousetrap-mode: keymap never registered in minor-mode-map-alist, so mode
  was silently not blocking any mouse events. Now pushes/removes on toggle.

Additional fixes:
- local-repository: fix cons cell syntax bug in localrepo-initialize
  (was calling vars as functions instead of using cons)
- dupre-theme tests: update rainbow-delimiter color expectations
- mousetrap tests: update dashboard profile (primary-click → scroll+primary)
- music completion test: bind completion-ignore-case to prevent pollution
- Delete redundant interactive recording test (duplicate of ERT version)

Refactoring:
- org-capture-config: extract cj/org-capture--date-prefix pure function
  from cj/org-capture-format-event-headline for testability

Test checklist: todo.org updated to [11/25], removed untestable modules
</content>
</entry>
<entry>
<title>feat:which-key: Add descriptive labels for custom keymaps</title>
<updated>2025-10-27T23:45:23+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-10-27T23:45:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=87034eab17625165b884128d8058c1158fc2f50f'/>
<id>urn:sha1:87034eab17625165b884128d8058c1158fc2f50f</id>
<content type='text'>
Enhance which-key integration by providing detailed descriptions for
new key bindings across multiple modules. This improves the
usability of custom keymaps by clarifying the purpose of each
keybinding, making it easier for users to navigate and understand
different menus and options available within the configuration.

This update ensures that all custom keymaps now display a
descriptive label in the which-key popup to explain their
functionality, aiding users in identifying keymap purposes promptly.
</content>
</entry>
<entry>
<title>feat: undead-buffers: Add `cj/make-buffer-undead` function and tests</title>
<updated>2025-10-22T17:27:05+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-10-22T17:27:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=c4e9232f297ffda4443477c589f29052178d2c87'/>
<id>urn:sha1:c4e9232f297ffda4443477c589f29052178d2c87</id>
<content type='text'>
Introduce a new function `cj/make-buffer-undead` that appends a
buffer name to the `cj/undead-buffer-list`, preventing it from being
killed. This comes along with a suite of tests to check various
scenarios and edge cases for handling undead buffers.

Additionally, add tests for related functions:
`cj/kill-buffer-or-bury-alive`, `cj/kill-buffer-and-window`, and
others to ensure they correctly manage buffers, particularly with
undead-status considerations.

Refactor `undead-buffer-list` naming for consistency and clarity in
the module.
</content>
</entry>
<entry>
<title>refactor(keybindings): Use keymap-global-set for remap</title>
<updated>2025-10-20T14:46:39+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-10-20T14:46:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=110075437011b313eb1449adae6c221434149bb1'/>
<id>urn:sha1:110075437011b313eb1449adae6c221434149bb1</id>
<content type='text'>
Update the keybinding remap for `capitalize-region` to use
`keymap-global-set` instead of `global-set-key`.
</content>
</entry>
<entry>
<title>fix(custom-case): Correct eval-when-compile for custom-keymap</title>
<updated>2025-10-20T14:03:26+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-10-20T14:03:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=c409669179b1b370988f97f95af59e1ebdc514eb'/>
<id>urn:sha1:c409669179b1b370988f97f95af59e1ebdc514eb</id>
<content type='text'>
Address an issue by defining `cj/custom-keymap` within
eval-when-compile, ensuring proper compilation without loading
the whole damn `keybindings` file.
</content>
</entry>
<entry>
<title>maint: custom-case: added commentary</title>
<updated>2025-10-18T05:18:08+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-10-18T05:18:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=42c5a6d5d6491afba7e723710833027bcedd9ec1'/>
<id>urn:sha1:42c5a6d5d6491afba7e723710833027bcedd9ec1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor: keybindings: Enhance case-change operations keymap</title>
<updated>2025-10-16T07:08:14+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-10-16T07:08:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=ca96c41bcbfcacec1f9737cc244a01b45f404b41'/>
<id>urn:sha1:ca96c41bcbfcacec1f9737cc244a01b45f404b41</id>
<content type='text'>
- Transitioned to `defvar-keymap` for a clearer keymap definition.
- Updated keybinding setup to use `keymap-set`.
- Added keybindings dependency check with eval-when-compile.
</content>
</entry>
<entry>
<title>maint: remaining custom functions grouped into separate modules</title>
<updated>2025-10-12T19:42:29+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-10-12T19:41:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs.git/commit/?id=147d5c265edf0615d2aa1d65319963d7399711de'/>
<id>urn:sha1:147d5c265edf0615d2aa1d65319963d7399711de</id>
<content type='text'>
</content>
</entry>
</feed>
