anchor.diff:  
   (defun read-#-features (stream suppress-if-false)
     "Common function to implement #+ and #-."
  -  (let* ((test (let ((*package* (find-package "KEYWORD")))
  +  (let* ((test (let* ((*package* (find-package "KEYWORD"))
  +                      (*read-package* *package*))
                    (read stream t nil t)))
            (*read-suppress* (or *read-suppress*
                                 (if suppress-if-false
  
positive.code:                            token (make-array 16
                                               :element-type 'character
                                               :adjustable t
                                               :fill-pointer 0)))))
                (t (vector-push-extend (case-correct x) token)))))
      ;; Check for invalid uses of the dot. Tokens that are constructed
      ;; entirely from dots are invalid unless one or more of the dots was
  
negative.code:         (when (eql (char token offset) #\.)
            (incf dot-count))))
      (cond
        ;; If no escapes were seen, a double-package marker was seen,
        ;; and the symbol name is empty then we're reading SBCL's
        ;; extended package prefix syntax.
        ((and (not seen-escape)
              package-name
              intern-symbol
              (zerop (length token)))
         (let ((*read-package* (find-package-or-die package-name)))
           (read stream t nil t)))
        ;; Return a symbol immediately if a package marker was seen.
        (package-name
         (if (or intern-symbol (string= "KEYWORD" package-name))
  