Common Lisp Package: DEFSYSTEM-COMPATIBILITY

README:

FUNCTION

Public

ASSOCIATED-TEST-SYSTEM (SYSTEM-NAME)

Returns the name of the system that should be used to test system-name or nil if no such system exists.

AVAILABLE-SYSTEMS

Returns a list of the names of all of the systems that could be found for the default system definer.

COLLECT-SYSTEM-DEPENDENCIES (SYSTEMS &KEY (IGNORE-ERRORS? *IGNORE-ERRORS?*))

What's in a name...? This form attempts to find and load all of the referenced system files starting with any systems in systems. It does not include the systems themselves unless they are syb-systems of some other system in the list.

COLLECT-SYSTEM-FILES (SYSTEM/S &KEY (SYSTEM-CLOSURE? NIL) (INCLUDE-PATHNAME? NIL) (INCLUDE-NON-SOURCE? NIL) (INCLUDE-FILES? T) (OPTIONS NIL))

Returns a list of the files in system/s. See map-system-files for a discussion of the arguments.

ENSURE-SYSTEM-NAME (SYSTEM-NAME)

Returns the canonical representation of the system's name.

FILENAME-LOOKS-LIKE-SYSTEM-FILE-P (FILENAME)

Returns true if filename looks like a system file for the defaults system-definer. This is based only on the syntax if the file's name, not on the contents of the file.

FIND-SYSTEM (SYSTEM-NAME)

Returns the system definition of system-name for its system-definer or nil if no such system exists.

LOADED-SYSTEMS

Returns a list of the names of the systems that are currently loaded for the default system-definer.

PATHNAME-FOR-SYSTEM-FILE (SYSTEM FILENAME)

Returns the full pathname in system for filename (which is just the name+type).

PATHNAME-NAME+TYPE (PATHNAME)

Returns a new pathname consisting of only the name and type from a non-wild pathname.

REGISTERED-SYSTEMS

Returns a list of every system that has been registered / defined for the default system-definer.

SYSTEM-DEPENDENCIES (SYSTEM-NAME)

Returns a list of the systems on which system-name depends directly.

SYSTEM-NAME-FOR-DISPLAY (SYSTEM-NAME)

Returns a 'nice name' for system-name. If no such special name is available, then the system-name is used.

SYSTEM-PROPERTY (SYSTEM-NAME PROPERTY-NAME &KEY (NO-ERROR? T))

Returns the value of the named property-name of system-name. If no-error? is nil, then an error will be signaled if property-name does not exist in the system.

SYSTEM-SOURCE-DIRECTORY (SYSTEM-NAME)

Returns the pathname of the directory in which system-name lives.

SYSTEM-SOURCE-FILE (SYSTEM-NAME)

Returns the pathname of the system definition of system-name for its system-definer.

SYSTEM-SUB-SYSTEMS (SYSTEM-NAME)

Returns the complete list of the systems on which system-name depends; compare with system-dependencies.

TOP-LEVEL-SYSTEM-P (SYSTEM-NAME)

Returns true if, metaphorically speaking, system-name is a system unto itself. Usually, this means that there are no systems that depends on the system but it could also be that the system is used by other systems but is also coherent in and of itself.

Undocumented

MAP-SYSTEM-DEPENDENCIES (SYSTEMS FN)

SYSTEM-LOADED-P (SYSTEM-NAME)

SYSTEM-RELATIVE-PATHNAME (SYSTEM PATHNAME)

SYSTEM-SIGNATURE (SYSTEM-NAME)

Private

Undocumented

ENSURE-PATHNAME-SEPARATOR-DEFINED

ENSURE-STRING (X)

HANDLE-FILE (FILE FUNCTION INCLUDE-PATHNAME?)

SAFE-SLOT-VALUE (THING NAME)

SELECT-SYSTEM-DEFINER% (SYSTEM-NAME)

GENERIC-FUNCTION

Public

MAP-SYSTEM-FILES (SYSTEM-NAME/S FUNCTION &KEY SYSTEM-CLOSURE? INCLUDE-PATHNAME? INCLUDE-NON-SOURCE? (INCLUDE-NON-SOURCE? NIL) (INCLUDE-PATHNAME? T) (SYSTEM-CLOSURE? NIL) &ALLOW-OTHER-KEYS)

Applies function to each of the files named in system-name/s. If system-closure? is true, then function is applied to the files of the systems that this system depends on. If incude-pathname? is true, the the function is applied to complete pathnames; otherwise the function is applied only to the name+type of each file. If include-non-source? is true, then all files are included. If it is nil (the default), then only source files will be included.

Undocumented

SYSTEM-NAME (CONDITION)

Private

ASSOCIATED-TEST-SYSTEM* (SYSTEM-DEFINER SYSTEM-NAME)

Returns the name of the system that should be used to test system-name or nil if no such system exists.

AVAILABLE-SYSTEMS* (SYSTEM-DEFINER)

Returns a list of systems that are available for the system-definer.

ENSURE-SYSTEM-NAME* (SYSTEM-DEFINER SYSTEM)

Returns the canonical representation of the system's name.

FILENAME-LOOKS-LIKE-SYSTEM-FILE-P* (SYSTEM-DEFINER FILENAME)

Returns true if filename looks like a system file for the system-definer. This is based only on the syntax if the file's name, not on the contents of the file.

FIND-SYSTEM* (SYSTEM-DEFINER SYSTEM-NAME)

Returns the system definition of system-name for the system-definer or nil if no such system exists.

LOADED-SYSTEMS* (SYSTEM-DEFINER)

Returns a list of the names of the systems that are currently loaded with the system-definer.

REGISTERED-SYSTEMS* (SYSTEM-DEFINER)

Returns a list of every system that has been registered / defined for the system-definer.

SYSTEM-DEPENDENCIES* (SYSTEM-DEFINER SYSTEM-NAME)

Returns a list of the systems on which system-name depends directly.

SYSTEM-LOADED-P* (SYSTEM-DEFINER SYSTEM-NAME)

Returns true if and only if `system-name` has been loaded into this Lisp image.

SYSTEM-NAME-FOR-DISPLAY* (SYSTEM-DEFINER SYSTEM-NAME)

Returns a 'nice name' for system-name. If no such special name is available, then the system-name is used.

SYSTEM-PROPERTY* (SYSTEM-DEFINER SYSTEM-NAME PROPERTY-NAME &KEY NO-ERROR? (NO-ERROR? T))

Returns the value of the named property-name of system-name. If no-error? is nil, then an error will be signaled if property-name does not exist in the system.

SYSTEM-SOURCE-FILE* (SYSTEM-DEFINER SYSTEM-NAME)

Returns the pathname of the system definition of system-name for system-definer.

SYSTEM-SUB-SYSTEMS* (SYSTEM-DEFINER SYSTEM-NAME)

Returns the complete list of the systems on which system-name depends; compare with system-dependencies*.

TOP-LEVEL-SYSTEM-P* (SYSTEM-DEFINER SYSTEM-NAME)

Returns true if, metaphorically speaking, system-name is a system unto itself. Usually, this means that there are no systems that depends on the system but it could also be that the system is used by other systems but is also coherent in and of itself.

Undocumented

%MAP-SYSTEM-FILES (THING FUNCTION SYSTEM-CLOSURE? INCLUDE-PATHNAME? INCLUDE-NON-SOURCE?)

COMPUTE-RELATIVE-PATHNAME-EXTENSION (THING)

EXTEND-RELATIVE-PATHNAME (THING)

SELECT-SYSTEM-DEFINER (SYSTEM-NAME)

VARIABLE

Private

Undocumented

*IGNORE-ERRORS?*

*PATHNAME-CACHE*

*PATHNAME-SEPARATOR*

*PREFERED-DEFINER-FOR-SYSTEMS*

*PREFERED-SYSTEM-DEFINER*

*RELATIVE-PATHNAME*

CONDITION

Public

Undocumented

SYSTEM-DEFINER-NOT-FOUND-ERROR