anchor.diff:  	      (format-control c)
   	      (format-args c)))))
   
  +(define-condition tal-runtime-condition (simple-condition)
  +  ((format-control :accessor format-control :initarg :format-control :initform nil)
  +   (format-args :accessor format-args :initarg :format-args :initform nil))
  +  (:report (lambda (c s)
  +	     (apply #'format
  +	      s
  +	      (format-control c)
  +	      (format-args c)))))
  +
   (define-condition tal-compilation-warning (tal-compilation-condition warning) ())
   
   (defun tal-warn (message &rest args)
  
positive.code:                              (error "Parse error in ~S. #\\ at end of string." value-string)
                               (write-char next-char text))))
                    (#\$ (let ((next-char (peek-char nil val nil nil nil)))
  			 (when next-char
  			   (cond
  			     ;; escaped $
  			     ((char= #\$ next-char)
  			      (read-char val nil nil nil)
  			      (write-char #\$ text))
  
  			     (t ;; tal-expression
  			      (let ((bracketed? (char= #\{ next-char)))
  				;; remove open { if nec
  				(when bracketed?
  				  (read-char val nil nil nil))
  				;; first push the text uptil now onto parts
  				(let ((up-to-now (get-output-stream-string text)))
  				  (unless (string= "" up-to-now)
  				    (push up-to-now parts)))
  				;; now push the form
  				(push (if bracketed?
  					  `(progn ,@(read-tal-bracketed-form))
  					  (read-tal-form))
  				  parts))
  			      )))))
  
                    (#\@ (let ((next-char (peek-char nil val nil nil)))
                           (if (and next-char (char= #\{ next-char))
  
negative.code: ;;;; "http://common-lisp.net/project/bese/tal/params" name space.
  
  (defvar *tal-attribute-handlers* ())
  (defvar *tal-tag-handlers* ())
  (defvar *string-being-compiled*)
  (defvar *name-being-compiled* ())
  
  ;;;; Interning namespaced elements to packages
  (defparameter *uri-to-package*
  