aboutsummaryrefslogtreecommitdiff
path: root/src/guile/skribilo/package/base.scm
diff options
context:
space:
mode:
authorLudovic Courtès2008-04-08 00:19:04 +0200
committerLudovic Courtès2008-04-08 00:19:04 +0200
commit71d6a8faee86dceb26c2784de98930fd9976ca2c (patch)
tree7d8985b4bfdb386615f6309ee8cfa23fd4e7539a /src/guile/skribilo/package/base.scm
parent9745ff5744d97fa66b42587e6a304d3bdf8054ab (diff)
downloadskribilo-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.scm18
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)