# HG changeset patch # User Glenn Morris # Date 1252640388 0 # Node ID 61a2a632090d8d5a3ce3ef2cd1a748cdaceb1d14 # Parent 41455e351c50b78ba4cb3f59b387e0cae8f9c725 (help-function-cmacro): New button. diff -r 41455e351c50 -r 61a2a632090d lisp/help-mode.el --- a/lisp/help-mode.el Fri Sep 11 03:39:28 2009 +0000 +++ b/lisp/help-mode.el Fri Sep 11 03:39:48 2009 +0000 @@ -202,6 +202,22 @@ (message "Unable to find location in file")))) 'help-echo (purecopy "mouse-2, RET: find function's definition")) +(define-button-type 'help-function-cmacro + :supertype 'help-xref + 'help-function (lambda (fun file) + (setq file (locate-library file t)) + (if (and file (file-readable-p file)) + (progn + (pop-to-buffer (find-file-noselect file)) + (goto-char (point-min)) + (if (re-search-forward + (format "^[ \t]*(define-compiler-macro[ \t]+%s" + (regexp-quote (symbol-name fun))) nil t) + (forward-line 0) + (message "Unable to find location in file"))) + (message "Unable to find file"))) + 'help-echo (purecopy "mouse-2, RET: find function's compiler macro")) + (define-button-type 'help-variable-def :supertype 'help-xref 'help-function (lambda (var &optional file)