anchor.diff:  ;; string tree
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   
  -(defun make-string-list ()
  -  (list ""))
  -
  -(defun string-list-append (list obj)
  -  (cond
  -    ((consp obj) (nconc list
  -                        (cdr obj)))
  -    (t (nconc list
  -              (list obj)))))
  -
  -(defun string-list-to-string (list)
  -  (apply #'concatenate
  -           'string
  -           (cdr list)))
  +(defmacro with-template-output (&body body)
  +  `(cond
  +     (*template-output* ,@body)
  +     (t (let ((*template-output* (list "")))
  +          ,@body
  +          (apply #'concatenate
  +                 'string
  +                 (nreverse *template-output*))))))
   
   (defmacro write-template-string (str)
     (let ((g-str (gensym)))
       `(let ((,g-str ,str))
  -       (string-list-append *template-output*
  -                           (cond
  -                             ((typep ,g-str 'float) (let ((*read-default-float-format* (type-of ,g-str)))
  -                                                      (format nil "~A" ,g-str)))
  -                             ((consp ,g-str) ,g-str)
  -                             (,g-str (format nil "~A" ,g-str)))))))
  -
  -(defmacro with-template-output (&body body)
  -  `(cond
  -     (*template-output* ,@body)
  -     (t (let ((*template-output* (make-string-list)))
  -          ,@body
  -          (string-list-to-string *template-output*)))))
  -
  -    
  +       (push (cond
  +               ((typep ,g-str 'float) (let ((*read-default-float-format* (type-of ,g-str)))
  +                                        (format nil "~A" ,g-str)))
  +               (,g-str (format nil "~A" ,g-str)))
  +             *template-output*))))
  +
   ;; (defmacro write-template-string (str)
   ;;   (let ((g-str (gensym)))
   ;;     `(let ((,g-str ,str))
  
positive.code:                                    `(let ((,var (assoc ',s *loops-vars*)))
                                        (= (second ,var)
                                           (third ,var))))))
             ,body)))))
  
  (defmethod translate-named-item ((backend common-lisp-backend) (item (eql 'closure-template.parser:foreach)) args)
    (let* ((loop-var (intern (string-upcase (second (first (first args))))))
  
negative.code:        (let ((*autoescape* nil))
           (,fun-name data)))))
  
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;; translate and compile template methods
  