800 |
(apply 'nset-difference cl-list2 cl-list1 cl-keys))))) |
(apply 'nset-difference cl-list2 cl-list1 cl-keys))))) |
801 |
|
|
802 |
(defun subsetp (cl-list1 cl-list2 &rest cl-keys) |
(defun subsetp (cl-list1 cl-list2 &rest cl-keys) |
803 |
"True if LIST1 is a subset of LIST2. |
"Return true if LIST1 is a subset of LIST2. |
804 |
I.e., if every element of LIST1 also appears in LIST2. |
I.e., if every element of LIST1 also appears in LIST2. |
805 |
Keywords supported: :test :test-not :key" |
Keywords supported: :test :test-not :key" |
806 |
(cond ((null cl-list1) t) ((null cl-list2) nil) |
(cond ((null cl-list1) t) ((null cl-list2) nil) |
888 |
(setq cl-tree (cdr cl-tree)))))) |
(setq cl-tree (cdr cl-tree)))))) |
889 |
|
|
890 |
(defun tree-equal (cl-x cl-y &rest cl-keys) |
(defun tree-equal (cl-x cl-y &rest cl-keys) |
891 |
"T if trees X and Y have `eql' leaves. |
"Return t if trees X and Y have `eql' leaves. |
892 |
Atoms are compared by `eql'; cons cells are compared recursively. |
Atoms are compared by `eql'; cons cells are compared recursively. |
893 |
Keywords supported: :test :test-not :key" |
Keywords supported: :test :test-not :key" |
894 |
(cl-parsing-keywords (:test :test-not :key) () |
(cl-parsing-keywords (:test :test-not :key) () |