diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-24 14:34:57 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-24 14:34:57 -0500 |
| commit | ad173a77fbbe2e9ffb178b8765d0a3cc6b972aac (patch) | |
| tree | 861cc72c474e58a40dd5ecc7eb9350e5a46326ee /modules | |
| parent | 5c0fa15d1d5bbe48f85f21e98bb6e91e9b9bcd85 (diff) | |
| download | dotemacs-ad173a77fbbe2e9ffb178b8765d0a3cc6b972aac.tar.gz dotemacs-ad173a77fbbe2e9ffb178b8765d0a3cc6b972aac.zip | |
refactor: declare cross-module commands bound in custom keymaps
custom-ordering.el binds cj/org-sort-by-todo-and-priority (owned by org-config) and custom-text-enclose.el binds change-inner/change-outer (the change-inner package). Both work at runtime — org-config loads eagerly and text-config autoloads change-inner via use-package :commands — but byte-compiling either module standalone warned "not known to be defined", and the dependency was implicit.
Added declare-function for each so the compile is clean and the cross-module relationship is explicit at the top of the file. No autoload needed: the runtime autoload/eager-load already exists, so only the compiler needed telling. custom-buffer-file.el byte-compiles clean already, so it needed no change.
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/custom-ordering.el | 4 | ||||
| -rw-r--r-- | modules/custom-text-enclose.el | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/modules/custom-ordering.el b/modules/custom-ordering.el index 69a2d465..ee2f2023 100644 --- a/modules/custom-ordering.el +++ b/modules/custom-ordering.el @@ -23,6 +23,10 @@ (require 'cl-lib) (require 'keybindings) ;; provides cj/custom-keymap +;; Bound in the ordering keymap below but owned by org-config (loaded eagerly +;; in init); declare it so byte-compiling this module standalone is clean. +(declare-function cj/org-sort-by-todo-and-priority "org-config") + (defvar cj/ordering-map) (defun cj/--arrayify (start end quote &optional prefix suffix) diff --git a/modules/custom-text-enclose.el b/modules/custom-text-enclose.el index e1b735a0..e23674ff 100644 --- a/modules/custom-text-enclose.el +++ b/modules/custom-text-enclose.el @@ -23,6 +23,12 @@ (require 'keybindings) ;; provides cj/custom-keymap +;; Bound in the enclose keymap below but owned by the change-inner package +;; (autoloaded via text-config's `use-package :commands'); declare them so +;; byte-compiling this module standalone is clean. +(declare-function change-inner "change-inner") +(declare-function change-outer "change-inner") + (defun cj/--surround (text surround-string) "Internal implementation: Surround TEXT with SURROUND-STRING. TEXT is the string to be surrounded. |
