From f473f610b7fccffd3d10d8e81342218cd4ab25fc Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Wed, 25 Feb 2026 12:21:13 -0600 Subject: fix(pdf): move pdf-tools-install to eval-after-load and revert stale buffers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pdf-tools-install was in use-package :config for pdf-tools, but opening a PDF only loads pdf-view.el — never pdf-tools.el — so the server never started. Move it to with-eval-after-load 'pdf-view and revert any PDF buffers that opened before the server was ready. --- modules/pdf-config.el | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/pdf-config.el b/modules/pdf-config.el index 3d952fb5..c3b1d397 100644 --- a/modules/pdf-config.el +++ b/modules/pdf-config.el @@ -21,13 +21,22 @@ (pdf-view-use-unicode-ligther nil) ;; Enable HiDPI support, at the cost of memory. (pdf-view-use-scaling t) - :config - (pdf-tools-install :no-query)) ;; automatically compile on first launch + ) ;; Keybindings via eval-after-load on 'pdf-view (not 'pdf-tools), because ;; opening a PDF loads pdf-view.el which provides 'pdf-view — it never ;; loads pdf-tools.el, so use-package :config for pdf-tools won't run. +;; pdf-tools-install must run when pdf-view loads (not in use-package :config +;; for pdf-tools, which never triggers — see comment above). It starts the +;; epdfinfo rendering server and is a no-op when already set up. (with-eval-after-load 'pdf-view + (pdf-tools-install :no-query) + ;; Revert any PDF buffers that opened before the server was ready, + ;; so they re-render instead of showing raw binary. + (dolist (buf (buffer-list)) + (with-current-buffer buf + (when (eq major-mode 'pdf-view-mode) + (revert-buffer nil t)))) (define-key pdf-view-mode-map "M" #'pdf-view-midnight-minor-mode) (define-key pdf-view-mode-map "m" #'bookmark-set) (define-key pdf-view-mode-map (kbd "C-=") #'pdf-view-enlarge) -- cgit v1.2.3