Skip to content
Commit e22122d7 authored by Didier Verna's avatar Didier Verna
Browse files

Support for system virtual slots.

A system virtual slot is a slot the value of which is read either from the
system directly, or potentially from its primary system if needed. It avoids
duplicating meta-information (license, author etc.) in secondary systems.

As a side-effect of this implementation, the functions
system{-long}-description now behave virtually, as opposed to
component{-long}-description. Also, a new function called system-version is
provided, which also behaves virtually, as opposed to component-version.

2018-09-18  Didier Verna  <didier@didierverna.net>

	* interface.lisp (:asdf/interface): Export SYSTEM-VERSION.
	* system.lisp (:asdf/system): Ditto.
	(system): Only automatically define generic writers for virtual
	slots.
	(*system-virtual-slots*): New variable. List the virtual slot names.
	(system-virtual-slot-value): New function. General virtual slot
	reader.
	(define-system-virtual-slot-reader): New macro. Define specific
	virtual slot readers based on the above function.
	(define-system-virtual-slot-readers): New macro. Define all
	specific virtual slot readers.
	(system-license): New ad-hoc virtual slot reader, defined manually
	in addition to system-licenCe (note the 'c').
parent 8cf977a9
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment