summary refs log tree commit diff
path: root/src/guile
diff options
context:
space:
mode:
authorLudovic Courtes2006-01-17 22:50:23 +0000
committerLudovic Courtes2006-01-17 22:50:23 +0000
commit46c709dc1f242fa680d4425da4dfc9314686e9cc (patch)
tree93535db7d12eae5cb86a7c1af64bafe07f5d3275 /src/guile
parent2d8fa88ef04b3a6141a2b03a9671a7dd0fcc1f60 (diff)
downloadskribilo-46c709dc1f242fa680d4425da4dfc9314686e9cc.tar.gz
skribilo-46c709dc1f242fa680d4425da4dfc9314686e9cc.tar.lz
skribilo-46c709dc1f242fa680d4425da4dfc9314686e9cc.zip
Towards a self-hosted user manual.
* doc/skr/api.skr: Use `(skribilo reader)' and `(skribilo utils syntax)'.
  (api-search-definition): Added a SKRIBE-SOURCE? argument.
  Determine the appropriate reader based on its value.
  (keyword->symbol): Removed.
  (define-markup?): Fixed.
  (make-engine?): Fixed (but unverified).
  (make-engine-custom): Likewise.
  (sym/kw?): New.
  (define-markup-formals): Fixed.
  (define-markup-options): Likewise.
  (define-markup-rest): Likewise.
  (doc-markup): Added a SKRIBE-SOURCE? argument.
  (doc-engine): Likewise.

* doc/user/*.skb: Updated the `:source' arguments to `doc-markup' and
  `doc-engine'.

* src/guile/skribilo/utils/compat.scm (hashtable-update!): Fixed
  according to the Bigloo manual.

git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-26
Diffstat (limited to 'src/guile')
-rw-r--r--src/guile/skribilo/utils/compat.scm8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/guile/skribilo/utils/compat.scm b/src/guile/skribilo/utils/compat.scm
index 45abd10..c187975 100644
--- a/src/guile/skribilo/utils/compat.scm
+++ b/src/guile/skribilo/utils/compat.scm
@@ -206,7 +206,13 @@
 (define-public hashtable?		hash-table?)
 (define-public hashtable-get		(lambda (h k) (hash-ref h k #f)))
 (define-public hashtable-put!		hash-set!)
-(define-public hashtable-update!	hash-set!)
+(define-public (hashtable-update! table key update-proc init-value)
+  ;; This is a Bigloo-specific API.
+  (let ((handle (hash-get-handle table key)))
+    (if (not handle)
+	(hash-set! table key init-value)
+	(set-cdr! handle (update-proc (cdr handle))))))
+
 (define-public hashtable->list	(lambda (h)
                           (map cdr (hash-map->list cons h))))