aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2019-04-10 00:46:47 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2019-04-10 00:46:47 +0200
commit5709173103aedbab5079252709d83947f43b2ca4 (patch)
tree7924a1fd4e8844ab0c7f0c16c28cfd7ebc9135e9
parentStart using multi-set! (diff)
downloadcalp-5709173103aedbab5079252709d83947f43b2ca4.tar.gz
calp-5709173103aedbab5079252709d83947f43b2ca4.tar.xz
Minor cleanups.
-rw-r--r--module/config.scm1
-rwxr-xr-xmodule/main.scm18
-rw-r--r--module/vcalendar/output.scm3
-rw-r--r--module/vcalendar/recurrence/parse.scm4
4 files changed, 16 insertions, 10 deletions
diff --git a/module/config.scm b/module/config.scm
index 54cda06b..f15c73d5 100644
--- a/module/config.scm
+++ b/module/config.scm
@@ -26,7 +26,6 @@
(define* (aref alist key optional: default)
(or (assoc-ref alist key) default key))
-
(define (summary-filter ev str)
(regexp-substitute/global
#f "T[A-Z]{3}[0-9]{2}" str
diff --git a/module/main.scm b/module/main.scm
index 0e3c23be..2e7759d1 100755
--- a/module/main.scm
+++ b/module/main.scm
@@ -108,6 +108,8 @@
)))
(let ((char (read-char)))
+ ;; (format (current-error-port)
+ ;; "c = ~c (~d)~%" char (char->integer char))
(case char
((#\L #\l)
(set! time (add-day time)
@@ -128,7 +130,6 @@
(when (or (eof-object? char)
(memv char (list #\q (ctrl #\C))))
(break)))
- ;; (format #t "c = ~c (~d)~%" char (char->integer char))
)))
@@ -136,7 +137,12 @@
(load "config.scm")
-(define (main args)
+;; Reads all calendar files from disk, and creates a list of "regular" events,
+;; and a stream of "repeating" events, which are passed in that order to the
+;; given procedure @var{proc}.
+;;
+;; Given as a sepparate function from main to ease debugging.
+(define (init proc)
(define calendars (map make-vcomponent calendar-files))
(define events (concatenate (map (cut children <> 'VEVENT) calendars)))
@@ -147,7 +153,9 @@
(let ((repeating (interleave-streams ev-time<?
(map generate-recurrence-set repeating))))
- (with-vulgar
- (lambda () (main-loop regular repeating))))))
-
+ (proc regular repeating))))
+(define (main args)
+ (init (lambda (regular repeating)
+ (with-vulgar
+ (lambda () (main-loop regular repeating))))))
diff --git a/module/vcalendar/output.scm b/module/vcalendar/output.scm
index 48197cb4..a15857f7 100644
--- a/module/vcalendar/output.scm
+++ b/module/vcalendar/output.scm
@@ -28,8 +28,7 @@
(type comp) comp)
(for-each-in kvs
(lambda (kv)
- (let ((key (car kv))
- (value (cdr kv)))
+ (let* (((key . value) kv))
(format #t "~a ~20@a: ~a~%"
(make-string depth #\:)
key value))))
diff --git a/module/vcalendar/recurrence/parse.scm b/module/vcalendar/recurrence/parse.scm
index 9f933120..015bb578 100644
--- a/module/vcalendar/recurrence/parse.scm
+++ b/module/vcalendar/recurrence/parse.scm
@@ -22,8 +22,8 @@
((invalid-value)
"ERR ~a [~a] for key [~a], ignoring.~%")
(else "~a ~a ~a"))))
- (format #t fmt err val key))
- (cont obj))))
+ (format (current-error-port) fmt err val key))
+ (cont #f))))
(eval-when (expand)
(define ((handle-case stx obj) key val proc)