branch: elpa/hyperdrive commit 1ae7acf6c2f280adad3f834e8c467a57424e77d7 Author: Adam Porter <a...@alphapapa.net> Commit: Joseph Turner <jos...@ushin.org>
Change: (hyperdrive-open) pop-to-buffer in default THEN * hyperdrive-dir.el (hyperdrive-dir-handler): Call THEN after starting queue. Don't pop-to-buffer. * hyperdrive-lib.el (hyperdrive-handler-default): Don't pop-to-buffer. --- hyperdrive-dir.el | 10 ++++------ hyperdrive-lib.el | 9 +++------ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/hyperdrive-dir.el b/hyperdrive-dir.el index 7de84da566..07a7c972b8 100644 --- a/hyperdrive-dir.el +++ b/hyperdrive-dir.el @@ -41,8 +41,7 @@ ;;;###autoload (cl-defun hyperdrive-dir-handler (directory-entry &key then) "Show DIRECTORY-ENTRY. -If THEN, call it in the directory buffer with no arguments after -the metadata has been loaded." +If THEN, call it in the directory buffer with no arguments." ;; NOTE: ENTRY is not necessarily "filled" yet. ;; TODO: Set a timer and say "Opening URL..." if entry doesn't load ;; in a couple of seconds (same in hyperdrive-handler-default) @@ -98,9 +97,7 @@ the metadata has been loaded." (or (when prev-entry (goto-entry prev-entry ewoc)) (goto-char prev-point))) - (set-buffer-modified-p nil) - (when then - (funcall then))) + (set-buffer-modified-p nil)) ;; TODO: Remove this and the commented out `debug-start-time' ;; binding when we're done experimenting. ;; (message "Elapsed: %s" @@ -117,7 +114,8 @@ the metadata has been loaded." :then (lambda (&rest _) (update-footer (cl-incf num-filled) num-entries)))) (plz-run metadata-queue) - (display-buffer (current-buffer) hyperdrive-directory-display-buffer-action)))))) + (when then + (funcall then))))))) (defun hyperdrive-dir-column-headers (prefix) "Return column headers as a string with PREFIX. diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el index e2696160c9..149605111f 100644 --- a/hyperdrive-lib.el +++ b/hyperdrive-lib.el @@ -488,7 +488,9 @@ Sends a request to the gateway for hyperdrive's latest version." ('unknown 'unknown))))) (declare-function hyperdrive-history "hyperdrive-history") -(cl-defun hyperdrive-open (entry &key then recurse (createp t)) +(cl-defun hyperdrive-open (entry &key recurse (createp t) + (then (lambda () + (pop-to-buffer (current-buffer))))) "Open hyperdrive ENTRY. If RECURSE, proceed up the directory hierarchy if given path is not found. THEN is a function to pass to the handler which will @@ -1242,11 +1244,6 @@ If then, then call THEN with no arguments. Default handler." buffer-read-only (or (not (hyperdrive-writablep hyperdrive)) version)) (set-buffer-modified-p nil) (set-visited-file-modtime (current-time)))) - ;; TODO: Option to defer showing buffer. - ;; It seems that `pop-to-buffer' is moving point, even - ;; though it shouldn't, so we call it here, before going - ;; to a link target. - (pop-to-buffer (current-buffer)) (when target (pcase major-mode ('org-mode