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)))