]> git.eshelyaron.com Git - emacs.git/commitdiff
(help-make-xrefs): Adjusted for the change of
authorKenichi Handa <handa@m17n.org>
Thu, 7 Sep 2000 02:37:37 +0000 (02:37 +0000)
committerKenichi Handa <handa@m17n.org>
Thu, 7 Sep 2000 02:37:37 +0000 (02:37 +0000)
help-xref-mule-regexp.
(help-insert-xref-button): New function.

lisp/help.el

index cb5083664a455044b596dadced5edca142c07706..638ad6fa89e9fb6e8d718924035980b674e1bd9f 100644 (file)
@@ -1130,27 +1130,36 @@ that."
              (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 @@ If optional arg HELP-ECHO is supplied, it is used as a help string."
                           (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)))
+
+
 \f
 ;; Additional functions for (re-)creating types of help buffers.
 (defun help-xref-interned (symbol)