home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / e / e070 / 4.ddi / LISPLIB / APROPOS.LSP next >
Encoding:
Text File  |  1984-11-06  |  998 b   |  27 lines

  1. ;;; Copyright (C) 1984 by Gold Hill Computers
  2.  
  3. ;;;    (APROPOS string &optional package)
  4. ;;;        Prints out information about every symbol
  5. ;;;        which contains string in its print name.
  6.  
  7. (DEFUN APROPOS (STRG &OPTIONAL PACKAGE)
  8.   (LET ((LST (APROPOS-LIST STRG PACKAGE))
  9.     (TEMP)
  10.     (*PRINT-LENGTH* NIL))
  11.     (DOLIST (S LST)
  12.       (WHEN (BOUNDP S) (FORMAT *STANDARD-OUTPUT* "~%~S - bound" S))
  13.       (WHEN (FBOUNDP S)
  14.         (COND ((SPECIAL-FORM-P S)
  15.            (FORMAT *STANDARD-OUTPUT* "~%~S - special form" S))
  16.           ((MACRO-FUNCTION S)
  17.            (FORMAT *STANDARD-OUTPUT* "~%~S - macro" S))
  18.           ((CONSP (SETQ TEMP (SYMBOL-FUNCTION S)))
  19.                (SETF TEMP (SECOND TEMP))
  20.            (FORMAT *STANDARD-OUTPUT*
  21.               "~%~S - function, arglist: ~:[~S~;()~]"
  22.               S (NULL TEMP) TEMP))
  23.           (T (FORMAT *STANDARD-OUTPUT* "~%~S - function" S))))
  24.       (UNLESS (OR (BOUNDP S)(FBOUNDP S))
  25.         (FORMAT *STANDARD-OUTPUT* "~%~S" S)))
  26.     (TERPRI *STANDARD-OUTPUT*)))
  27.