aboutsummaryrefslogtreecommitdiff
path: root/src/guile/skribilo/package/base.scm
diff options
context:
space:
mode:
Diffstat (limited to 'src/guile/skribilo/package/base.scm')
-rw-r--r--src/guile/skribilo/package/base.scm10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/guile/skribilo/package/base.scm b/src/guile/skribilo/package/base.scm
index 01e8667..b904ed8 100644
--- a/src/guile/skribilo/package/base.scm
+++ b/src/guile/skribilo/package/base.scm
@@ -30,7 +30,7 @@
:use-module (skribilo utils keywords)
:autoload (srfi srfi-1) (every any filter)
:autoload (skribilo evaluator) (include-document)
- :autoload (skribilo engine) (engine?)
+ :autoload (skribilo engine) (engine? engine-class?)
;; optional ``sub-packages''
:autoload (skribilo biblio) (*bib-table* resolve-bib
@@ -63,7 +63,7 @@
(define-markup (include file)
(if (not (string? file))
(skribe-error 'include "Illegal file (string expected)" file)
- (include-document file)))
+ (include-document file :module (current-module))))
;*---------------------------------------------------------------------*/
;* document ... */
@@ -896,7 +896,7 @@
(cond
((and combinator (not (procedure? combinator)))
(skribe-error 'processor "Combinator not a procedure" combinator))
- ((and engine (not (engine? engine)))
+ ((and engine (not (or (engine? engine) (engine-class? engine))))
(skribe-error 'processor "Illegal engine" engine))
((and procedure
(or (not (procedure? procedure))
@@ -911,7 +911,9 @@
(else
(new processor
(combinator combinator)
- (engine engine)
+ (engine (if (engine-class? engine)
+ (make-engine engine)
+ engine))
(procedure (or procedure (lambda (n e) n)))
(body (the-body opts))))))