aboutsummaryrefslogtreecommitdiff
path: root/src/guile/skribilo/biblio.scm
diff options
context:
space:
mode:
authorLudovic Court`es2005-11-25 18:08:40 +0000
committerLudovic Court`es2005-11-25 18:08:40 +0000
commit38ef94ef3cd5417a907da6c8540d36734b4cde51 (patch)
tree614a937d50f79c3124f676700edf832a1341765f /src/guile/skribilo/biblio.scm
parentb76d5e1b252967521f210eac10ddbf089dde8c6a (diff)
downloadskribilo-38ef94ef3cd5417a907da6c8540d36734b4cde51.tar.gz
skribilo-38ef94ef3cd5417a907da6c8540d36734b4cde51.tar.lz
skribilo-38ef94ef3cd5417a907da6c8540d36734b4cde51.zip
Overhaul: emphasized logical separation of the modules.
* src/guile/skribilo/types.scm: Removed. Moved the class and method definitions in the relevant files. * src/guile/skribilo/ast.scm: New. * src/guile/skribilo/location.scm: New. * src/guile/skribilo/parameters.scm: Same as part of the former `vars.scm' except that it uses fluids instead of globals. * src/guile/skribilo/vars.scm: Renamed to `compat.scm'. * doc/Makefile: Removed (generated by `configure'). git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-11
Diffstat (limited to 'src/guile/skribilo/biblio.scm')
-rw-r--r--src/guile/skribilo/biblio.scm50
1 files changed, 24 insertions, 26 deletions
diff --git a/src/guile/skribilo/biblio.scm b/src/guile/skribilo/biblio.scm
index f3ddf97..dd04f68 100644
--- a/src/guile/skribilo/biblio.scm
+++ b/src/guile/skribilo/biblio.scm
@@ -1,7 +1,6 @@
+;;; biblio.scm -- Bibliography functions.
;;;
-;;; biblio.scm -- Bibliography functions
-;;;
-;;; Copyright © 2003-2004 Erick Gallesio - I3S-CNRS/ESSI <eg@essi.fr>
+;;; Copyright 2003-2004 Erick Gallesio - I3S-CNRS/ESSI <eg@essi.fr>
;;; Copyright 2005 Ludovic Courtès <ludovic.courtes@laas.fr>
;;;
;;; This program is free software; you can redistribute it and/or modify
@@ -18,21 +17,22 @@
;;; along with this program; if not, write to the Free Software
;;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
;;; USA.main.st
-;;;
-;;; Author: Erick Gallesio [eg@essi.fr]
-;;; Creation date: 31-Aug-2003 22:07 (eg)
-;;; Last file update: 28-Oct-2004 21:19 (eg)
-;;;
(define-module (skribilo biblio)
:use-module (skribilo runtime)
:use-module (skribilo lib) ;; `when', `unless'
- :use-module (skribilo vars)
+ :use-module (skribilo module)
+ :use-module (skribilo skribe bib) ;; `make-bib-entry'
+ :autoload (skribilo parameters) (*bib-path*)
+ :autoload (ice-9 format) (format)
:export (bib-table? make-bib-table default-bib-table
bib-add!))
+
+
+;; FIXME: Should be a fluid?
(define *bib-table* #f)
;; Forward declarations
@@ -76,13 +76,13 @@
(let ((ofrom (markup-option old 'from)))
(skribe-warning 2
'bib
- (format "Duplicated bibliographic entry ~a'.\n" ident)
+ (format #f "duplicated bibliographic entry ~a'.\n" ident)
(if ofrom
- (format " Using version of `~a'.\n" ofrom)
+ (format #f " using version of `~a'.\n" ofrom)
"")
(if from
- (format " Ignoring version of `~a'." from)
- " Ignoring redefinition."))))
+ (format #f " ignoring version of `~a'." from)
+ " ignoring redefinition."))))
;;; ======================================================================
@@ -99,14 +99,13 @@
(cond
((and (list? entry) (> (length entry) 2))
(let* ((kind (car entry))
- (key (format "~A" (cadr entry)))
+ (key (format #f "~A" (cadr entry)))
(fields (cddr entry))
- (old (hashtable-get table key)))
+ (old (hash-ref table key)))
(if old
(bib-duplicate ident from old)
- (hash-table-put! table
- key
- (make-bib-entry kind key fields from)))
+ (hash-set! table key
+ (make-bib-entry kind key fields from)))
(Loop (read port))))
(else
(%bib-error 'bib-parse entry))))))))
@@ -124,14 +123,13 @@
(cond
((and (list? entry) (> (length entry) 2))
(let* ((kind (car entry))
- (key (format "~A" (cadr entry)))
+ (key (format #f "~A" (cadr entry)))
(fields (cddr entry))
- (old (hashtable-get table ident)))
+ (old (hash-ref table key)))
(if old
(bib-duplicate key #f old)
- (hash-table-put! table
- key
- (make-bib-entry kind key fields #f)))))
+ (hash-set! table key
+ (make-bib-entry kind key fields #f)))))
(else
(%bib-error 'bib-add! entry))))
entries)))
@@ -144,14 +142,14 @@
;;; ======================================================================
;; FIXME: Factoriser
(define (skribe-open-bib-file file command)
- (let ((path (search-path *skribe-bib-path* file)))
+ (let ((path (search-path (*bib-path*) file)))
(if (string? path)
(begin
- (when (> *skribe-verbose* 0)
+ (when (> (*verbose*) 0)
(format (current-error-port) " [loading bibliography: ~S]\n" path))
(open-input-file (if (string? command)
(string-append "| "
- (format command path))
+ (format #f command path))
path)))
(begin
(skribe-warning 1