emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [PATCH] [BUG] Org 9.5: org-goto UI seems broken


From: Ihor Radchenko
Subject: Re: [PATCH] [BUG] Org 9.5: org-goto UI seems broken
Date: Wed, 06 Oct 2021 00:32:43 +0800

Max Nikulin <manikulin@gmail.com> writes:

> Thank you, Ihor. I am a user of alternative `org-goto' interface. I have 
> tried default one having a couple of windows in the frame (indirect 
> buffer for subtree, indirect for src block). It seems, previous window 
> configuration is restored correctly when `org-goto' is finished.
>
> Curiously `org-no-popup' was introduced namely for `org-goto`

Thanks for the testing and digging the old commits.

I tried come up with the reason why org-no-popup was used in the initial
implementation. I think, the reason is avoiding situation like what you
may see after running
(let ((pop-up-frames t)) (funcall-interactively #'org-goto))
So, removing the macro completely is not a good idea.

I have updated the patch that should work without dropping the macro.
See the attached.

Best,
Ihor

>From 438c476066e897b1fc3d758fd48712c1846cd845 Mon Sep 17 00:00:00 2001
Message-Id: 
<438c476066e897b1fc3d758fd48712c1846cd845.1633451289.git.yantar92@gmail.com>
From: Ihor Radchenko <yantar92@gmail.com>
Date: Tue, 5 Oct 2021 20:37:02 +0800
Subject: [PATCH] org-goto: Fix window broken arrangement after 399481bad

* lisp/org-goto.el (org-goto-location): Make sure that `org-on-popups'
macro does not suppress the *Org Help* window pop-up.

Fixes 
e169a2f9-72b1-02bb-96c1-6e7368f646da@gmail.com/T/#t">https://list.orgmode.org/e169a2f9-72b1-02bb-96c1-6e7368f646da@gmail.com/T/#t
---
 lisp/org-goto.el | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/lisp/org-goto.el b/lisp/org-goto.el
index 0a3470f54..cd832d72c 100644
--- a/lisp/org-goto.el
+++ b/lisp/org-goto.el
@@ -217,15 +217,16 @@ (defun org-goto-location (&optional _buf help)
          (condition-case nil
              (make-indirect-buffer (current-buffer) "*org-goto*" t)
            (error (make-indirect-buffer (current-buffer) "*org-goto*" t))))
-        (let (temp-buffer-show-function temp-buffer-show-hook)
-          (with-output-to-temp-buffer "*Org Help*"
-            (princ (format help (if org-goto-auto-isearch
-                                    "  Just type for auto-isearch."
-                                  "  n/p/f/b/u to navigate, q to quit.")))))
-        (org-fit-window-to-buffer (get-buffer-window "*Org Help*"))
-        (org-overview)
-        (setq buffer-read-only t)
-        (if (and (boundp 'org-goto-start-pos)
+         (let ((pop-up-windows t))
+          (let (temp-buffer-show-function temp-buffer-show-hook)
+            (with-output-to-temp-buffer "*Org Help*"
+              (princ (format help (if org-goto-auto-isearch
+                                      "  Just type for auto-isearch."
+                                    "  n/p/f/b/u to navigate, q to quit.")))))
+          (org-fit-window-to-buffer (get-buffer-window "*Org Help*")))
+         (org-overview)
+         (setq buffer-read-only t)
+         (if (and (boundp 'org-goto-start-pos)
                  (integer-or-marker-p org-goto-start-pos))
             (progn (goto-char org-goto-start-pos)
                    (when (org-invisible-p)
-- 
2.32.0


reply via email to

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