From: drewc Date: Wed, 7 Jan 2009 23:39:59 +0000 (-0800) Subject: Misc Cleanups. X-Git-Url: https://git.hcoop.net/clinton/lisp-on-lines.git/commitdiff_plain/ec6dde1ef5ec97747c6ebfcc7f35b3d9da75843f Misc Cleanups. darcs-hash:20090107233959-39164-02f05bb3ddc119235fe94ecb7c51f1b6b868d403.gz --- diff --git a/lisp-on-lines.asd b/lisp-on-lines.asd index 1d74b1d..04a4d55 100644 --- a/lisp-on-lines.asd +++ b/lisp-on-lines.asd @@ -69,7 +69,7 @@ OTHER DEALINGS IN THE SOFTWARE." :serial t)) :serial t - :depends-on (:contextl :arnesi :alexandria :parse-number + :depends-on (:contextl :arnesi :alexandria :parse-number :yaclml :trivial-garbage )) diff --git a/src/attribute.lisp b/src/attribute.lisp index 7273260..a229aa3 100644 --- a/src/attribute.lisp +++ b/src/attribute.lisp @@ -327,7 +327,7 @@ (defmacro with-attributes (names description &body body) `(let ,(loop for name in names collect (list name `(find-attribute ,description ',name))) - ,@body))q + ,@body)) diff --git a/src/packages.lisp b/src/packages.lisp index 54a34af..e456cf0 100644 --- a/src/packages.lisp +++ b/src/packages.lisp @@ -10,10 +10,12 @@ ;; Descriptions - #:find-description + #:*description* + #:find-description #:description-of #:define-description #:described-object + #:with-described-object #:described-class #:described-standard-class #:with-active-descriptions @@ -24,6 +26,7 @@ #:define-display #:display #:display-using-description + #:display-attribute-label #:*display* #:*object* @@ -33,6 +36,8 @@ #:attributes #:attribute-object #:attribute-label + #:attribute-delimiter + #:attribute-slot-name #:label #:attribute-function #:attribute-value diff --git a/src/standard-descriptions/edit.lisp b/src/standard-descriptions/edit.lisp index f7e0411..f1ec4cf 100644 --- a/src/standard-descriptions/edit.lisp +++ b/src/standard-descriptions/edit.lisp @@ -39,8 +39,11 @@ (or class (when (and type (symbolp type)) (let ((name (format nil "~A-~A" type 'attribute-editor))) - (or (find-class (intern name (symbol-package type)) nil) + (or (unless (eq (find-package :cl) + (symbol-package type)) + (find-class (intern name (symbol-package type)) nil)) (find-class (intern name) nil) + (find-class (intern name :lol) nil) 'string-attribute-editor)))))) (defclass attribute-editor () diff --git a/src/ucw/html-description.lisp b/src/ucw/html-description.lisp index 4ec32cc..1bc264b 100644 --- a/src/ucw/html-description.lisp +++ b/src/ucw/html-description.lisp @@ -128,6 +128,8 @@ :writer (make-attribute-value-writer attribute))) + + (define-layered-method display-attribute-editor :in-layer #.(defining-description 'html-description) (attribute) (display-html-attribute-editor attribute (attribute-editor attribute))) @@ -206,15 +208,8 @@ clear: left; (define-layered-method display-html-attribute-value (object (attribute list-attribute)) - (<:ul - (arnesi:dolist* (item (attribute-value attribute)) - (<:li (apply #'display *display* item (slot-value attribute 'item-args)))))) - - - - - - - - - + (let ((val (attribute-value attribute))) + (when (listp val) + (<:ul + (arnesi:dolist* (item (attribute-value attribute)) + (<:li (apply #'display *display* item (slot-value attribute 'item-args)))))))) \ No newline at end of file