<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs-wttrin/Eask, branch release/0.4.0</title>
<subtitle>Emacs frontend for Igor Chubin's wttr.in weather service
</subtitle>
<id>https://git.cjennings.net/emacs-wttrin/atom?h=release%2F0.4.0</id>
<link rel='self' href='https://git.cjennings.net/emacs-wttrin/atom?h=release%2F0.4.0'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/'/>
<updated>2026-06-28T07:45:50+00:00</updated>
<entry>
<title>chore: clean up package metadata</title>
<updated>2026-06-28T07:45:50+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-28T07:45:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=aeb3f35eee682c489698f17b2286c43cd4921b01'/>
<id>urn:sha1:aeb3f35eee682c489698f17b2286c43cd4921b01</id>
<content type='text'>
Drop the "games" keyword (it miscategorizes a weather tool) from wttrin.el and
Eask. Sync wttrin-geolocation.el's version to 0.3.2 to match the main module.
</content>
</entry>
<entry>
<title>feat: fit and center the weather buffer in its window</title>
<updated>2026-06-28T07:20:12+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-28T07:20:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=e8ea03ecc8c1a2499046b34f785bca4f871531df'/>
<id>urn:sha1:e8ea03ecc8c1a2499046b34f785bca4f871531df</id>
<content type='text'>
Centering and auto-fit share one resize hook (wttrin--update-layout on
window-configuration-change-hook).

Centering is always on. The block centers via the window's left margin,
measured in pixels from the buffer font so it stays exact under a font-height
remap. It centers against the available width including the current margin, so
the margin shrinking the body can't make the value oscillate.

Auto-fit is opt-in (wttrin-auto-fit-font, off by default). When on, the font is
sized so the whole buffer fits top to bottom (down to the row past the footer's
last menu item) without the widest line truncating, clamped to
wttrin-font-height-min and -max.

The pixel-exact measurement needs window-font-width and window-font-height, so
the minimum is now Emacs 25.1.
</content>
</entry>
<entry>
<title>build: switch Makefile to eask, wire up undercover coverage</title>
<updated>2026-05-05T09:58:34+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-05T09:58:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=6554cb8000a8f471f7c9e050e284f3fc364d5dad'/>
<id>urn:sha1:6554cb8000a8f471f7c9e050e284f3fc364d5dad</id>
<content type='text'>
I wanted a coverage number, so I added an Eask file declaring the runtime dep (xterm-color) plus three dev deps (undercover, package-lint, elisp-lint). The Makefile now runs every test and lint recipe through `eask emacs`. That drops the hand-rolled `(require 'package)` + `add-to-list 'package-archives` boilerplate that was duplicated across six recipes.

I added a `make deps` target that runs `eask install-deps --dev`. I also added a `make coverage` target that loads `tests/run-coverage-file.el` before each unit-test file. Undercover instruments the three source files first, then the test loads pick up the instrumented copy. Per-file results merge into `.coverage/simplecov.json` in simplecov format.

I expanded `validate-parens` and `compile` to cover all three source files instead of just `wttrin.el`. Lint stays scoped to the main file for now.

Coverage right now is 84% overall: wttrin.el 92%, wttrin-geolocation.el 100%, wttrin-debug.el 27%. The debug module is low because only the integration test exercises it. The coverage loop runs unit tests only.
</content>
</entry>
</feed>
