aboutsummaryrefslogtreecommitdiff
path: root/modules/eww-config.el
Commit message (Collapse)AuthorAgeFilesLines
* fix(eww): inject the User-Agent reliably under byte-compilationCraig Jennings12 hours1-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 Jennings35 hours1-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 Jennings10 days1-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 4a1ecf64, restore the M-S- launcher bindingsCraig Jennings13 days1-1/+1
| | | | | | | | 4a1ecf64 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 Jennings13 days1-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