anchor.diff:  ;;;; utilities which do not belong in any other file
  +
  +(in-package "CLAMP")
   
   (mac ado (&body body)
     "Evaluates each expression with it bound to the result of
      the previous one. Returns the value of the last expression"
  -  (lf (null body)
  +  (if (null body)
           nil
         (single body)
           (car body)
  -      `(let1 it ,(car body)
  +      `(let it ,(car body)
   	(declare (ignorable it))
           (ado ,@(cdr body)))))
   
   (mac accum (accfn &body body)
     "The result is all of the arguments passed into accfn"
  -  `(let1 gacc@ '()
  +  `(let gacc@ '()
        (flet1 ,accfn (garg) (push garg gacc@)
          ,@body)
        (nrev gacc@)))
  
positive.code:        ,set)))
  
  (define-modify-macro or= (new)
    (lambda (var new) (lf var var new))
    "If the var is nil, it assigns the new value to it.
     Otherwise does nothing. This always evaluates new")
  
  
negative.code: 
  (mac check (x test &optional alt)
    "If x passes the test, otherwise evaluate alt"
    `(let x@ ,x
       (if (funcall ,test x@)
  	 x@
  	 ,alt)))
  
  