$Revision: 5.0.2.2 $
Package: EXCL
Arguments: (fspec &key type)
This function is used to record the location of built-in and user defined objects in source files.
The built-in types and the forms that use them are:
Type | Used with these forms: |
:operator | defun, clos:generic-function, defmacro |
:variable | defconstant, defparameter, defvar |
:special-declaration | defconstant, defparameter, defvar |
:compiler-macro | define-compiler-macro |
:setf-method | defsetf |
:type | defclass, defstruct, deftype |
For example, putting the following form into a file, compile and loading it: (defun foo (x) ...) will cause foo to be recorded as an :operator in the file in which it was defined.
Redefinition warnings occur when a file is be loaded and it defines an object of an already existing source file recording type. Objects of different types, say an :operator and :type, do not cause redefinition warnings.
Users can extend this facility to understand objects they define. The most usual case is a macro that defines a high-level object, such as:
(defmacro def-frob (name fram) `(progn (record-source-file ',name :type :frob) (def-frob-1 ',name ,fram)))
Then, if the following form is put into /a/b/foo.cl:
(def-frob akbar 'fez)
and is then compiled and loaded, (source-file 'akbar :frob) will return a pathname pointing to /a/b/foo.cl.
See source_file_recording.htm.
The general documentation description is in introduction.htm. The index is in index.htm.
Copyright (C) 1998-1999, Franz Inc., Berkeley, CA. All Rights Reserved.