Display Info buffer after ensuring it contains text
* lisp/info.el (info-pop-to-buffer): Move display of Info buffer to a later stage after its text contents is ready to display. This helps to use fit-window-to-buffer in display-buffer-alist (bug#70213).
This commit is contained in:
parent
0fab2649e2
commit
21775a936b
1 changed files with 20 additions and 22 deletions
42
lisp/info.el
42
lisp/info.el
|
@ -807,30 +807,28 @@ Select the window used, if it has been made."
|
|||
(get-buffer-create "*info*")))))
|
||||
(with-current-buffer buffer
|
||||
(unless (derived-mode-p 'Info-mode)
|
||||
(Info-mode)))
|
||||
(Info-mode))
|
||||
|
||||
(let* ((window
|
||||
(display-buffer buffer
|
||||
(if other-window
|
||||
'(nil (inhibit-same-window . t))
|
||||
'(display-buffer-same-window)))))
|
||||
(with-current-buffer buffer
|
||||
(if file-or-node
|
||||
;; If argument already contains parentheses, don't add another set
|
||||
;; since the argument will then be parsed improperly. This also
|
||||
;; has the added benefit of allowing node names to be included
|
||||
;; following the parenthesized filename.
|
||||
(Info-goto-node
|
||||
(if (and (stringp file-or-node) (string-match "(.*)" file-or-node))
|
||||
file-or-node
|
||||
(concat "(" file-or-node ")")))
|
||||
(if (and (zerop (buffer-size))
|
||||
(null Info-history))
|
||||
;; If we just created the Info buffer, go to the directory.
|
||||
(Info-directory))))
|
||||
(if file-or-node
|
||||
;; If argument already contains parentheses, don't add another set
|
||||
;; since the argument will then be parsed improperly. This also
|
||||
;; has the added benefit of allowing node names to be included
|
||||
;; following the parenthesized filename.
|
||||
(Info-goto-node
|
||||
(if (and (stringp file-or-node) (string-match "(.*)" file-or-node))
|
||||
file-or-node
|
||||
(concat "(" file-or-node ")")))
|
||||
(if (and (zerop (buffer-size))
|
||||
(null Info-history))
|
||||
;; If we just created the Info buffer, go to the directory.
|
||||
(Info-directory))))
|
||||
|
||||
(when-let ((window (display-buffer buffer
|
||||
(if other-window
|
||||
'(nil (inhibit-same-window . t))
|
||||
'(display-buffer-same-window)))))
|
||||
(select-window window))))
|
||||
|
||||
(when window
|
||||
(select-window window)))))
|
||||
|
||||
;;;###autoload (put 'info 'info-file (purecopy "emacs"))
|
||||
;;;###autoload
|
||||
|
|
Loading…
Add table
Reference in a new issue