aboutsummaryrefslogtreecommitdiff
path: root/modules/eww-config.el
Commit message (Collapse)AuthorAgeFilesLines
* refactor: normalize module package headers and enforce themCraig Jennings6 days1-1/+1
| | | | | | The first-line header on 33 modules named the file without its .el extension (;;; font-config --- ... rather than ;;; font-config.el --- ...), the form checkdoc and package-lint expect and the other modules already use. I normalized all 33 to the canonical ;;; name.el --- summary shape. The change is line 1 only. A new test, test-meta-package-headers.el, locks the convention. It checks every module for the canonical first line, Commentary before Code, a provide footer, and no BOM, and unit-tests the checker against each malformed shape so the guard itself is proven.
* fix(reader): exclude eww and nov from global font-lock so shr colors showCraig Jennings7 days1-0/+6
| | | | eww and nov both render with shr, which paints buffers with manual face properties, and global font-lock was overwriting them with syntactic string fontification, the same bug just fixed for elfeed. An audit of live buffers caught nov directly (two open epub buffers, faces clobbered). eww has font-lock-defaults nil too and is the same shr-rendered pattern as the already-excluded elfeed-show and mu4e-view, so I excluded it alongside. The *sdcv* dictionary buffer has its own font-lock-defaults, so its font-lock is by design and left alone.
* fix(eww): inject the User-Agent reliably under byte-compilationCraig Jennings9 days1-0/+7
| | | | eww-config.el is lexical-binding and the User-Agent advice let-binds url.el's url-request-extra-headers, but the file never declared it special. The byte-compiler then bound it lexically, so the injected header never reached url-retrieve and the desktop User-Agent silently dropped in compiled production (eww kept working, just with the default UA). A top-level (defvar url-request-extra-headers) makes the compiler treat it as dynamic so the binding propagates. The advice tests, which exercise the compiled path, now pass.
* chore(elisp): clear byte-compile warnings (18 more modules)Craig Jennings10 days1-0/+2
| | | | | | Add declare-function/defvar declarations for lazily-loaded package symbols, reflow over-long docstrings, swap pdf-view-*-command interactive-only calls for their non-interactive twins, fix a malformed with-demoted-errors in ledger-config (the clean-buffer body was being read as the format string), and rename the unprefixed global wwwdir to cj/httpd-wwwdir (no external refs). No behavior change. Claude-Session: https://claude.ai/code/session_01BqrdWUo9GcznYX2pZr76gZ
* fix(eww): quick-add bookmarks to the default store, not a new dirCraig Jennings2026-06-151-5/+2
| | | | cj/eww-bookmark-quick-add let-bound eww-bookmarks-directory to a path and created a directory there, so B (eww-list-bookmarks) read an unreadable path and quick-added bookmarks vanished after restart. Use the default store both commands share.
* fix(keys): revert 5bfd74fd, restore the M-S- launcher bindingsCraig Jennings2026-06-131-1/+1
| | | | | | | | 5bfd74fd rebound eww/elfeed/calibredb from M-S-e/r/b to the uppercase Meta events M-E/M-R/M-B, on the theory that the keyboard emits the uppercase event and the lowercase-shift spec never matched. It was wrong. keyboard-compat.el installs a key-translation-map entry (M-E -> M-S-e, etc.) in GUI frames, so the original M-S- bindings did reach the launchers. Binding M-E directly while that translation stayed in place rewrote the keypress to the now-unbound M-S-e, breaking all three in GUI on the next restart. The audit and the review missed it because they checked key-binding, which ignores key-translation-map, and the running daemon still held the pre-fix bindings as stale state. This restores M-S-e/r/b, deletes the key-binding-only test that certified the broken config, and reclassifies the task as not-a-bug. The real problem, that these chords are dead outside GUI, is the subject of the keybinding-console-safety spec.
* fix(keys): bind eww/elfeed/calibredb launchers to the uppercase Meta eventCraig Jennings2026-06-121-1/+1
| | | | Meta+Shift+<letter> emits the uppercase event (M-E/M-R/M-B), so the M-S-e/M-S-r/M-S-b :bind specs on lowercase letters were never reached by the keychord and the three launchers were dead. Rebind them to M-E/M-R/M-B. Three ERT tests assert each chord resolves to eww, cj/elfeed-open, and calibredb respectively.
* docs(load-graph): classify domain, integration, and optional modulesCraig Jennings2026-05-241-0/+8
| | | | | | | | | | Eighth classification batch: 17 domain/integration/optional modules — ai-config, ai-vterm, browser-config, calendar-sync, calibredb-epub-config, chrono-tools, dirvish-config, dwim-shell-config, erc-config, eshell-config, eww-config, flyspell-and-abbrev, games-config, gloss-config, httpd-config, jumper, latex-config. I annotated each header, added a Batch 8 table to the inventory, and extended the validation allowlist. 82 of 102 modules are now classified. Almost all are eager only by init order and become command/hook/mode-loaded. calendar-sync stays eager when its .local.el is present. One new hidden dependency: calendar-sync guards its C-; g registration with a boundp shim and doesn't require keybindings, so the binding drops standalone. I deferred elfeed-config rather than annotate it. Its header edit triggers byte-compilation, and the existing tests only pass when the module loads as interpreted source — the compiled cj/elfeed-process-entries inlines an elfeed struct accessor the stubs can't intercept, and the batch test environment has no elfeed package to build real structs. It needs its tests rewritten first, recorded in the inventory and a new todo task. Also made the header allowlist scoping test durable: it used games-config (now classified) as its unclassified example; switched to a sentinel name plus a duplicate-entry guard.
* fix(terminal): add console/mosh compatibilityCraig Jennings2026-01-231-1/+1
| | | | | | | | - Create terminal-compat.el for arrow key escape sequences - Fix M-uppercase keybindings (M-O → M-S-o, etc.) that conflicted with terminal escape sequences ESC O A/B/C/D - Add GUI-only guards for emojify and icon rendering - 18 keybindings updated across 13 modules with override comments
* changing repositoriesCraig Jennings2025-10-121-0/+153