aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2024-09-26 21:52:51 -0400
committerGravatar Peter McGoron 2024-09-26 21:52:51 -0400
commit4acea69841ad62ec5d46eb565bbb5d98f84b3d38 (patch)
treefdc8b8a096c5dfbed8a29db006fe9a8106a5656a
parentobject: change to a stateful table (diff)
object: rename
-rw-r--r--linked-list.scm2
-rw-r--r--object.scm16
-rw-r--r--read.scm2
3 files changed, 12 insertions, 8 deletions
diff --git a/linked-list.scm b/linked-list.scm
index 67e32ab..814f83f 100644
--- a/linked-list.scm
+++ b/linked-list.scm
@@ -27,7 +27,7 @@
((head '())
(tail '())
(this
- (object/immutable-attributes
+ (object/abstract
'push!
(lambda (val)
(set! head (cons val head))
diff --git a/object.scm b/object.scm
index d30574d..6728661 100644
--- a/object.scm
+++ b/object.scm
@@ -41,6 +41,7 @@
(if (not proc)
(error 'object 'invalid-op op args)
(apply proc args))))))
+
(lambda (op . args)
(let ((proc (table 'get op)))
(if (not proc)
@@ -64,11 +65,14 @@
(apply process-args args)))))
(apply check-args args)))))
+(define object-make-abstract!
+ (lambda (obj)
+ (obj 'delete! 'set!)
+ (obj 'delete! 'get)
+ (obj 'delete! 'delete!)
+ obj))
+
;;; Like OBJECT/ATTRIBUTES, but with SET!, GET, and DELETE! removed.
-(define object/immutable-attributes
+(define object/abstract
(lambda args
- (let ((obj (apply object/attributes args)))
- (obj 'delete! 'set!)
- (obj 'delete! 'get)
- (obj 'delete! 'delete!)
- obj)))
+ (object-make-abstract! (apply object/attributes args))))
diff --git a/read.scm b/read.scm
index 75d22e0..e1e3243 100644
--- a/read.scm
+++ b/read.scm
@@ -77,7 +77,7 @@
(datum-labels '())
(fold-case? #f)
(this
- (object/immutable-attributes
+ (object/abstract
'process
(lambda (ch)
(this 'update-position! ch)
rt for isochronous sending.Gravatar aeb 3-0/+35 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@34 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-07-05Added raw1394_reset_bus() call.Gravatar aeb 4-0/+23 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@33 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-06-22- Set library version info in configure.in, use in src/Makefile.am.Gravatar aeb 4-2/+16 - Enable compiler warnings. git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@32 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-06-15Update libtool version number.Gravatar aeb 2-2/+2 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@31 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-06-14Added copyright headers.Gravatar aeb 6-0/+54 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@30 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-06-11Added explicit AC_PROG_INSTALL call.Gravatar aeb 1-0/+1 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@29 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-06-09Fix size of error field.Gravatar aeb 1-2/+2 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@28 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-06-02Modified support for 32/64 bit environments, control struct fields have ↵Gravatar aeb 7-43/+28 fixed size now. git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@27 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-05-28Added support for environments with 64 bit kernel and 32 bit userland.Gravatar aeb 8-7/+45 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@26 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-04-27Fixed missing setting of ext code in raw1394_start_lock()Gravatar aeb 1-0/+1 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@25 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-04-15Fixed lock transaction to actually return response value.Gravatar aeb 3-5/+11 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@24 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-04-12Add userdata functions as news.Gravatar aeb 1-0/+4 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@23 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-04-05Add userdata functions.Gravatar aeb 3-0/+18 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@22 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-03-18Bump version number to 0.6.Gravatar aeb 3-5/+6 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@21 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-03-18Mention byte order change.Gravatar aeb 1-0/+2 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@20 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-03-18Mention SourceForge home.Gravatar aeb 1-1/+5 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@19 53a565d1-3bb7-0310-b661-cf11e63c67ab