Function: ert--explain-equal-including-properties-rec
ert--explain-equal-including-properties-rec is a byte-compiled
function defined in ert.el.gz.
Signature
(ert--explain-equal-including-properties-rec A B)
Documentation
Return explanation of why A and B are not equal-including-properties.
Return nil if they are.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/ert.el.gz
(defun ert--explain-equal-including-properties-rec (a b)
"Return explanation of why A and B are not `equal-including-properties'.
Return nil if they are."
(if (not (equal a b))
(ert--explain-equal a b)
(cl-assert (stringp a) t)
(cl-assert (stringp b) t)
(cl-assert (eql (length a) (length b)) t)
(cl-loop for i from 0 to (length a)
for props-a = (text-properties-at i a)
for props-b = (text-properties-at i b)
for difference = (ert--plist-difference-explanation
props-a props-b)
do (when difference
(cl-return `(char ,i ,(substring-no-properties a i (1+ i))
,difference
context-before
,(ert--abbreviate-string
(substring-no-properties a 0 i)
10 t)
context-after
,(ert--abbreviate-string
(substring-no-properties a (1+ i))
10 nil))))
finally (cl-assert (equal-including-properties a b) t))))