Skip to content
Snippets Groups Projects
Commit e2a2f1bc authored by ram's avatar ram
Browse files

Fixed a bug in SSET-UNION-OF-DIFFERENCE that prevented the difference from

really happening most of the time.
parent 92eb1327
No related branches found
No related tags found
No related merge requests found
......@@ -126,11 +126,11 @@
((null el1) t)
(let ((num1 (sset-element-number (car el1))))
(loop
(when (null el2) (return-from sset-subsetp nil))
(let ((num2 (sset-element-number (pop el2))))
(when (>= num2 num1)
(when (> num2 num1) (return-from sset-subsetp nil))
(return))))))))
(when (null el2) (return-from sset-subsetp nil))
(let ((num2 (sset-element-number (pop el2))))
(when (>= num2 num1)
(when (> num2 num1) (return-from sset-subsetp nil))
(return))))))))
;;; SSet-Equal -- Interface
......@@ -275,6 +275,7 @@
(when (null el3)
(setf (cdr prev-el1) (copy-list el2))
(return-from sset-union-of-difference t))
(setq num3 (sset-element-number (car el3)))
(when (<= num2 num3)
(unless (= num2 num3)
(let ((new (cons e el1)))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment