summaryrefslogtreecommitdiff
path: root/doc/skr/api.skr
diff options
context:
space:
mode:
authorLudovic Courtes2006-01-31 23:25:42 +0000
committerLudovic Courtes2006-01-31 23:25:42 +0000
commitb3a4dbb047b56a9ba0a332b6e1e7525491f3c85d (patch)
tree2ebc062ab5556609394a350880fb7ee5c69e0642 /doc/skr/api.skr
parent444d8476c6a3f913ba60cc41c56fb0eeec0d8a2e (diff)
parent09039355539a79187669b688ff6a03c8a74e2099 (diff)
downloadskribilo-b3a4dbb047b56a9ba0a332b6e1e7525491f3c85d.tar.gz
skribilo-b3a4dbb047b56a9ba0a332b6e1e7525491f3c85d.tar.lz
skribilo-b3a4dbb047b56a9ba0a332b6e1e7525491f3c85d.zip
First time the user manual is compiled to HTML.
* doc/skr/api.skr (make-engine?): Fixed. (make-engine-custom): Likewise. * doc/skr/manual.skr (the-index): Don't pass `:&skribe-eval-location'. * doc/user/emacs.skb: Fixed typo. * doc/user/htmle.skb: Documented the `file-name-proc' custom. * doc/user/package.skb: Fixed the `prgm' example there. * doc/user/skribe-config.skb: Commented out the `OPTIONS' section. * doc/user/skribec.skb: Likewise. * doc/user/slide.skb: Don't refer to HTML-ENGINE, use `find-engine' instead. * doc/user/src/slides.skb: Don't pass `:slide' to `toc'. * doc/user/toc.skb: Commented the `:subsubsection' argument. * doc/user/user.skb (Index): Set `:indent' to "Index". * src/guile/skribilo.scm (skribilo-options): Added `--image-path'. (skribilo): Handle it. * src/guile/skribilo/ast.scm (ast->file-location): Exported. * src/guile/skribilo/engine/base.scm (the-index): Don't pass `:&skribe-eval-location'. * src/guile/skribilo/engine/html.scm: Export `html-width' and `html-title-authors'. * src/guile/skribilo/engine/lout.scm (lout-width): Don't use `flonum?'. * src/guile/skribilo/evaluator.scm (load-document): Added `:allow-other-keys' so that the optional parameters may contain keywords, too. * src/guile/skribilo/package/slide.scm: Use `(skribilo engine html)'. * src/guile/skribilo/skribe/api.scm (toc): Added `subsubsection'. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-38
Diffstat (limited to 'doc/skr/api.skr')
-rw-r--r--doc/skr/api.skr34
1 files changed, 20 insertions, 14 deletions
diff --git a/doc/skr/api.skr b/doc/skr/api.skr
index 00c6a38..a86e745 100644
--- a/doc/skr/api.skr
+++ b/doc/skr/api.skr
@@ -121,16 +121,21 @@
;* make-engine? ... */
;*---------------------------------------------------------------------*/
(define (make-engine? id o)
+ ;(format #t "make-engine? ~a ~a~%" id o)
(match o
- (((or 'make-engine 'copy-engine)
- (quote (? (lambda (x) (eq? x id)))) _)
- o)
- ((`_)
- #f)
- ((_)
- #f)
- ((a d)
- (or (make-engine? id a) (make-engine? id d)))
+ (((or 'make-engine 'copy-engine) ('quote sym) . rest)
+ (if (eq? sym id)
+ o
+ #f))
+ ((exp ___)
+ (let loop ((exp exp))
+ (cond ((null? exp)
+ #f)
+ ((pair? exp)
+ (or (make-engine? id (car exp))
+ (make-engine? id (cdr exp))))
+ (else
+ (make-engine? id exp)))))
(else
#f)))
@@ -138,13 +143,14 @@
;* make-engine-custom ... */
;*---------------------------------------------------------------------*/
(define (make-engine-custom def)
- (match (memq :custom def)
- ((:custom `custom _)
+ (let ((customs (memq :custom def)))
+ (match (if customs (cdr customs) #f)
+ ((((or 'quote 'quasiquote) custom) _ ___)
custom)
- ((:custom custom _)
- (eval custom))
+ (((custom) _ ___)
+ (primitive-eval custom))
(else
- '())))
+ '()))))
(define (sym/kw? x)
(or (symbol? x) (keyword? x)))