Update of /project/cxml/cvsroot/cxml/dom In directory common-lisp.net:/tmp/cvs-serv19785/dom
Modified Files: dom-impl.lisp package.lisp Log Message: kleine anpassungen fuer cl-xmpp neu: do-node-map, map-node-map
Date: Fri Dec 30 15:21:46 2005 Author: dlichteblau
Index: cxml/dom/dom-impl.lisp diff -u cxml/dom/dom-impl.lisp:1.35 cxml/dom/dom-impl.lisp:1.36 --- cxml/dom/dom-impl.lisp:1.35 Thu Dec 29 00:11:22 2005 +++ cxml/dom/dom-impl.lisp Fri Dec 30 15:21:44 2005 @@ -188,6 +188,15 @@ (dom:map-node-list (lambda (,var) ,@body) ,nodelist) ,resultform))
+(defun dom:map-node-map (fn node-map) + (with-slots (items) node-map + (mapc fn items))) + +(defmacro dom:do-node-map ((var node-map &optional resultform) &body body) + `(block nil + (dom:map-node-map (lambda (,var) ,@body) ,node-map) + ,resultform)) + (defmacro dovector ((var vector &optional resultform) &body body) `(loop for ,var across ,vector do (progn ,@body)
Index: cxml/dom/package.lisp diff -u cxml/dom/package.lisp:1.4 cxml/dom/package.lisp:1.5 --- cxml/dom/package.lisp:1.4 Tue Dec 27 01:21:31 2005 +++ cxml/dom/package.lisp Fri Dec 30 15:21:46 2005 @@ -138,5 +138,7 @@
#:map-node-list #:do-node-list + #:map-node-map + #:do-node-map #:create-document #:map-document))