<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs-wttrin/tests/test-debug-wttrin-disable.el, branch main</title>
<subtitle>Emacs frontend for Igor Chubin's wttr.in weather service
</subtitle>
<id>https://git.cjennings.net/emacs-wttrin/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/emacs-wttrin/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/'/>
<updated>2026-05-05T10:20:44+00:00</updated>
<entry>
<title>refactor: rename debug-wttrin-* commands to wttrin-debug-* with obsolete aliases</title>
<updated>2026-05-05T10:20:44+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-05T10:20:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=35131cb72c08c657d2a3389338d0c049d57e69bd'/>
<id>urn:sha1:35131cb72c08c657d2a3389338d0c049d57e69bd</id>
<content type='text'>
The four interactive commands in `wttrin-debug.el` used `debug-wttrin-` as their prefix instead of the package's `wttrin-debug-` prefix. package-lint flags this as a convention violation, and it makes M-x discovery slightly less consistent for users.

Renamed:
- `debug-wttrin-show-raw`   -&gt; `wttrin-debug-show-raw`
- `debug-wttrin-enable`     -&gt; `wttrin-debug-enable`
- `debug-wttrin-disable`    -&gt; `wttrin-debug-disable`
- `debug-wttrin-mode-line`  -&gt; `wttrin-debug-mode-line`

The old names stay available as `define-obsolete-function-alias` entries marked since 0.4.0, so anyone with a keybinding or `(call-interactively 'debug-wttrin-enable)` in their config keeps working. The byte-compiler will emit an obsolescence warning to nudge migration. Aliases will be removed in a future release.

Internal caller `wttrin--debug-mode-line-info` now invokes the new name. Test files renamed to match (`test-debug-wttrin-*.el` -&gt; `test-wttrin-debug-*.el`); inside each, ert-deftest names and function calls were updated.

Added `tests/test-wttrin-debug-aliases.el` to verify each old name resolves via `indirect-function` to the new name and carries `byte-obsolete-info` with the expected target and "0.4.0" version.
</content>
</entry>
<entry>
<title>test: cover wttrin-debug.el and expand lint to all source files</title>
<updated>2026-05-05T10:11:55+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-05T10:11:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=ba22e0cc3c81d85b3ee8aaa337d6a388627c3af2'/>
<id>urn:sha1:ba22e0cc3c81d85b3ee8aaa337d6a388627c3af2</id>
<content type='text'>
I added 24 unit tests across six new files for wttrin-debug.el. They cover enable/disable, the debug-log writer, clear-log, show-log, and the mode-line diagnostic dump. That lifts wttrin-debug.el coverage from 27% to 95%, and overall coverage from 84% to 94%. Each function gets Normal / Boundary / Error categories where applicable. Globals like `wttrin-debug` and `wttrin--debug-log` are isolated per test with let-bindings. The dynamic-scope rebinding restores state cleanly at exit.

I expanded the `lint` target to run on all three source files instead of just `wttrin.el`. Checkdoc and elisp-lint run on every file. Package-lint stays scoped to `wttrin.el` because the others aren't standalone packages.

The tricky bit: `elisp-lint-file` re-runs package-lint internally as one of its validators. So the explicit guard alone wasn't enough. The fix binds `elisp-lint-ignored-validators` to include "package-lint" for the secondaries, which suppresses the re-run at the validator level.

I also added `*-autoloads.el` to .gitignore. Eask generates `emacs-wttrin-autoloads.el` during install, and it shouldn't be tracked.

I skipped one function: `wttrin--debug-mode-line-info` is a one-line dispatcher to `debug-wttrin-mode-line`. Testing it would assert the dispatch happened, which only tests Emacs.
</content>
</entry>
</feed>
