From 124f8b42c01a440c6998a13ef13996ac1d312092 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Wed, 10 Apr 2019 00:51:35 +0200 Subject: Rework how attributes and properties are accessed. Made the fact that properties belong to an attribute shine through to scheme. This by setting the SCM field in the strbuf:ers in my vcomponents to a pair of their old SCM value, and a hash table representing the properties. This also meant that the primitive set-attribute! could be replaced by a set-car! on the pair returned by the primitive get-attribute. And that both set- and get-property now simple works on the hash table returned by get-attribute. The major problem with this release was that I for a while missed that DEEP_COPY(strbuf) now also needed to deep copy the SCM values. Without that attributes in a copied vcomponent would be shared with the original. This mainly lead to repeating events all being the same. --- module/vcalendar/primitive.scm | 6 ------ 1 file changed, 6 deletions(-) (limited to 'module/vcalendar/primitive.scm') diff --git a/module/vcalendar/primitive.scm b/module/vcalendar/primitive.scm index 400750c9..27ae6e17 100644 --- a/module/vcalendar/primitive.scm +++ b/module/vcalendar/primitive.scm @@ -11,13 +11,7 @@ %vcomponent-get-type %vcomponent-set-type! - %vcomponent-set-attribute! %vcomponent-get-attribute - - %vcomponent-get-property - %vcomponent-set-property! - %vcomponent-property-list - %vcomponent-attribute-list %vcomponent-shallow-copy)) -- cgit v1.2.3