anchor.diff:              :components (;; This has definitions which signal an error, replaced
                            ;; by port-specific files below when possible.
                            (:file "generic")
  -                         (:port-file "sbcl" :when :sbcl)
  -                         (:port-file "ccl" :when :ccl)))))
  +                         (:linedit-port-file "sbcl" :when :sbcl)
  +                         (:linedit-port-file "ccl" :when :ccl)))))
  
positive.code:               (t
                 (error "~S has no feature conditionals." port)))))
  
  (defmethod perform :around ((op load-op) (port port-file))
    (when (featurep (slot-value port 'test))
      (call-next-method)))
  
  (defmethod perform :around ((op load-source-op) (port port-file))
    (when (featurep (slot-value port 'test))
      (call-next-method)))
  
  (defmethod perform :around ((op compile-op) (port port-file))
    (when (featurep (slot-value port 'test))
      (call-next-method)))
  
  
negative.code:     (t
        (error "Invalid feature expression: ~S" x))))
  
  (defclass linedit-port-file (cl-source-file)
    ((test :initform nil)))
  
  (defmethod shared-initialize :after ((port linedit-port-file) slots &key when unless)
    (setf (slot-value port 'test)
          (cond ((and when unless)
                 `(:and ,when (:not ,unless)))
  