diff options
author | Ludovic Courtes | 2006-01-16 22:31:32 +0000 |
---|---|---|
committer | Ludovic Courtes | 2006-01-16 22:31:32 +0000 |
commit | 2d8fa88ef04b3a6141a2b03a9671a7dd0fcc1f60 (patch) | |
tree | 56d287670d9ce43285e8e961f9f443dd74751317 /doc/skr/api.skr | |
parent | c72a09b779b110b2e189ab2b1872eb89f568605c (diff) | |
download | skribilo-2d8fa88ef04b3a6141a2b03a9671a7dd0fcc1f60.tar.gz skribilo-2d8fa88ef04b3a6141a2b03a9671a7dd0fcc1f60.tar.lz skribilo-2d8fa88ef04b3a6141a2b03a9671a7dd0fcc1f60.zip |
More SRFI-3[45] enhancements; first stab at the user documentation.
* src/guile/skribilo/biblio.scm (skribe-open-bib-file): Raise a
`&file-search-error' when needed.
* src/guile/skribilo/runtime.scm (convert-image): Likewise.
* src/guile/skribilo/source.scm (source-read-lines): Likewise.
(source-read-definition): Likewise.
* src/guile/skribilo/utils/compat.scm (skribe-load): Only look up
`%skribe-known-files' when `load-document' failed.
(find-file/path): Use `search-path'.
(find-runtime-type): Implemented.
* doc/skr/api.skr: Use `(ice-9 match)'. Use `match' instead of
`match-case'.
(api-search-definition): Search in `%load-path' and `(skribe-path)'.
(define-markup?): First stab at getting the `match' syntax right.
* doc/user/src/start[3-5].skb: Small fixes.
git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-25
Diffstat (limited to 'doc/skr/api.skr')
-rw-r--r-- | doc/skr/api.skr | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/doc/skr/api.skr b/doc/skr/api.skr index 504dd5a..70016b9 100644 --- a/doc/skr/api.skr +++ b/doc/skr/api.skr @@ -9,6 +9,8 @@ ;* The Skribe style for documenting Lisp APIs. */ ;*=====================================================================*/ +(use-modules (ice-9 match)) + ;*---------------------------------------------------------------------*/ ;* Html configuration */ ;*---------------------------------------------------------------------*/ @@ -59,11 +61,13 @@ ;* Find a definition inside a source file. */ ;*---------------------------------------------------------------------*/ (define (api-search-definition id file pred) - (let ((f (find-file/path file *skribe-source-path*))) + (let* ((path (append %load-path (skribe-path))) + (f (find-file/path file path))) (if (not (string? f)) (skribe-error 'api-search-definition - (format #t "can't find source file `~a' in path" file) - *skribe-source-path*) + (format #f "can't find source file `~a' in path" + file) + path) (with-input-from-file f (lambda () (let loop ((exp (read))) @@ -104,9 +108,10 @@ ;* define-markup? ... */ ;*---------------------------------------------------------------------*/ (define (define-markup? id o) - (match-case o - (((or define-markup define define-inline) - ((? (lambda (x) (eq? x id))) . (? (lambda (x) (or (pair? x) (null? x))))) . ?-) + (match o + ((or 'define-markup 'define 'define-inline + (? (lambda (x) (eq? x id))) + (? (lambda (x) (or (pair? x) (null? x))))) o) ((define-simple-markup (? (lambda (x) (eq? x id)))) o) @@ -119,7 +124,7 @@ ;* make-engine? ... */ ;*---------------------------------------------------------------------*/ (define (make-engine? id o) - (match-case o + (match o (((or make-engine copy-engine) (quote (? (lambda (x) (eq? x id)))) . ?-) o) ((quasiquote . ?-) @@ -135,7 +140,7 @@ ;* make-engine-custom ... */ ;*---------------------------------------------------------------------*/ (define (make-engine-custom def) - (match-case (memq :custom def) + (match (memq :custom def) ((:custom (quote ?custom) . ?-) custom) ((:custom ?custom . ?-) @@ -150,7 +155,7 @@ ;* options). */ ;*---------------------------------------------------------------------*/ (define (define-markup-formals def) - (match-case def + (match def ((?- (?- . ?args) . ?-) (if (symbol? args) (list args) @@ -180,7 +185,7 @@ ;* Returns the options parameters of a define-markup. */ ;*---------------------------------------------------------------------*/ (define (define-markup-options def) - (match-case def + (match def ((?- (?- . ?args) . ?-) (if (not (list? args)) '() @@ -203,7 +208,7 @@ ;* Returns the rest parameter of a define-markup. */ ;*---------------------------------------------------------------------*/ (define (define-markup-rest def) - (match-case def + (match def ((?- (?- . ?args) . ?-) (if (not (pair? args)) args @@ -270,7 +275,7 @@ (table :cellpadding 0 :cellspacing 0 (tr (td :align 'left exp)))) (else - (match-case exp + (match exp ((quote (and ?sym (? symbol?))) (string-append "'" (symbol->string sym))) (else @@ -319,7 +324,7 @@ (idx *markup-index*) (idx-note "definition") (idx-suffix #f) - (source "src/common/api.scm") + (source "skribilo/skribe/api.scm") (def #f) (see-also '()) (others '()) |