[bknr-devel] SBCL port samll fixes

Tchadvar Roussanov troussan at gmail.com
Tue Feb 14 04:04:54 UTC 2006


Hans,

In order to compile bknr/src/web/handlers.lisp with the latest cxml and
sbcl, I either have to apply the  change  from svn to with-element macro in
cxml/xml/unparse.lisp:

(defmacro with-element (qname &body body)
  ;; XXX Statt qname soll man in zukunft auch mal (lname prefix) angeben
  ;; koennen.  Hat aber Zeit bis DOM 2.
-  (when (listp qname)
-    (destructuring-bind (n) qname
-      (setf qname n)))
  `(invoke-with-element (lambda () , at body) ,qname))


 or change the handlers.lisp this way:

(defmethod handle-object ((handler xml-object-list-handler) object req)
-  (cxml:with-element (xml-object-list-handler-toplevel-element-name
handler)
-    (dolist (object (object-list-handler-get-objects handler object req))
-      (object-list-handler-show-object-xml handler object req))))
+  (let ((element-name (xml-object-list-handler-toplevel-element-name
handler)))
+    (cxml:with-element element-name
+      (dolist (object (object-list-handler-get-objects handler object req))
+       (object-list-handler-show-object-xml handler object req)))))

In other words move the evaluation of
xml-object-list-handler-toplevel-element-name out of the macro expansion. I
think the two changes are equivalent but the second one has the advantage
not to require to maintain changes to the third party library.  Am I missing
something?

Tchavdar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/bknr-devel/attachments/20060213/b361e609/attachment.html>


More information about the Bknr-devel mailing list