Remove duplicate implementations of (setf aref/sbit/bit).
[sbcl.git] / src / code / defsetfs.lisp
index 26ed7f2..af7d31e 100644 (file)
 ;;; from early-setf.lisp
 (in-package "SB!IMPL")
 
-;;; KLUDGE: Various of these (e.g. AREF and BIT) have DEFUN (SETF FOO) versions
-;;; too. Do we really need both? -- WHN 19990921
+;;; (setf aref/bit/sbit) are implemented using setf-functions,
+;;; because they have to work with (setf (apply #'aref array subscripts))
+;;; All other setfs can be done using setf-functions too, but I
+;;; haven't found technical advantages or disatvantages for either
+;;; scheme.
 #-sb-xc-host (defsetf car %rplaca)
 #-sb-xc-host (defsetf cdr %rplacd)
 #-sb-xc-host (defsetf caar (x) (v) `(%rplaca (car ,x) ,v))
 #-sb-xc-host (defsetf tenth (x) (v) `(%rplaca (cdr (cddddr (cddddr ,x))) ,v))
 #-sb-xc-host (defsetf rest %rplacd)
 #-sb-xc-host (defsetf elt %setelt)
-#-sb-xc-host (defsetf aref %aset)
 #-sb-xc-host (defsetf row-major-aref %set-row-major-aref)
 #-sb-xc-host (defsetf svref %svset)
 #-sb-xc-host (defsetf char %charset)
-#-sb-xc-host (defsetf bit %bitset)
 #-sb-xc-host (defsetf schar %scharset)
-#-sb-xc-host (defsetf sbit %sbitset)
 (defsetf %array-dimension %set-array-dimension)
 (defsetf sb!kernel:%vector-raw-bits sb!kernel:%set-vector-raw-bits)
 #-sb-xc-host (defsetf symbol-value set)