1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-26 18:01:13 -08:00

* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-no-range): Cosmetic.

This commit is contained in:
Andrea Corallo 2020-12-02 22:45:00 +01:00
parent 9b85ae6aa5
commit 1fb249f6db

View file

@ -256,26 +256,26 @@ Integer values are handled in the `range' slot.")
(defun comp-cstr-union-no-range (dst &rest srcs)
"As `comp-cstr-union' but escluding the irange component."
(let ((values (mapcar #'comp-cstr-valset srcs)))
;; Type propagation.
(setf (comp-cstr-typeset dst)
(apply #'comp-union-typesets (mapcar #'comp-cstr-typeset srcs)))
;; Type propagation.
(setf (comp-cstr-typeset dst)
(apply #'comp-union-typesets (mapcar #'comp-cstr-typeset srcs)))
;; Value propagation.
(setf (comp-cstr-valset dst)
(cl-loop
;; TODO sort.
for v in (cl-remove-duplicates (apply #'append values)
:test #'equal)
;; We propagate only values those types are not already
;; into typeset.
when (cl-notany (lambda (x)
(comp-subtype-p (type-of v) x))
(comp-cstr-typeset dst))
collect v))
;; Value propagation.
(setf (comp-cstr-valset dst)
(cl-loop
with values = (mapcar #'comp-cstr-valset srcs)
;; TODO sort.
for v in (cl-remove-duplicates (apply #'append values)
:test #'equal)
;; We propagate only values those types are not already
;; into typeset.
when (cl-notany (lambda (x)
(comp-subtype-p (type-of v) x))
(comp-cstr-typeset dst))
collect v))
dst))
dst)
(defun comp-cstr-union (dst &rest srcs)
"Combine SRCS by union set operation setting the result in DST.