changeset 31422:2a7aafb126fb

(help-make-xrefs): Adjusted for the change of help-xref-mule-regexp. (help-insert-xref-button): New function.
author Kenichi Handa <handa@m17n.org>
date Thu, 07 Sep 2000 02:37:37 +0000
parents 7b1f56a27530
children afa66a3f39dc
files lisp/help.el
diffstat 1 files changed, 30 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/help.el	Thu Sep 07 02:35:26 2000 +0000
+++ b/lisp/help.el	Thu Sep 07 02:37:37 2000 +0000
@@ -1130,27 +1130,36 @@
 	      (if help-xref-mule-regexp
 		  (save-excursion
 		    (while (re-search-forward help-xref-mule-regexp nil t)
-		      (let* ((data (match-string 5))
+		      (let* ((data (match-string 7))
 			     (sym (intern-soft data)))
 			(cond
 			 ((match-string 3) ; coding system
 			  (and sym (coding-system-p sym)
 			       (help-xref-button
-				5 #'describe-coding-system sym
+				7 #'describe-coding-system sym
 				"mouse-2, RET: describe this coding system")))
 			 ((match-string 4) ; input method
 			  (and (assoc data input-method-alist)
 			       (help-xref-button
-				5 #'describe-input-method data
+				7 #'describe-input-method data
 				"mouse-2, RET: describe this input method")))
+			 ((or (match-string 5) (match-string 6)) ; charset
+			  (and sym (charsetp sym)
+			       (help-xref-button
+				7 #'describe-character-set sym
+				"mouse-2, RET: describe this character set")))
+			 ((assoc data input-method-alist)
+			  (help-xref-button
+			   7 #'describe-input-method data
+			   "mouse-2, RET: describe this input method"))
 			 ((and sym (coding-system-p sym))
 			  (help-xref-button
-			   5 #'describe-coding-system sym
+			   7 #'describe-coding-system sym
 			   "mouse-2, RET: describe this coding system"))
-			 ((assoc data input-method-alist)
+			 ((and sym (charsetp sym))
 			  (help-xref-button
-			   5 #'describe-input-method data
-			   "mouse-2, RET: describe this input method")))))))
+			   7 #'describe-character-set sym
+			   "mouse-2, RET: describe this character set")))))))
               ;; Quoted symbols
               (save-excursion
                 (while (re-search-forward help-xref-symbol-regexp nil t)
@@ -1271,6 +1280,20 @@
 			   (match-end match-number)
 			   'face help-highlight-face))))
 
+(defun help-insert-xref-button (string function data &optional help-echo)
+  "Insert STRING and make a hyperlink fro cross-reference text on it.
+
+FUNCTION is a function to invoke when the button is activated, applied
+to DATA.  DATA may be a single value or a list.  See
+`help-make-xrefs'.
+If optional arg HELP-ECHO is supplied, it is used as a help string."
+  (let ((pos (point)))
+    (insert string)
+    (goto-char pos)
+    (search-forward string)
+    (help-xref-button 0 function data help-echo)))
+
+
 
 ;; Additional functions for (re-)creating types of help buffers.
 (defun help-xref-interned (symbol)