aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@hornquist.se>2019-10-06 13:35:20 +0200
committerHugo Hörnquist <hugo@hornquist.se>2019-10-06 13:35:20 +0200
commitfeefb97cf9118c8e5d7018e33887a371dadc5eab (patch)
tree33c42222df642813b726f5cc085d0d3569e441a1 /module/vcomponent
parentRemove old C code. (diff)
downloadcalp-feefb97cf9118c8e5d7018e33887a371dadc5eab.tar.gz
calp-feefb97cf9118c8e5d7018e33887a371dadc5eab.tar.xz
Minor cleanup in scheme code.
Diffstat (limited to 'module/vcomponent')
-rw-r--r--module/vcomponent/base.scm27
-rw-r--r--module/vcomponent/primitive.scm22
-rw-r--r--module/vcomponent/timezone.scm3
3 files changed, 11 insertions, 41 deletions
diff --git a/module/vcomponent/base.scm b/module/vcomponent/base.scm
index 246566ee..69fab656 100644
--- a/module/vcomponent/base.scm
+++ b/module/vcomponent/base.scm
@@ -6,6 +6,8 @@
:use-module (ice-9 hash-table)
:use-module ((ice-9 optargs) :select (define*-public)))
+(export add-child!)
+
;; vline → value
(define-public value
(make-procedure-with-setter
@@ -29,25 +31,10 @@
(as-string attr)
(make-vline value))))
-;; (define-public (values-left-count attr-list)
-;; (length (take-while identity attr-list)))
-
-;; (define-public (value-count attr-list)
-;; (length (take-while identity (cdr (drop-while identity attr-list)))))
-
-;; (define (get-first c a)
-;; (and=> (car (get-attr c a)) car))
-
-;; (define (set-first! c a v)
-;; (and=> (car (get-attr c a))
-;; (lambda (f) (set! (car f) v))))
-
(define-public attr
(make-procedure-with-setter
-; get-first set-first!
get-attr
- set-attr!
- ))
+ set-attr!))
(define-public prop
@@ -68,11 +55,9 @@
))
(define-public (parent c) (struct-ref c 2))
-(define-public push-child! add-child!)
+
(define-public (attributes component)
- (hash-map->list cons (struct-ref component 3))
- #; (map string->symbol (%vcomponent-attribute-list component))
- )
+ (hash-map->list cons (struct-ref component 3)))
(define*-public (children component)
(struct-ref component 1))
@@ -92,8 +77,6 @@
(hash-map->list (lambda (key value) (cons key (copy-vline value)))
(struct-ref component 3)))))
-;; (define-public filter-children! %vcomponent-filter-children!)
-
(define-public (extract field)
(lambda (e) (attr e field)))
diff --git a/module/vcomponent/primitive.scm b/module/vcomponent/primitive.scm
index 2cf12508..5fef08cc 100644
--- a/module/vcomponent/primitive.scm
+++ b/module/vcomponent/primitive.scm
@@ -1,23 +1,9 @@
;;; Primitive export of symbols linked from C binary.
(define-module (vcomponent primitive)
- #:export #;
- (%vcomponent-children ;
- %vcomponent-push-child! ;
- %vcomponent-filter-children! ;
- ;
- %vcomponent-parent ;
- ;
- %vcomponent-make ;
- %vcomponent-get-type ;
- %vcomponent-set-type! ;
- ;
- %vcomponent-get-attribute ;
- %vcomponent-attribute-list ;
- ;
- %vcomponent-shallow-copy)
-
- (make-vcomponent add-line! add-child! make-vline add-attribute! parse-cal-path)
- )
+ #:export (make-vcomponent
+ add-line! add-child!
+ make-vline add-attribute!
+ parse-cal-path))
(load-extension "libguile-calendar" "init_lib")
diff --git a/module/vcomponent/timezone.scm b/module/vcomponent/timezone.scm
index 4a312288..dde32cc2 100644
--- a/module/vcomponent/timezone.scm
+++ b/module/vcomponent/timezone.scm
@@ -68,7 +68,8 @@
;; Crashes on error.
(define (find-tz cal tzid)
(let ((ret (find (lambda (tz) (string=? tzid (attr tz 'TZID)))
- (children cal 'VTIMEZONE))))
+ (filter (lambda (o) (eq? 'VTIMEZONE (type o)))
+ (children cal)))))
ret))
;; Takes a VEVENT.