diff options
author | F. Jason Park <jp@neverwas.me> | 2022-04-04 22:38:22 -0700 |
---|---|---|
committer | F. Jason Park <jp@neverwas.me> | 2022-06-30 15:03:26 -0700 |
commit | 0f52e7ac68457ca8beb22cd382b1637fed35fd73 (patch) | |
tree | e179bbd79daa6a1f27a65ba673ae1629d515b59e /test/lisp/erc/erc-tests.el | |
parent | a3311dbce0008a23d8d6626ae6245d96ce3a20b2 (diff) | |
download | emacs-0f52e7ac68457ca8beb22cd382b1637fed35fd73.tar.gz emacs-0f52e7ac68457ca8beb22cd382b1637fed35fd73.tar.bz2 emacs-0f52e7ac68457ca8beb22cd382b1637fed35fd73.zip |
Rework mutual dependency between erc and erc-backend
* lisp/erc/erc.el: Declare needed variables exported by erc-backend.el
as special near the top of the file, and only require `erc-backend'
after providing `erc' as a feature at the very end.
* lisp/erc/erc-backend.el: Don't preemptively provide `erc-backend'.
* test/lisp/erc/erc-tests.el (erc--meta--backend-dependencies): Add
utility test to scrape for unused vars that may accumulate over time.
(Bug#54825)
Diffstat (limited to 'test/lisp/erc/erc-tests.el')
-rw-r--r-- | test/lisp/erc/erc-tests.el | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/lisp/erc/erc-tests.el b/test/lisp/erc/erc-tests.el index 520f10dd4e6..3c76cb97caf 100644 --- a/test/lisp/erc/erc-tests.el +++ b/test/lisp/erc/erc-tests.el @@ -48,6 +48,27 @@ (cl-letf (((symbol-function 'read-string) (lambda (&rest _) "1d"))) (should (equal (erc--read-time-period "foo: ") 86400)))) +(ert-deftest erc--meta--backend-dependencies () + (with-temp-buffer + (insert-file-contents-literally + (concat (file-name-sans-extension (symbol-file 'erc)) ".el")) + (let ((beg (search-forward ";; Defined in erc-backend")) + (end (search-forward "\n\n")) + vars) + (save-excursion + (save-restriction + (narrow-to-region beg end) + (goto-char (point-min)) + (with-syntax-table lisp-data-mode-syntax-table + (condition-case _ + (while (push (cadr (read (current-buffer))) vars)) + (end-of-file))))) + (should (= (point) end)) + (dolist (var vars) + (setq var (concat "\\_<" (symbol-name var) "\\_>")) + (ert-info (var) + (should (save-excursion (search-forward-regexp var nil t)))))))) + (ert-deftest erc-with-all-buffers-of-server () (let (proc-exnet proc-onet |