Don't error on circular values in testcover
* lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value): Consider circular lists to be non-equal instead of signaling error.
This commit is contained in:
parent
95a04fd26c
commit
0508045ed7
1 changed files with 8 additions and 2 deletions
|
@ -463,7 +463,10 @@ binding `testcover-vector' to the code-coverage vector for TESTCOVER-SYM
|
||||||
(cond
|
(cond
|
||||||
((eq (aref testcover-vector idx) 'unknown)
|
((eq (aref testcover-vector idx) 'unknown)
|
||||||
(aset testcover-vector idx val))
|
(aset testcover-vector idx val))
|
||||||
((not (equal (aref testcover-vector idx) val))
|
((not (condition-case ()
|
||||||
|
(equal (aref testcover-vector idx) val)
|
||||||
|
;; TODO: Actually check circular lists for equality.
|
||||||
|
(circular-list nil)))
|
||||||
(aset testcover-vector idx 'ok-coverage)))
|
(aset testcover-vector idx 'ok-coverage)))
|
||||||
val)
|
val)
|
||||||
|
|
||||||
|
@ -475,7 +478,10 @@ same value during coverage testing."
|
||||||
((eq (aref testcover-vector idx) '1value)
|
((eq (aref testcover-vector idx) '1value)
|
||||||
(aset testcover-vector idx (cons '1value val)))
|
(aset testcover-vector idx (cons '1value val)))
|
||||||
((not (and (eq (car-safe (aref testcover-vector idx)) '1value)
|
((not (and (eq (car-safe (aref testcover-vector idx)) '1value)
|
||||||
(equal (cdr (aref testcover-vector idx)) val)))
|
(condition-case ()
|
||||||
|
(equal (cdr (aref testcover-vector idx)) val)
|
||||||
|
;; TODO: Actually check circular lists for equality.
|
||||||
|
(circular-list nil))))
|
||||||
(error "Value of form marked with `1value' does vary: %s" val)))
|
(error "Value of form marked with `1value' does vary: %s" val)))
|
||||||
val)
|
val)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue