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

Reply via email to