]> git.eshelyaron.com Git - emacs.git/commitdiff
Use substitute-command-keys in Info-index error
authorStefan Kangas <stefankangas@gmail.com>
Sat, 26 Nov 2022 08:37:48 +0000 (09:37 +0100)
committerStefan Kangas <stefankangas@gmail.com>
Sat, 26 Nov 2022 08:37:48 +0000 (09:37 +0100)
* lisp/info.el (info--ensure-not-in-directory-node): New helper
function using substitute-command-keys for error message.
(Info-index, Info-virtual-index): Use it.

lisp/info.el

index 8860a664bd7d3f737a492d7e3c57b3688a07e6a0..7d44a1cec1dc3f79adee189db4fd2b1f4fa3ffad 100644 (file)
@@ -3329,6 +3329,12 @@ If FILE is nil, check the current Info file."
     (or node (error "No index"))
     (Info-goto-node node)))
 
+(defun info--ensure-not-in-directory-node ()
+  (if (equal Info-current-file "dir")
+      (error (substitute-command-keys
+              (concat "The Info directory node has no index; "
+                      "type \\[Info-menu] to select a manual")))))
+
 ;;;###autoload
 (defun Info-index (topic)
   "Look up a string TOPIC in the index for this manual and go to that entry.
@@ -3342,15 +3348,13 @@ Give an empty topic name to go to the Index node itself."
          (Info-complete-menu-buffer (clone-buffer))
          (Info-complete-nodes (Info-index-nodes))
          (Info-history-list nil))
-      (if (equal Info-current-file "dir")
-         (error "The Info directory node has no index; use m to select a manual"))
+      (info--ensure-not-in-directory-node)
       (unwind-protect
          (with-current-buffer Info-complete-menu-buffer
            (Info-goto-index)
            (completing-read "Index topic: " #'Info-complete-menu-item))
        (kill-buffer Info-complete-menu-buffer)))))
-  (if (equal Info-current-file "dir")
-      (error "The Info directory node has no index; use m to select a manual"))
+  (info--ensure-not-in-directory-node)
   ;; Strip leading colon in topic; index format does not allow them.
   (if (and (stringp topic)
           (> (length topic) 0)
@@ -3533,8 +3537,7 @@ search results."
          (Info-complete-menu-buffer (clone-buffer))
          (Info-complete-nodes (Info-index-nodes))
          (Info-history-list nil))
-      (if (equal Info-current-file "dir")
-         (error "The Info directory node has no index; use m to select a manual"))
+      (info--ensure-not-in-directory-node)
       (unwind-protect
          (with-current-buffer Info-complete-menu-buffer
            (Info-goto-index)