summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/guile/skribilo/biblio.scm9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/guile/skribilo/biblio.scm b/src/guile/skribilo/biblio.scm
index c9c0637..d9aa0ed 100644
--- a/src/guile/skribilo/biblio.scm
+++ b/src/guile/skribilo/biblio.scm
@@ -36,7 +36,7 @@
   :use-module (ice-9 optargs)
 
   :export (bib-table? make-bib-table default-bib-table
-	   bib-add! bib-duplicate bib-for-each
+	   bib-add! bib-duplicate bib-for-each bib-map
 	   skribe-open-bib-file parse-bib))
 
 (fluid-set! current-reader %skribilo-module-reader)
@@ -76,9 +76,14 @@
 
 (define* (bib-for-each proc :optional (table (default-bib-table)))
   (hash-for-each (lambda (ident entry)
-		   (proc entry))
+		   (proc ident entry))
 		 table))
 
+(define* (bib-map proc :optional (table (default-bib-table)))
+  (hash-map->list (lambda (ident entry)
+		    (proc ident entry))
+		  table))
+
 
 ;;; ======================================================================
 ;;;