]> git.eshelyaron.com Git - emacs.git/commitdiff
Add fast-path to ert--explain-string-equal
authorStefan Kangas <stefan@marxist.se>
Sun, 26 Sep 2021 13:29:20 +0000 (15:29 +0200)
committerStefan Kangas <stefan@marxist.se>
Sun, 26 Sep 2021 13:30:40 +0000 (15:30 +0200)
* lisp/emacs-lisp/ert.el (ert--explain-string-equal): Add fast-path to
avoid doing extra work.
Problem reported by Mattias EngdegĂ„rd <mattiase@acm.org>.

lisp/emacs-lisp/ert.el

index e72321f90ffb6716cb9c1bb85f2e63e9a8554ecc..72fe19461f71f40677157b0a4d9132b5a5f609c9 100644 (file)
@@ -543,9 +543,11 @@ Returns nil if they are."
 (defun ert--explain-string-equal (a b)
   "Explainer function for `string-equal'."
   ;; Convert if they are symbols.
-  (let ((as (if (symbolp a) (symbol-name a) a))
-        (bs (if (symbolp b) (symbol-name b) b)))
-    (ert--explain-equal-rec as bs)))
+  (if (string-equal a b)
+      nil
+    (let ((as (if (symbolp a) (symbol-name a) a))
+          (bs (if (symbolp b) (symbol-name b) b)))
+      (ert--explain-equal-rec as bs))))
 (put 'string-equal 'ert-explainer 'ert--explain-string-equal)
 
 (defun ert--significant-plist-keys (plist)