Changeset 10957


Ignore:
Timestamp:
Oct 3, 2008, 7:58:59 PM (11 years ago)
Author:
wws
Message:

Both :reader and :accessor on a slot definition in a defclass no longer warns of a duplicate definition

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711/ccl/lib/macros.lisp

    r10938 r10957  
    18971897                     (:reader
    18981898                      (setq name (cadr options))
    1899                       (push (cons name reader-info) signatures)
    1900                       (push name readers))
     1899                      (unless (memq name readers)
     1900                        (push (cons name reader-info) signatures)
     1901                        (push name readers)))
    19011902                     (:writer                     
    19021903                      (setq name (cadr options))
    1903                       (push (cons name writer-info) signatures)
    1904                       (push name writers))
     1904                      (unless (member name writers :test 'equal)
     1905                        (push (cons name writer-info) signatures)
     1906                        (push name writers)))
    19051907                     (:accessor
    19061908                      (setq name (cadr options))
    1907                       (push (cons name reader-info) signatures)
    1908                       (push name readers)
    1909                       (push (cons (setf-function-name name) writer-info) signatures)
    1910                       (push `(setf ,name) writers))
     1909                      (unless (memq name readers)
     1910                        (push (cons name reader-info) signatures)
     1911                        (push name readers))
     1912                      (let ((setf-name `(setf ,name)))
     1913                        (unless (member setf-name writers :test 'equal)
     1914                          (push (cons (setf-function-name name) writer-info) signatures)
     1915                          (push setf-name writers))))
    19111916                     (:initarg
    19121917                      (push (require-type (cadr options) 'symbol) initargs))
Note: See TracChangeset for help on using the changeset viewer.