anchor.diff:  	    (error 'invalid-character
   		   :stream input-stream :char char)))
        10
  -     ;; build the token here
  -     )
  +     (if (equal token ".")
  +	 (error 'single-dot-token)
  +	 ;; build the token here
  +	 nil
  +	 ))
       token))
  
positive.code:      (declare (ignore condition))
       (format stream "A left parenthesis cannot be ~
                       immediately followed by a dot"))))
  
  (defun left-parenthesis-function (stream char)
    (declare (ignore char))
    (let* ((sentinel (list nil))
  	 (last-cons sentinel))
      (handler-case 
       (progn 
         (setf (cdr last-cons)
  	     (handler-case (list (read stream t nil t))
  	       (single-dot-token () (error 'no-object-preceding-dot))))
         (setf last-cons (cdr last-cons))
         (loop for expr = (handler-case (read stream t nil t)
  			  (single-dot-token ()
  			    (setf (cdr last-cons)
  				  (read stream t nil t))
  			    (return-from left-parenthesis-function
  			      (cdr sentinel))))
  	     do (setf (cdr last-cons) (list expr)
  		      last-cons (cdr last-cons))))
       (unmatched-right-parenthesis ()
  
negative.code:   (:report
     (lambda (condition stream)
       (declare (ignore condition))
       (format stream "Unmatched right parenthesis found."))))
  
  (defun right-parenthesis-function (stream char)
    (declare (ignore stream char))
  