From e7444a938db7ad40bc8da614f217580d56462130 Mon Sep 17 00:00:00 2001 From: drewc Date: Sun, 20 Dec 2009 15:39:40 -0800 Subject: [PATCH] Final New Description patch! This patch implements a new description and attribute protocol that is clearer and faster compiling than the previous. Run-time performance has not been tested, but has probably suffered somewhat. THIS BREAKS OLD CODE!!! The class STANDARD-ATTRIBUTE has been split up and minimized, and define-description has been replaced with defdescription. A compatibility module for defdescription has been integrated, but requres that you shadow STANDARD-ATTRIBUTE as follows : ;;; something like this in you package definition : (:shadow :instance :standard-attribute) ;;;; then something like this in your code : (define-layered-class standard-attribute (lol::define-description-attribute) ()) If that doesn't work, it's a bug, and needs to be reported. darcs-hash:20091220233940-39164-96a301fff9235cd2efb55591efaad46321a8df6e.gz --- lisp-on-lines.asd | 14 +------------- src/standard-descriptions/t.lisp | 3 +++ 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/lisp-on-lines.asd b/lisp-on-lines.asd index 591a728..c6f5a74 100644 --- a/lisp-on-lines.asd +++ b/lisp-on-lines.asd @@ -36,17 +36,9 @@ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." :components ((:static-file "lisp-on-lines.asd") - (:module :src - :components (#-lol-mao(:file "contextl-hacks") - - (:file "packages") - - + :components ((:file "packages") (:file "utilities") - - - #+lol-mao (:module :mao :components ((:file "simple-plist-attribute") (:file "attribute") @@ -59,10 +51,6 @@ OTHER DEALINGS IN THE SOFTWARE." :serial t)) :serial t) (:file "display") - #-lol-mao(:file "attribute") - #-lol-mao(:file "description-class") - #-lol-mao(:file "description") - (:module :standard-descriptions :components ((:file "t") (:file "inline") diff --git a/src/standard-descriptions/t.lisp b/src/standard-descriptions/t.lisp index 223261f..cdef9d7 100644 --- a/src/standard-descriptions/t.lisp +++ b/src/standard-descriptions/t.lisp @@ -1,5 +1,8 @@ (in-package :lisp-on-lines) +(defmethod described-object ((attribute standard-attribute)) + (described-object (attribute-description attribute))) + (define-description T () ((label :label nil :function (lambda (object) -- 2.20.1