summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/testcover.el
diff options
context:
space:
mode:
authorGemini Lasswell <gazally@runbox.com>2018-04-02 09:34:31 -0700
committerGemini Lasswell <gazally@runbox.com>2018-04-02 09:38:12 -0700
commite3525385a87c92fdca6b3cf929797a731c688a3f (patch)
treece6438bf8882602ee71555554651b0f91e9f1d6f /lisp/emacs-lisp/testcover.el
parentd06c2e7a666fbc7aa0e7a9b134d9e373431d76bf (diff)
downloademacs-e3525385a87c92fdca6b3cf929797a731c688a3f.tar.gz
Fix Testcover bug in handling of vectors containing dotted lists
* lisp/emacs-lisp/testcover.el (testcover-analyze-coverage-compose): Handle dotted lists. Fix bug#30909. * test/lisp/emacs-lisp/testcover-resources/testcases.el: (dotted-list-in-vector-bug-30909): New test case. (quotes-within-backquotes-bug-25316, dotted-backquote) (quoted-backquote, backquoted-vector-bug-25316) (vector-in-macro-spec-bug, backquoted-dotted-alist): Change docstrings to mention analyzing code instead of reinstrumenting it.
Diffstat (limited to 'lisp/emacs-lisp/testcover.el')
-rw-r--r--lisp/emacs-lisp/testcover.el8
1 files changed, 5 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/testcover.el b/lisp/emacs-lisp/testcover.el
index e0d2797c0cd..d48c79cd770 100644
--- a/lisp/emacs-lisp/testcover.el
+++ b/lisp/emacs-lisp/testcover.el
@@ -644,9 +644,11 @@ are 1value."
"Analyze a list of FORMS for code coverage using FUNC.
The list is 1valued if all of its constituent elements are also 1valued."
(let ((result '1value))
- (dolist (form forms)
- (let ((val (funcall func form)))
- (setq result (testcover-coverage-combine result val))))
+ (while (consp forms)
+ (setq result (testcover-coverage-combine result (funcall func (car forms))))
+ (setq forms (cdr forms)))
+ (when forms
+ (setq result (testcover-coverage-combine result (funcall func forms))))
result))
(defun testcover-analyze-coverage-backquote (bq-list)