]> code.delx.au - dotemacs/commitdiff
use cl-loop
authorJames Bunton <jamesbunton@delx.net.au>
Sat, 30 Jul 2016 11:27:29 +0000 (21:27 +1000)
committerJames Bunton <jamesbunton@delx.net.au>
Sat, 30 Jul 2016 11:29:03 +0000 (21:29 +1000)
lisp/my-find-test-file.el

index a792203108a0ad552ea56d2c5093ee42a48179d4..ec397e5f6ad98401fd32e62ddef4ade21142367b 100644 (file)
@@ -8,16 +8,15 @@
            (string-match-p "spec" file))))
 
 (defun my/matching-test-file-p (test-file base-name extension)
-  (let ((found nil))
-    (dolist (pattern (list
-                      (concat "test/.*" base-name "[^/]*\\." extension "$")
-                      (concat "spec/.*" base-name "[^/]*\\." extension "$")
-                      (concat "test[^/]*" base-name "[^/]*\\." extension "$")
-                      (concat base-name "[^/]*test\\." extension "$")
-                      (concat base-name "[^/]*spec\\." extension "$")))
-      (if (string-match-p pattern test-file)
-          (setq found t)))
-    found))
+  (cl-loop for pattern in (list
+                           (concat "test/.*" base-name "[^/]*\\." extension "$")
+                           (concat "spec/.*" base-name "[^/]*\\." extension "$")
+                           (concat "test[^/]*" base-name "[^/]*\\." extension "$")
+                           (concat base-name "[^/]*test\\." extension "$")
+                           (concat base-name "[^/]*spec\\." extension "$"))
+           for matched = (string-match-p pattern test-file)
+           until matched
+           finally return (not (null matched))))
 
 (defun my/matching-prod-file-p (prod-file base-name extension)
   (dolist (pattern '("test" "spec" "^\\.*" "\\.*$"))