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

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

[elpa] externals/org be80f4319f 1/2: fixup! Honor `display-buffer-alist'


From: ELPA Syncer
Subject: [elpa] externals/org be80f4319f 1/2: fixup! Honor `display-buffer-alist' when creating dialogues
Date: Sun, 7 Apr 2024 09:58:21 -0400 (EDT)

branch: externals/org
commit be80f4319fc35643cfc5067e8a1bb3ae851a2f0c
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>

    fixup! Honor `display-buffer-alist' when creating dialogues
    
    Fix Emacs <29 compatibility.
---
 lisp/org-agenda.el |  6 +++---
 lisp/org-compat.el | 19 +++++++++++++++++++
 lisp/org-goto.el   |  2 +-
 lisp/org-src.el    |  2 +-
 lisp/org.el        |  8 ++++----
 5 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 97e247ebe3..fcf6eff71d 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -3320,7 +3320,7 @@ s   Search for keywords                 S   Like s, but 
only TODO entries
        (fboundp 'fit-window-to-buffer)
        (if (and (= (cdr org-agenda-window-frame-fractions) 1.0)
                (= (car org-agenda-window-frame-fractions) 1.0))
-           (display-buffer (current-buffer) '(display-buffer-full-frame))
+           (display-buffer (current-buffer) '(org-display-buffer-full-frame))
         (org-fit-window-to-buffer
          nil
          (floor (* (frame-height) (cdr org-agenda-window-frame-fractions)))
@@ -3937,7 +3937,7 @@ FILTER-ALIST is an alist of filters we need to apply when
          (switch-to-buffer-other-tab abuf)
        (user-error "Your version of Emacs does not have tab bar support")))
      ((eq org-agenda-window-setup 'only-window)
-      (pop-to-buffer abuf '(display-buffer-full-frame)))
+      (pop-to-buffer abuf '(org-display-buffer-full-frame)))
      ((eq org-agenda-window-setup 'reorganize-frame)
       (pop-to-buffer abuf '(org-display-buffer-split))))
     (setq org-agenda-tag-filter (cdr (assq 'tag filter-alist)))
@@ -9529,7 +9529,7 @@ displayed Org file fills the frame."
       (unless buffer (user-error "Trying to switch to non-existent buffer"))
       (pop-to-buffer-same-window buffer)
       (when delete-other-windows
-        (display-buffer (current-buffer) '(display-buffer-full-frame)))
+        (display-buffer (current-buffer) '(org-display-buffer-full-frame)))
       (widen)
       (goto-char pos)
       (when (derived-mode-p 'org-mode)
diff --git a/lisp/org-compat.el b/lisp/org-compat.el
index 9d1e2eb47b..bba21bd0e0 100644
--- a/lisp/org-compat.el
+++ b/lisp/org-compat.el
@@ -103,6 +103,25 @@
 
 ;;; Emacs < 29 compatibility
 
+(if (fboundp 'display-buffer-full-frame)
+    (defalias 'org-display-buffer-full-frame #'display-buffer-full-frame)
+  (defun org-display-buffer-full-frame (buffer alist)
+    "Display BUFFER in the current frame, taking the entire frame.
+ALIST is an association list of action symbols and values.  See
+Info node `(elisp) Buffer Display Action Alists' for details of
+such alists.
+
+This is an action function for buffer display, see Info
+node `(elisp) Buffer Display Action Functions'.  It should be
+called only by `display-buffer' or a function directly or
+indirectly called by the latter."
+    (when-let ((window (or (display-buffer-reuse-window buffer alist)
+                           (display-buffer-same-window buffer alist)
+                           (display-buffer-pop-up-window buffer alist)
+                           (display-buffer-use-some-window buffer alist))))
+      (delete-other-windows window)
+      window)))
+
 (defvar org-file-has-changed-p--hash-table (make-hash-table :test #'equal)
   "Internal variable used by `org-file-has-changed-p'.")
 
diff --git a/lisp/org-goto.el b/lisp/org-goto.el
index ab5ab9e0f9..c1b3a3c0ba 100644
--- a/lisp/org-goto.el
+++ b/lisp/org-goto.el
@@ -220,7 +220,7 @@ position or nil."
          (condition-case nil
             (make-indirect-buffer (current-buffer) "*org-goto*" t)
           (error (make-indirect-buffer (current-buffer) "*org-goto*" t)))
-         '(display-buffer-full-frame))
+         '(org-display-buffer-full-frame))
        (let (temp-buffer-show-function temp-buffer-show-hook)
          (with-output-to-temp-buffer "*Org Help*"
            (princ (format help (if org-goto-auto-isearch
diff --git a/lisp/org-src.el b/lisp/org-src.el
index 6bdd74ed04..8a48218c7e 100644
--- a/lisp/org-src.el
+++ b/lisp/org-src.el
@@ -1033,7 +1033,7 @@ Raise an error when current buffer is not a source 
editing buffer."
     (`reorganize-frame
      (pcase context
        (`edit (pop-to-buffer buffer '(org-display-buffer-split)))
-       (`exit (pop-to-buffer buffer '(display-buffer-full-frame)))
+       (`exit (pop-to-buffer buffer '(org-display-buffer-full-frame)))
        (_ (switch-to-buffer-other-window buffer))))
     (`switch-invisibly (set-buffer buffer))
     (_
diff --git a/lisp/org.el b/lisp/org.el
index 6a1bc2efd6..29c9856728 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -6389,7 +6389,7 @@ frame is not changed."
      ((or (eq org-indirect-buffer-display 'new-frame)
          (and arg (eq org-indirect-buffer-display 'dedicated-frame)))
       (select-frame (make-frame))
-      (pop-to-buffer ibuf '(display-buffer-full-frame))
+      (pop-to-buffer ibuf '(org-display-buffer-full-frame))
       (org-set-frame-title heading))
      ((eq org-indirect-buffer-display 'dedicated-frame)
       (raise-frame
@@ -6397,7 +6397,7 @@ frame is not changed."
                              (frame-live-p org-indirect-dedicated-frame)
                              org-indirect-dedicated-frame)
                         (setq org-indirect-dedicated-frame (make-frame)))))
-      (pop-to-buffer ibuf '(display-buffer-full-frame))
+      (pop-to-buffer ibuf '(org-display-buffer-full-frame))
       (org-set-frame-title (concat "Indirect: " heading)))
      ((eq org-indirect-buffer-display 'current-window)
       (pop-to-buffer-same-window ibuf))
@@ -10787,7 +10787,7 @@ items are State notes."
     (setq org-log-setup nil)
     (setq org-log-note-window-configuration (current-window-configuration))
     (move-marker org-log-note-return-to (point))
-    (pop-to-buffer (marker-buffer org-log-note-marker) 
'(display-buffer-full-frame))
+    (pop-to-buffer (marker-buffer org-log-note-marker) 
'(org-display-buffer-full-frame))
     (goto-char org-log-note-marker)
     (pop-to-buffer "*Org Note*" '(org-display-buffer-split))
     (erase-buffer)
@@ -18979,7 +18979,7 @@ information about your Org version and configuration."
        (save-window-excursion
         (pop-to-buffer
           (get-buffer-create "*Warn about privacy*")
-          '(display-buffer-full-frame))
+          '(org-display-buffer-full-frame))
         (erase-buffer)
         (insert "You are about to submit a bug report to the Org mailing list.
 



reply via email to

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