Function: Info-read-index-item-name-1
Info-read-index-item-name-1 is a byte-compiled function defined in
hmouse-info.el.
Signature
(Info-read-index-item-name-1 STRING PREDICATE CODE)
Documentation
Internal function used by Info-read-index-item-name to generate completions.
See completing-read for a description of arguments and usage.
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hmouse-info.el
(defun Info-read-index-item-name-1 (string predicate code)
"Internal function used by `Info-read-index-item-name' to generate completions.
See `completing-read' for a description of arguments and usage."
(cond
;; First complete embedded file names.
((string-match "\\`([^)]*\\'" string)
(completion-table-with-context
"("
(apply-partially #'completion-table-with-terminator ")"
(apply-partially #'Info-read-node-name-2
Info-directory-list
(mapcar #'car Info-suffix-list)))
(substring string 1)
predicate
code))
;; If a file name was given, complete index-items in the file.
((string-match "\\`(\\([^)]+\\))" string)
(let ((file0 (match-string 0 string))
(index-item (substring string (match-end 0)))
Info-complete-nodes
completions)
(save-window-excursion
(with-current-buffer Info-complete-menu-buffer
(Info-goto-node file0)
(Info-goto-index)
(setq Info-complete-nodes (Info-index-nodes)
completions (Info-build-menu-item-completions index-item predicate code))))
(completion-table-with-context file0 completions index-item predicate code)))
;; Otherwise, this must be a link within the current Info file, so generate
;; its index item completion table; if outside of the Info buffer, return nil.
(t (when (and (minibuffer-selected-window)
(string-match "\\`*info*"
(buffer-name (window-buffer (minibuffer-selected-window)))))
(let (Info-complete-nodes)
(save-window-excursion
(with-current-buffer Info-complete-menu-buffer
(Info-goto-index)
(setq Info-complete-nodes (Info-index-nodes))
(Info-build-menu-item-completions string predicate code))))))))