anchor.diff:    ;; </tal>
     (let ((template-name
   	 (or
  -	  (pull-attrib-val tag 'tal::name)
  -	  (awhen (pull-attrib-val tag 'tal::name-expression)
  +	  (pull-attrib-val! tag 'tal::name)
  +	  (awhen (pull-attrib-val! tag 'tal::name-expression)
   	    (parse-tal-attribute-value it))
   	  (error "Missing TAL:NAME and TAL:NAME-EXPRESSION tags."))))
   
  
positive.code: 
  (def-attribute-handler tal::replace (tag)
    (let ((value (read-tal-expression-from-string
  		(pull-attrib-val tag 'tal::replace))))
      (when value
        (let ((escape (if-bind escape (pull-attrib-val tag 'tal::escape-html)
  		      ;; if they supplied a vlaue then use it (either nil
  		      ;; or t or whatever)
  		      (read-tal-expression-from-string escape)
  
negative.code: 
  (def-attribute-handler tal::when (tag)
    (let ((value (read-tal-expression-from-string
  		(pull-attrib-val! tag 'tal::when))))
      `(when ,value
         ,(transform-lxml-form tag))))
  
  (def-attribute-handler tal::unless (tag)
    (let ((value (read-tal-expression-from-string
  		(pull-attrib-val! tag 'tal::unless))))
      `(unless ,value
         ,(transform-lxml-form tag))))
  
  