summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2012-08-14 22:40:40 +0200
committerGravatar Tom Willemsen2012-08-14 22:40:40 +0200
commit8681daf54aeacf85ae83512105f6b151f49ea523 (patch)
tree42c413817b598b7897800e0529481a5cc4a4a7ab
parent17d9c17d9f622e6bf0853f1af69fff6147533c24 (diff)
downloadundone-8681daf54aeacf85ae83512105f6b151f49ea523.tar.gz
undone-8681daf54aeacf85ae83512105f6b151f49ea523.zip
Improve macro
-rw-r--r--undone/main.scm12
1 files changed, 7 insertions, 5 deletions
diff --git a/undone/main.scm b/undone/main.scm
index e916ad2..8804bde 100644
--- a/undone/main.scm
+++ b/undone/main.scm
@@ -5,7 +5,7 @@
(define-syntax define-view
(lambda (x)
- (syntax-case x (with)
+ (syntax-case x ()
((_ name doc fmt fields fields* ...)
(with-syntax ((viewname
(datum->syntax
@@ -14,11 +14,13 @@
(define (viewname)
doc
(map (lambda (item)
+ (let (#,@(map (lambda (field)
+ #`(#,field (cdr (assq (quote #,field) item))))
+ #'(fields fields* ...)))
(format #t fmt
- #,@(map
- (lambda (field)
- #`(cdr (assq (quote #,field) item)))
- #'(fields fields* ...))))
+ #,@(map (lambda (field)
+ field)
+ #'(fields fields* ...)))))
todo-list))
(set! view-list
(append view-list