diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-15 02:23:25 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-15 02:23:25 -0500 |
| commit | 02ef1255e46d1138383e16054a92bd559cd50dcf (patch) | |
| tree | b5ed201114d55ef860253d5a79f61b3505cb54f0 | |
| parent | b4039017e468f310c99c04810f010b5ceada07e1 (diff) | |
| download | dotemacs-02ef1255e46d1138383e16054a92bd559cd50dcf.tar.gz dotemacs-02ef1255e46d1138383e16054a92bd559cd50dcf.zip | |
chore(todo): close gptel-toggle + buffer-source follow-up bugs
Both follow-up sub-TODOs filed earlier today are resolved:
- cj/toggle-gptel cross-module boundary is now an explicit autoload
declaration in ai-vterm.el; make compile is clean and a regression
test in test-ai-vterm--f9-in-vterm.el asserts the contract.
- Info-mode dispatcher in cj/buffer-source-functions now returns the
full org bracket-link form [[info:(manual)Node][(manual) Node]];
the existing .info.gz test asserts the new form and a new boundary
test covers the uncompressed .info path.
Parent tasks return to DONE. Sub-TODOs become dated done headings
recording the actual work done.
| -rw-r--r-- | todo.org | 67 |
1 files changed, 37 insertions, 30 deletions
@@ -88,7 +88,8 @@ gptel's bundled =:models= list only goes through May-2025 model IDs but the constructor passes whatever string you supply straight to the API, so newer model names work fine without a gptel upgrade. -** DOING [#B] Add gptel toggle to M-F9 :refactor: +** DONE [#B] Add gptel toggle to M-F9 :refactor: +CLOSED: [2026-05-15 Fri] Rebound =M-<f9>= from =cj/ai-vterm-pick-buffer= to =cj/toggle-gptel= in both the global keymap and =vterm-mode-map=. The pick-buffer command and its helper =cj/--ai-vterm-pick-buffer-candidates= were @@ -107,20 +108,23 @@ new function). Module commentary + the =cj/ai-vterm= docstring updated to describe the new M-F9 behavior. -*** TODO [#B] Add explicit ai-vterm -> ai-config command boundary for =cj/toggle-gptel= :bug: -=make compile= now warns from =modules/ai-vterm.el= that -=cj/toggle-gptel= is not known to be defined. The binding works in -normal startup only because =init.el= loads =ai-config= later, but -=ai-vterm.el= now has an implicit load-order dependency on a command -defined in another module. - -Recommended fix: add an interactive autoload for =cj/toggle-gptel= -near the other cross-module declarations in =modules/ai-vterm.el=, -or otherwise make the dependency explicit without requiring all of -=ai-config= at ai-vterm load time. Add/adjust a test that loads -=ai-vterm= without preloading =ai-config= and verifies =M-<f9>= is -bound to an autoloadable interactive command. Re-run =make compile= -and =make test-file FILE=test-ai-vterm--f9-in-vterm.el=. +*** 2026-05-15 Fri @ 02:21:00 -0500 Add explicit ai-vterm -> ai-config command boundary for cj/toggle-gptel +=make compile= warned that =cj/toggle-gptel= was not known to be +defined when =modules/ai-vterm.el= was byte-compiled. Added an +interactive autoload declaration in =ai-vterm.el= alongside the +other cross-module declarations: + +#+begin_src elisp +(autoload 'cj/toggle-gptel "ai-config" nil t) +#+end_src + +The dependency is now explicit, =make compile= is clean, and +requiring =ai-vterm= in isolation leaves =cj/toggle-gptel= fboundp +as an autoload sigil pointing at =ai-config=. Added a regression +test in =test-ai-vterm--f9-in-vterm.el=: +=test-ai-vterm-toggle-gptel-autoloaded-without-ai-config=. Verified +with =make compile= (no warning) and +=make test-file FILE=test-ai-vterm--f9-in-vterm.el= (5/5 pass). ** DONE [#B] Modify C-; b p :feature: CLOSED: [2026-05-15 Fri] @@ -149,7 +153,8 @@ heading, =help-mode=, =Info-mode=, =magit-log-mode= / These need format decisions (Message-ID vs link vs subject, id link vs CUSTOM_ID vs heading text, etc.) before implementation. -** DOING [#C] Extend cj/buffer-source-functions to more modes :feature: +** DONE [#C] Extend cj/buffer-source-functions to more modes :feature: +CLOSED: [2026-05-15 Fri] Followup to =Modify C-; b p=. The first batch covered eww, elfeed-show, dired/dirvish, and doc-view/pdf-view (via the buffer-file-name fallback). These modes still need a decision + @@ -163,20 +168,22 @@ Each one is a small addition to =cj/buffer-source-functions= in =modules/custom-buffer-file.el= plus a test. Pick a format per mode, then implement. -*** TODO [#C] Make Info buffer-source output match the documented org link format :bug: -The DONE commit added an =Info-mode= dispatcher, but it copies the -bare target string =info:(manual)Node=. The task body calls for an -org-style bracket link like =[[info:(manual)Node][label]]=. The -current output is a valid org link target, but pasting it into notes -does not produce the documented labeled link form. - -Recommended fix: decide the label convention, likely the Info node -name or =(manual) Node=, then change the =Info-mode= thunk in -=modules/custom-buffer-file.el= to return the full bracketed link. -Update =test-copy-buffer-source-info-mode-formats-as-org-info-link= -to assert the bracketed value and include a case for compressed -=.info.gz= files. Re-run -=make test-file FILE=test-custom-buffer-file-copy-buffer-source.el=. +*** 2026-05-15 Fri @ 02:21:00 -0500 Make Info buffer-source output match the documented org link format +Updated the =Info-mode= thunk in =cj/buffer-source-functions= +(=modules/custom-buffer-file.el=) to return the full org bracket +link =[[info:(manual)Node][(manual) Node]]= instead of the bare +target =info:(manual)Node=. Label format =(manual) Node= keeps the +manual name and node name both grep-friendly in note files. + +Existing test +=test-copy-buffer-source-info-mode-formats-as-org-info-link= on a +=.info.gz= file now asserts the bracket form. Added a new boundary +test +=test-copy-buffer-source-info-mode-handles-uncompressed-info-file= +for plain =.info= input so the suffix-stripping branch is locked +in. Verified with +=make test-file FILE=test-custom-buffer-file-copy-buffer-source.el= +(15/15 pass). *** 2026-05-15 Fri @ 00:11:47 -0500 Brainstorm: additional buffer-source ideas |
