emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/hyperdrive fcc0945191 02/19: Change: (hyperdrive-handler-h


From: ELPA Syncer
Subject: [nongnu] elpa/hyperdrive fcc0945191 02/19: Change: (hyperdrive-handler-html) Prevent EWW from popping
Date: Sat, 14 Oct 2023 16:00:45 -0400 (EDT)

branch: elpa/hyperdrive
commit fcc0945191725edb756235c28ae888dd566bc02b
Author: Adam Porter <adam@alphapapa.net>
Commit: Joseph Turner <joseph@ushin.org>

    Change: (hyperdrive-handler-html) Prevent EWW from popping
---
 hyperdrive-lib.el | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index 149605111f..1e7d28defd 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -1285,12 +1285,17 @@ If `hyperdrive-render-html' is non-nil, render HTML with
 `shr-insert-document', then calls THEN if given.  Otherwise, open
 with `hyperdrive-handler-default'."
   (if hyperdrive-render-html
-      (progn
-        (eww (hyperdrive-entry-url entry))
-        ;; Set `hyperdrive-current-entry' and use `hyperdrive-mode'
-        ;; for remapped keybindings for, e.g., `hyperdrive-up'.
-        (setq-local hyperdrive-current-entry entry)
-        (hyperdrive-mode)
+      (let (buffer)
+        (save-window-excursion
+          ;; Override EWW's calling `pop-to-buffer-same-window'; we
+          ;; want our callback to display the buffer.
+          (eww (hyperdrive-entry-url entry))
+          ;; Set `hyperdrive-current-entry' and use `hyperdrive-mode'
+          ;; for remapped keybindings for, e.g., `hyperdrive-up'.
+          (setq-local hyperdrive-current-entry entry)
+          (hyperdrive-mode)
+          (setq buffer (current-buffer)))
+        (set-buffer buffer)
         (when then
           (funcall then)))
     (hyperdrive-handler-default entry :then then)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]