(size (xset-list-size xset)))
(if (listp data)
(if (< size +xset-list-size-limit+)
- (unless (member elt data :test #'eq)
+ (unless (member elt data :test #'eql)
(setf (xset-list-size xset) (1+ size)
(xset-data xset) (cons elt data)))
- (let ((table (make-hash-table :size (* 2 size) :test #'eq)))
+ (let ((table (make-hash-table :size (* 2 size) :test #'eql)))
(setf (gethash elt table) t)
(dolist (x data)
(setf (gethash x table) t))
(defun xset-member-p (elt xset)
(let ((data (xset-data xset)))
(if (listp data)
- (member elt data :test #'eq)
+ (member elt data :test #'eql)
(gethash elt data))))
(defun xset-members (xset)
(let ((data (xset-data lookup)))
(map-xset (if (listp data)
(lambda (elt)
- (when (member elt data :test #'eq)
+ (when (member elt data :test #'eql)
(add-to-xset elt intersection)))
(lambda (elt)
(when (gethash elt data)
(map-xset
(if (listp data)
(lambda (elt)
- (unless (member elt data :test #'eq)
+ (unless (member elt data :test #'eql)
(return-from xset-subset-p nil)))
(lambda (elt)
(unless (gethash elt data)