anchor.diff:  (in-package #:closure-template)
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  -;; Helper
  -;; string tree
  +;; aux
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   
   (defmacro with-template-output (&body body)
  
positive.code:                       (collect (list (find-symbol (symbol-name var) *package*)
                                       `(getf $data$ ,var))))))
      `(defun ,(intern (lispify-string (caar args))) (,@(unless binds '(&optional)) $data$)       
         (declare (optimize (debug 0) (speed 3)))
         (let ((*loops-vars* nil)
               ,@binds)
           (macrolet ((random-int (arg) `(random ,arg))
  
negative.code:                             'function
                              symbol))))
      (translate-item backend
                    (cdr args))))
  
  (defun has-data-used-p (body)
    (cond
      ((and (consp body)
            (eql (car body) 'has-data)) t)
      ((consp body) (iter (for item in (cdr body))
                          (finding t such-that  (has-data-used-p item))))
      (t nil)))
  
  (defmethod translate-named-item ((backend common-lisp-backend) (item (eql 'closure-template.parser:template)) args)
    (let* ((*template-variables* nil)
  