From f8a2584e3927c149eb2b008de5cb27fb148f08e1 Mon Sep 17 00:00:00 2001 From: Joseph Turner Date: Fri, 5 Apr 2024 18:32:36 -0700 Subject: [PATCH] Display buffer after ensuring it contains text * lisp/info.el (info-pop-to-buffer): bug#70213 --- lisp/info.el | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/lisp/info.el b/lisp/info.el index 1e478cdbee9..fe134161af4 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -807,30 +807,28 @@ info-pop-to-buffer (get-buffer-create "*info*"))))) (with-current-buffer buffer (unless (derived-mode-p 'Info-mode) - (Info-mode))) + (Info-mode)) + + (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)))) - (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)))) - - (when window - (select-window window))))) ;;;###autoload (put 'info 'info-file (purecopy "emacs")) ;;;###autoload -- 2.41.0