diff options
author | Ludovic Courtès | 2008-04-08 00:19:04 +0200 |
---|---|---|
committer | Ludovic Courtès | 2008-04-08 00:19:04 +0200 |
commit | 71d6a8faee86dceb26c2784de98930fd9976ca2c (patch) | |
tree | 7d8985b4bfdb386615f6309ee8cfa23fd4e7539a /src/guile/skribilo/package/base.scm | |
parent | 9745ff5744d97fa66b42587e6a304d3bdf8054ab (diff) | |
download | skribilo-71d6a8faee86dceb26c2784de98930fd9976ca2c.tar.gz skribilo-71d6a8faee86dceb26c2784de98930fd9976ca2c.tar.lz skribilo-71d6a8faee86dceb26c2784de98930fd9976ca2c.zip |
Add `--sui-path'/`-U' command-line option.
* NEWS: Update.
* src/guile/skribilo.scm (skribilo-show-help): Update.
(%options)[-U]: New.
(%default-options): Add `:sui-path'.
(skribilo): Handle it.
* src/guile/skribilo/package/base.scm (ref)[skribe-ref]: Use
`*sui-path*'.
* src/guile/skribilo/parameters.scm (*sui-path*): New.
* src/guile/skribilo/sui.scm (load-sui): Raise a `&file-search-error'
exception if not found.
Diffstat (limited to 'src/guile/skribilo/package/base.scm')
-rw-r--r-- | src/guile/skribilo/package/base.scm | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/guile/skribilo/package/base.scm b/src/guile/skribilo/package/base.scm index 8462e81..fc6abca 100644 --- a/src/guile/skribilo/package/base.scm +++ b/src/guile/skribilo/package/base.scm @@ -30,7 +30,7 @@ :autoload (srfi srfi-1) (every any filter) :autoload (skribilo evaluator) (include-document) :autoload (skribilo engine) (engine?) - :autoload (skribilo parameters)(*document-path*) + :autoload (skribilo parameters)(*document-path* *sui-path*) ;; optional ``sub-packages'' :autoload (skribilo biblio) (*bib-table* resolve-bib @@ -1087,15 +1087,13 @@ (options `((kind ,kind) ,@(the-options opts :ident :class))) (body text)))))) (define (skribe-ref skribe) - (let ((path (search-path (*document-path*) skribe))) - (if (not path) - (unref #f skribe 'sui-file) - (let* ((sui (load-sui path)) - (os (the-options opts :skribe :class :text)) - (u (sui-ref->url (dirname path) sui ident os))) - (if (not u) - (unref #f os 'sui-ref) - (ref :url u :text text :ident ident :class class)))))) + (let* ((sui (load-sui skribe)) + (os (the-options opts :skribe :class :text)) + (u (sui-ref->url (search-path (*sui-path*) skribe) + sui ident os))) + (if (not u) + (unref #f os 'sui-ref) + (ref :url u :text text :ident ident :class class)))) (define (handle-ref text) (new markup (markup 'ref) |