diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index 97e247ebe..fcf6eff71 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 9d1e2eb47..bba21bd0e 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 ab5ab9e0f..c1b3a3c0b 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 6bdd74ed0..8a48218c7 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 6a1bc2efd..29c985672 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.