Fix cl-member' and
cl-assoc' for bignums
* lisp/emacs-lisp/cl-seq.el (cl-member, cl-assoc): Work with bignums. * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-bignum-eql): New.
This commit is contained in:
parent
aa9d57eed1
commit
b5e41e8ba3
2 changed files with 10 additions and 4 deletions
|
@ -703,9 +703,7 @@ Return the sublist of LIST whose car is ITEM.
|
|||
(while (and cl-list (not (cl--check-test cl-item (car cl-list))))
|
||||
(setq cl-list (cdr cl-list)))
|
||||
cl-list)
|
||||
(if (and (numberp cl-item) (not (integerp cl-item)))
|
||||
(member cl-item cl-list)
|
||||
(memq cl-item cl-list))))
|
||||
(memql cl-item cl-list)))
|
||||
(autoload 'cl--compiler-macro-member "cl-macs")
|
||||
|
||||
;;;###autoload
|
||||
|
@ -744,7 +742,7 @@ Return the sublist of LIST whose car matches.
|
|||
(not (cl--check-test cl-item (car (car cl-alist))))))
|
||||
(setq cl-alist (cdr cl-alist)))
|
||||
(and cl-alist (car cl-alist)))
|
||||
(if (and (numberp cl-item) (not (integerp cl-item)))
|
||||
(if (numberp cl-item)
|
||||
(assoc cl-item cl-alist)
|
||||
(assq cl-item cl-alist))))
|
||||
(autoload 'cl--compiler-macro-assoc "cl-macs")
|
||||
|
|
|
@ -302,6 +302,14 @@ Body are forms defining the test."
|
|||
(should (equal '(2 8) (last (cl-replace list list2) 2)))
|
||||
(should (equal '(1 1) (last (cl-fill list 1) 2)))))
|
||||
|
||||
(ert-deftest cl-seq-bignum-eql ()
|
||||
(let ((x (+ most-positive-fixnum 1))
|
||||
(y (+ most-positive-fixnum 1)))
|
||||
(let ((l (list y)))
|
||||
(should (eq (cl-member x l) l)))
|
||||
(let ((a (list (cons y 1) (cons 2 y))))
|
||||
(should (eq (cl-assoc x a) (car a)))
|
||||
(should (eq (cl-rassoc x a) (cadr a))))))
|
||||
|
||||
(provide 'cl-seq-tests)
|
||||
;;; cl-seq-tests.el ends here
|
||||
|
|
Loading…
Add table
Reference in a new issue