aboutsummaryrefslogtreecommitdiff
path: root/src/guile/skribilo/writer.scm
diff options
context:
space:
mode:
Diffstat (limited to 'src/guile/skribilo/writer.scm')
-rw-r--r--src/guile/skribilo/writer.scm42
1 files changed, 22 insertions, 20 deletions
diff --git a/src/guile/skribilo/writer.scm b/src/guile/skribilo/writer.scm
index b16819d..df12eaa 100644
--- a/src/guile/skribilo/writer.scm
+++ b/src/guile/skribilo/writer.scm
@@ -28,7 +28,8 @@
:use-module (skribilo utils syntax)
:autoload (srfi srfi-1) (find filter)
- :autoload (skribilo engine) (engine? engine-ident? default-engine))
+ :autoload (skribilo engine) (engine-class? engine-ident
+ default-engine-class))
(use-modules (skribilo debug)
@@ -133,13 +134,13 @@
(let ((e (or (if (and (list? engine) (not (keyword? (car engine))))
(car engine)
#f)
- (default-engine))))
+ (default-engine-class))))
(cond
((and (not (symbol? markup)) (not (eq? markup #t)))
(skribe-error 'markup-writer "illegal markup" markup))
- ((not (engine? e))
- (skribe-error 'markup-writer "illegal engine" e))
+ ((not (engine-class? e))
+ (skribe-error 'markup-writer "illegal engine class" e))
((and (not predicate)
(not class)
(null? options)
@@ -152,8 +153,9 @@
(ac (if (eq? action 'unspecified)
(lambda (n e) (output (markup-body n) e))
action)))
- (engine-add-writer! e markup m predicate
- options before ac after class validate))))))
+ (engine-class-add-writer! e markup m predicate
+ options before ac after
+ class validate))))))
@@ -162,8 +164,8 @@
;;;
(define (lookup-markup-writer node e)
- ;; Find the writer that applies best to NODE. See also `markup-writer-get'
- ;; and `markup-writer-get*'.
+ ;; Find the writer that applies best to NODE. E should be an engine class.
+ ;; See also `markup-writer-get' and `markup-writer-get*'.
(define (matching-writer writers)
(find (lambda (w)
@@ -179,14 +181,14 @@
(or (matching-writer node-writers)
(matching-writer (slot-ref e 'free-writers))
- (and (engine? delegate)
+ (and (engine-class? delegate)
(lookup-markup-writer node delegate)))))
(define* (markup-writer-get markup :optional engine :key (class #f) (pred #f))
- ;; Get a markup writer for MARKUP (a symbol) in ENGINE, with class CLASS
- ;; and user predicate PRED. [FIXME: Useless since PRED is a procedure and
- ;; therefore not comparable?]
+ ;; Get a markup writer for MARKUP (a symbol) in engine class ENGINE, with
+ ;; class CLASS and user predicate PRED. [FIXME: Useless since PRED is a
+ ;; procedure and therefore not comparable?]
(define (matching-writer writers)
(find (lambda (w)
@@ -195,19 +197,19 @@
(eq? (slot-ref w 'upred) pred))))
writers))
- (let ((e (or engine (default-engine))))
+ (let ((e (or engine (default-engine-class))))
(cond
((not (symbol? markup))
(skribe-error 'markup-writer-get "illegal symbol" markup))
- ((not (engine? e))
- (skribe-error 'markup-writer-get "illegal engine" e))
+ ((not (engine-class? e))
+ (skribe-error 'markup-writer-get "illegal engine class" e))
(else
(let* ((writers (slot-ref e 'writers))
(markup-writers (hashq-ref writers markup '()))
(delegate (slot-ref e 'delegate)))
(or (matching-writer markup-writers)
- (and (engine? delegate)
+ (and (engine-class? delegate)
(markup-writer-get markup delegate
:class class :pred pred))))))))
@@ -222,19 +224,19 @@
(equal? (writer-class w) class)))
writers))
- (let ((e (or engine (default-engine))))
+ (let ((e (or engine (default-engine-class))))
(cond
((not (symbol? markup))
(skribe-error 'markup-writer "illegal symbol" markup))
- ((not (engine? e))
- (skribe-error 'markup-writer "illegal engine" e))
+ ((not (engine-class? e))
+ (skribe-error 'markup-writer "illegal engine class" e))
(else
(let* ((writers (slot-ref e 'writers))
(markup-writers (hashq-ref writers markup '()))
(delegate (slot-ref e 'delegate)))
(append (matching-writers writers)
- (if (engine? delegate)
+ (if (engine-class? delegate)
(markup-writer-get* markup delegate :class class)
'())))))))