summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2021-11-21 11:26:19 -0500
committerKjetil Orbekk <kj@orbekk.com>2021-11-21 11:26:19 -0500
commitd2f33573d00761ef4014e52256939e6c0f4ace83 (patch)
treeafe8b91f6af3493ca620af7faca6fcb1effe8f86
parent806c8ce1b4e24fba16cb0bfb00aaf39596410310 (diff)
Update run-exercises
-rw-r--r--exercism/emacs-lisp/run-exercises.el30
1 files changed, 20 insertions, 10 deletions
diff --git a/exercism/emacs-lisp/run-exercises.el b/exercism/emacs-lisp/run-exercises.el
index 229a46a..983c8f8 100644
--- a/exercism/emacs-lisp/run-exercises.el
+++ b/exercism/emacs-lisp/run-exercises.el
@@ -1,13 +1,13 @@
(defmacro in-test-window (&rest body)
`(save-selected-window
- (switch-to-buffer-other-window "*kj/test*")
- ,@body))
+ (switch-to-buffer-other-window "*kj/test*")
+ ,@body))
(macroexpand '(in-test-window (insert "hello") (insert "world")))
(defun setup-test-window ()
(in-test-window
- (erase-buffer)))
+ (erase-buffer)))
(defun kj-writeln (msg)
(in-test-window
@@ -17,15 +17,17 @@
(kj-writeln
(in-test-window
- (insert (propertize "* Emacs tests" 'face 'org-level-1))))
+ (insert (propertize "* Emacs experiments" 'face 'org-level-1))))
(defmacro kj-display (title &rest code)
`(progn
(kj-writeln (propertize (concat "** " ,title) 'face 'org-level-2))
- (kj-writeln (propertize "Code:" 'face 'italic))
- (kj-writeln (format "%s" ',@code))
- (kj-writeln (propertize "Output:" 'face 'italic))
- (kj-writeln (format "%s" ,@code))))
+ (mapc (lambda (c)
+ (kj-writeln (propertize "Code:" 'face 'italic))
+ (kj-writeln (format "%S" c))
+ (kj-writeln (propertize "Output:" 'face 'italic))
+ (kj-writeln (format "%S" (eval c))))
+ ',code)))
(load-file "hello-world/hello-world.el")
(kj-display "Hello" (hello))
@@ -34,7 +36,15 @@
(kj-display "Two-fer" (two-fer "Annie"))
(load-file "leap/leap.el")
-(kj-display "* Leap years"
- (leap-year-p 1996))
+(kj-display "Leap years"
+ (leap-year-p 1996)
+ (leap-year-p 1900)
+ (leap-year-p 2000))
+
+(load-file "anagram/anagram.el")
+(kj-display "Anagrams"
+ (anagrams-for
+ "allergy"
+ '("gallery" "ballerina" "regally" "clergy" "largely" "leading")))
(provide 'hello)