diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-18 18:24:01 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-18 18:24:01 -0500 |
| commit | 11eb84175a30b96e3fa179723bc486a88d102d05 (patch) | |
| tree | 6ae85ae210340c7c7de3661d810cfc04e91c72bb /tests/test-dwim-shell-config-runtime-requires.el | |
| parent | fbd69990f7e3731a6df4ed992f1aefaef3748750 (diff) | |
| download | dotemacs-11eb84175a30b96e3fa179723bc486a88d102d05.tar.gz dotemacs-11eb84175a30b96e3fa179723bc486a88d102d05.zip | |
fix(shell): require external-open, scope tramp revert, drop dead config
- dirvish-config, dwim-shell-config: both call cj/xdg-open (external-open) but relied on init.el requiring it before them, and dirvish's require comment misattributed it to system-utils. Added the require to both and corrected the comment and both Runtime-requires headers.
- tramp-config: revert-without-query was set to '(".*") inside the TRAMP module, so every file in Emacs reverted without confirmation. Scoped it to the TRAMP path regexp, so local files keep their revert prompt and remote files skip the round-trip.
- tramp-config: removed the sshfast method (referenced nowhere, scp and sshx handle everything) and a duplicate tramp-own-remote-path add-to-list.
Tests: new runtime-requires assertions for both modules, red first under make test-file. The tramp :config edits are verified in the daemon. Suite green.
Diffstat (limited to 'tests/test-dwim-shell-config-runtime-requires.el')
| -rw-r--r-- | tests/test-dwim-shell-config-runtime-requires.el | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/test-dwim-shell-config-runtime-requires.el b/tests/test-dwim-shell-config-runtime-requires.el new file mode 100644 index 00000000..ab53e7d4 --- /dev/null +++ b/tests/test-dwim-shell-config-runtime-requires.el @@ -0,0 +1,24 @@ +;;; test-dwim-shell-config-runtime-requires.el --- dwim-shell-config declares its deps -*- lexical-binding: t; -*- + +;;; Commentary: +;; dwim-shell-config.el calls `cj/xdg-open' (external-open) to open a +;; conversion's output file, but declared it only with `declare-function' +;; and never required external-open. The binding works at runtime only +;; because init.el happens to load external-open first — fragile under init +;; order, and the "Direct test load: yes" header claims otherwise. This is +;; a dependency-contract smoke test: requiring dwim-shell-config in isolation +;; must pull external-open in. Run with `make test-file' for a clean signal; +;; in the full suite another file may already have loaded external-open. + +;;; Code: + +(require 'ert) +(require 'dwim-shell-config) + +(ert-deftest test-dwim-shell-config-loads-external-open () + "Normal: requiring dwim-shell-config pulls in external-open at runtime." + (should (featurep 'external-open)) + (should (fboundp 'cj/xdg-open))) + +(provide 'test-dwim-shell-config-runtime-requires) +;;; test-dwim-shell-config-runtime-requires.el ends here |
