comparison lisp/help-fns.el @ 104931:179ce0a21ce8

(describe-function-1): Mention if a function has a compiler-macro.
author Glenn Morris <rgm@gnu.org>
date Fri, 11 Sep 2009 03:40:14 +0000
parents 81cbeb1f6df1
children e0d5fc8f7387
comparison
equal deleted inserted replaced
104930:61a2a632090d 104931:179ce0a21ce8
1 ;;; help-fns.el --- Complex help functions 1 ;;; help-fns.el --- Complex help functions
2 2
3 ;; Copyright (C) 1985, 1986, 1993, 1994, 1998, 1999, 2000, 2001, 3 ;; Copyright (C) 1985, 1986, 1993, 1994, 1998, 1999, 2000, 2001, 2002,
4 ;; 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 4 ;; 2003, 2004, 2005, 2006, 2007, 2008, 2009
5 ;; Free Software Foundation, Inc. 5 ;; Free Software Foundation, Inc.
6 6
7 ;; Maintainer: FSF 7 ;; Maintainer: FSF
8 ;; Keywords: help, internal 8 ;; Keywords: help, internal
9 9
448 448
449 (with-current-buffer (help-buffer) 449 (with-current-buffer (help-buffer)
450 (fill-region-as-paragraph pt2 (point)) 450 (fill-region-as-paragraph pt2 (point))
451 (unless (looking-back "\n\n") 451 (unless (looking-back "\n\n")
452 (terpri))))) 452 (terpri)))))
453 ;; Note that list* etc do not get this property until
454 ;; cl-hack-byte-compiler runs, after bytecomp is loaded.
455 (when (eq (get function 'byte-compile) 'cl-byte-compile-compiler-macro)
456 (princ "This function has a compiler macro")
457 (let ((lib (get function 'compiler-macro-file)))
458 (when (stringp lib)
459 (princ (format " in `%s'" lib))
460 (with-current-buffer standard-output
461 (save-excursion
462 (re-search-backward "`\\([^`']+\\)'" nil t)
463 (help-xref-button 1 'help-function-cmacro function lib)))))
464 (princ ".\n\n"))
453 (let* ((arglist (help-function-arglist def)) 465 (let* ((arglist (help-function-arglist def))
454 (doc (documentation function)) 466 (doc (documentation function))
455 (usage (help-split-fundoc doc function))) 467 (usage (help-split-fundoc doc function)))
456 (with-current-buffer standard-output 468 (with-current-buffer standard-output
457 ;; If definition is a keymap, skip arglist note. 469 ;; If definition is a keymap, skip arglist note.