Function: gnus-button-handle-info-keystrokes
gnus-button-handle-info-keystrokes is a byte-compiled function defined
in gnus-art.el.gz.
Signature
(gnus-button-handle-info-keystrokes URL)
Documentation
Call info when pushing the corresponding URL button.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-art.el.gz
(defun gnus-button-handle-info-keystrokes (url)
"Call `info' when pushing the corresponding URL button."
;; For links like `C-h i d m gnus RET part RET , ,', `C-h i d m CC Mode RET'.
(let (node indx comma)
(if (string-match
(concat "\\b\\(C-h\\|<?[Ff]1>?\\)[ \t\n]+i[ \t\n]+d?[ \t\n]?m[ \t\n]+"
"\\([^ ]+ ?[^ ]+\\)[ \t\n]+RET"
"\\([ \t\n]+i[ \t\n]+[^ ]+ ?[^ ]+[ \t\n]+RET\\>"
"\\(?:[ \t\n,]*\\)\\)?")
url)
(setq node (match-string 2 url)
indx (match-string 3 url))
(error "Can't parse %s" url))
(info)
(Info-directory)
(Info-menu node)
(when (> (length indx) 0)
(string-match (concat "[ \t\n]+i[ \t\n]+\\([^ ]+ ?[^ ]+\\)[ \t\n]+RET\\>"
"\\([ \t\n,]*\\)")
indx)
(setq comma (match-string 2 indx))
(setq indx (match-string 1 indx))
(Info-index indx)
(when comma
(dotimes (_ (with-temp-buffer
(insert comma)
(goto-char (point-min))
(how-many ",")))
(Info-index-next 1)))
nil)))