fixup! Honor `display-buffer-alist' when creating dialogues

Fix Emacs <29 compatibility.
This commit is contained in:
Ihor Radchenko 2024-04-07 16:02:31 +03:00
parent 18fbb9985f
commit be80f4319f
No known key found for this signature in database
GPG Key ID: 6470762A7DA11D8B
5 changed files with 28 additions and 9 deletions

View File

@ -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)

View File

@ -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'.")

View File

@ -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

View File

@ -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))
(_

View File

@ -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.