Changeset 14505 for trunk/source/lib


Ignore:
Timestamp:
Dec 22, 2010, 8:32:10 PM (10 years ago)
Author:
rme
Message:

In REMOVE-STRUCTURE-DEFS, don't remove inherited accessors.

Closes ticket:750.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lib/defstruct.lisp

    r14315 r14505  
    312312    (when sd
    313313      (dolist (refname (sd-refnames sd))
    314         (let ((def (assq refname *nx-globally-inline*)))
    315           (when def (set-function-info refname nil)))
    316         (let ((info (structref-info refname)))
    317           (when (accessor-structref-info-p info)
    318             (unless (refinfo-r/o (structref-info-refinfo info))
    319               (fmakunbound (setf-function-name refname)))
    320             (fmakunbound refname))))
     314        (unless (sd-refname-in-included-struct-p sd refname)
     315          (let ((def (assq refname *nx-globally-inline*)))
     316            (when def (set-function-info refname nil)))
     317          (let ((info (structref-info refname)))
     318            (when (accessor-structref-info-p info)
     319              (unless (refinfo-r/o (structref-info-refinfo info))
     320                (fmakunbound (setf-function-name refname)))
     321              (fmakunbound refname)))))
    321322      #|
    322323      ;; The print-function may indeed have become obsolete,
Note: See TracChangeset for help on using the changeset viewer.