anchor.diff:  
   
   
  -(define-condition simple-reader-error (simple-error reader-error) ())
  -(define-condition simple-end-of-file  (simple-error end-of-file)  ())
  -
  +(define-condition simple-reader-error   (simple-error reader-error) ())
  +(define-condition simple-end-of-file    (simple-error end-of-file)  ())
  +
  +(define-condition missing-package-error (reader-error)
  +  ((package-name :initarg :package-name)))
  +
  +(define-condition symbol-in-missing-package-error (missing-package-error)
  +  ((symbol-name :initarg :symbol-name)))
   
   (defun serror (condition stream control-string &rest arguments)
     (error condition
  
positive.code: URL: http://www.lispworks.com/documentation/HyperSpec/Body/v_rd_def.htm
  ")
  
  
  (declaim (ftype (function (t) t) parse-token))
  
  
negative.code:                         (accept 'symbol sym)
                          (reject t "There is no external symbol named ~S in ~
                                 the package named ~S" sname pname))))
                (accept 'symbol
                        (restart-case (error 'symbol-in-missing-package-error
                                             :stream *input-stream* :package-name pname :symbol-name sname)
                          (intern-here (&rest rest)
                            :report "Intern the symbol in the current package, instead"
                            (declare (ignore rest))
                            (intern sname))
                          (return-uninterned (&rest rest)
                            :report "Return an uninterned symbol, instead"
                            (declare (ignore rest))
                            (make-symbol sname))))))
          ;; no colon in token, let's just intern the symbol in the current package :
          (accept 'symbol (intern (token-text token) *package*)))))
  
  