[html-document] use srfi-9 records for <html-object>

This commit is contained in:
Christopher Lam 2020-07-11 23:16:54 +08:00
parent 738c04fe26
commit a6ac9b748c

View File

@ -265,14 +265,18 @@
;; want. ;; want.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define <html-object> (define-record-type <html-object>
(make-record-type "<html-object>" (make-html-object-internal renderer data)
'(renderer data))) html-object?
(define gnc:html-object? (renderer html-object-renderer html-object-set-renderer!)
(record-predicate <html-object>)) (data html-object-data html-object-set-data!))
(define gnc:make-html-object-internal (define gnc:html-object? html-object?)
(record-constructor <html-object>)) (define gnc:make-html-object-internal make-html-object-internal)
(define gnc:html-object-renderer html-object-renderer)
(define gnc:html-object-set-renderer! html-object-set-renderer!)
(define gnc:html-object-data html-object-data)
(define gnc:html-object-set-data! html-object-set-data!)
(define (gnc:make-html-object obj) (define (gnc:make-html-object obj)
(cond (cond
@ -320,18 +324,6 @@
(lambda (obj doc) (lambda (obj doc)
(gnc:html-document-render-data doc obj)) obj)))) (gnc:html-document-render-data doc obj)) obj))))
(define gnc:html-object-renderer
(record-accessor <html-object> 'renderer))
(define gnc:html-object-set-renderer!
(record-modifier <html-object> 'renderer))
(define gnc:html-object-data
(record-accessor <html-object> 'data))
(define gnc:html-object-set-data!
(record-modifier <html-object> 'data))
(define (gnc:html-object-render obj doc) (define (gnc:html-object-render obj doc)
(if (gnc:html-object? obj) (if (gnc:html-object? obj)
((gnc:html-object-renderer obj) (gnc:html-object-data obj) doc) ((gnc:html-object-renderer obj) (gnc:html-object-data obj) doc)