Changes committed gnus/lisp (ChangeLog gnus-art.el)

"Reiner Steib" <[email protected]>
Newsgroups gmane.emacs.gnus.commits
Message-ID <[email protected]>
Modified: ChangeLog gnus-art.el

(gnus-button-alist): Extend gnus-button-handle-info-keystrokes entry.
(gnus-button-handle-info-keystrokes): Handle index entries.


Index: ChangeLog
diff -u gnus/lisp/ChangeLog:7.1793 gnus/lisp/ChangeLog:7.1794
--- ChangeLog:7.1793	Sun Mar 16 15:34:56 2008
+++ ChangeLog	Sun Mar 16 16:45:42 2008
@@ -3,6 +3,8 @@
 	* gnus-art.el (gnus-article-browse-html-article): Fix type in doc
 	string.
 	(gnus-button-url-regexp): Improve handling of parenthesis.
+	(gnus-button-alist): Extend gnus-button-handle-info-keystrokes entry.
+	(gnus-button-handle-info-keystrokes): Handle index entries.
 
 2008-03-14  Katsumi Yamaoka  <[email protected]>
 
Index: gnus-art.el
diff -u gnus/lisp/gnus-art.el:7.267 gnus/lisp/gnus-art.el:7.268
--- gnus-art.el:7.267	Sun Mar 16 15:34:56 2008
+++ gnus-art.el	Sun Mar 16 16:45:42 2008
@@ -7345,9 +7345,9 @@
      1 (>= gnus-button-emacs-level 1) gnus-button-handle-info-url-kde 2)
     ("\\((Info-goto-node\\|(info\\)[ \t\n]*\\(\"[^\"]*\"\\))" 0
      (>= gnus-button-emacs-level 1) gnus-button-handle-info-url 2)
-    ("\\b\\(C-h\\|<?[Ff]1>?\\)[ \t\n]+i[ \t\n]+d?[ \t\n]?m[ \t\n]+\\([^ ]+ ?[^ ]+\\)[ \t\n]+RET"
-     ;; Info links like `C-h i d m CC Mode RET'
-     0 (>= gnus-button-emacs-level 1) gnus-button-handle-info-keystrokes 2)
+    ("\\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,]*\\)\\)?"
+     ;; Info links like `C-h i d m Gnus RET' or `C-h i d m Gnus RET i partial RET'
+     0 (>= gnus-button-emacs-level 1) gnus-button-handle-info-keystrokes 0)
     ;; This is custom
     ("M-x[ \t\n]\\(customize-[^ ]+\\)[ \t\n]RET[ \t\n]\\([^ ]+\\)[ \t\n]RET" 0
      (>= gnus-button-emacs-level 1) gnus-button-handle-custom 1 2)
@@ -7896,10 +7896,33 @@
 
 (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', `C-h i d m CC Mode RET'.
-  (info)
-  (Info-directory)
-  (Info-menu url))
+  ;; 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 (i (with-temp-buffer
+		      (insert comma)
+		      (how-many "," (point-min) (point-max))))
+	  (Info-index-next 1)))
+      nil)))
 
 ;; Called after pgg-snarf-keys-region, which autoloads pgg.el.
 (declare-function pgg-display-output-buffer "pgg" (start end status))
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.