branch: elpa/hyperdrive commit fcc0945191725edb756235c28ae888dd566bc02b Author: Adam Porter <a...@alphapapa.net> Commit: Joseph Turner <jos...@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)))