From: Glenn Morris Date: Fri, 11 Sep 2009 03:40:14 +0000 (+0000) Subject: (describe-function-1): Mention if a function has a compiler-macro. X-Git-Tag: emacs-pretest-23.1.90~1402 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a87b98ce47010b4eec8f6982592d111fc611f388;p=emacs.git (describe-function-1): Mention if a function has a compiler-macro. --- diff --git a/lisp/help-fns.el b/lisp/help-fns.el index b9530d89be9..de60cd5fea2 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -1,7 +1,7 @@ ;;; help-fns.el --- Complex help functions -;; Copyright (C) 1985, 1986, 1993, 1994, 1998, 1999, 2000, 2001, -;; 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +;; Copyright (C) 1985, 1986, 1993, 1994, 1998, 1999, 2000, 2001, 2002, +;; 2003, 2004, 2005, 2006, 2007, 2008, 2009 ;; Free Software Foundation, Inc. ;; Maintainer: FSF @@ -450,6 +450,18 @@ suitable file is found, return nil." (fill-region-as-paragraph pt2 (point)) (unless (looking-back "\n\n") (terpri))))) + ;; Note that list* etc do not get this property until + ;; cl-hack-byte-compiler runs, after bytecomp is loaded. + (when (eq (get function 'byte-compile) 'cl-byte-compile-compiler-macro) + (princ "This function has a compiler macro") + (let ((lib (get function 'compiler-macro-file))) + (when (stringp lib) + (princ (format " in `%s'" lib)) + (with-current-buffer standard-output + (save-excursion + (re-search-backward "`\\([^`']+\\)'" nil t) + (help-xref-button 1 'help-function-cmacro function lib))))) + (princ ".\n\n")) (let* ((arglist (help-function-arglist def)) (doc (documentation function)) (usage (help-split-fundoc doc function)))