# HG changeset patch # User Kenichi Handa # Date 968294257 0 # Node ID 2a7aafb126fbb127e992f4309bcf6f37a40dc1bc # Parent 7b1f56a2753030db3fe735f37f5ebf9be0d56553 (help-make-xrefs): Adjusted for the change of help-xref-mule-regexp. (help-insert-xref-button): New function. diff -r 7b1f56a27530 -r 2a7aafb126fb lisp/help.el --- 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)