Function: testcover-after

testcover-after is a byte-compiled function defined in testcover.el.gz.

Signature

(testcover-after BEFORE-INDEX AFTER-INDEX VALUE)

Documentation

Update code coverage with the result of a form's evaluation.

AFTER-INDEX is the form's index into the code-coverage vector. Return VALUE.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/testcover.el.gz
(defun testcover-after (_before-index after-index value)
  "Update code coverage with the result of a form's evaluation.
AFTER-INDEX is the form's index into the code-coverage
vector.  Return VALUE."
  (let ((old-result (aref testcover-vector after-index)))
    (cond
     ((eq 'edebug-unknown old-result)
      (aset testcover-vector after-index (testcover--copy-object value)))
     ((eq 'maybe old-result)
      (aset testcover-vector after-index 'edebug-ok-coverage))
     ((eq 'testcover-1value old-result)
      (aset testcover-vector after-index
            (cons old-result (testcover--copy-object value))))
     ((and (eq (car-safe old-result) 'testcover-1value)
           (not (condition-case ()
                    (equal (cdr old-result) value)
                  (circular-list t))))
      (error "Value of form expected to be constant does vary, from %s to %s"
             old-result value))
     ;; Test if a different result.
     ((not (condition-case ()
               (equal value old-result)
             (circular-list nil)))
      (aset testcover-vector after-index 'edebug-ok-coverage))))
  value)