diff options
-rw-r--r-- | ChangeLog | 20 | ||||
-rw-r--r-- | src/guile/skribilo/engine.scm | 11 |
2 files changed, 31 insertions, 0 deletions
@@ -2,6 +2,26 @@ # arch-tag: automatic-ChangeLog--lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2 # +2006-03-07 21:28:47 GMT Ludovic Courtes <ludovic.courtes@laas.fr> patch-41 + + Summary: + Fixed `copy-engine' with respect to the writers optimization. + Revision: + skribilo--devel--1.2--patch-41 + + Patches applied: + + * lcourtes@laas.fr--2004-libre/skribilo--devel--1.2 (patch 66) + + - Fixed `copy-engine' with respect to the writers optimization. + + modified files: + ChangeLog src/guile/skribilo/engine.scm + + new patches: + lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-66 + + 2006-03-07 21:28:02 GMT Ludovic Courtes <ludovic.courtes@laas.fr> patch-40 Summary: diff --git a/src/guile/skribilo/engine.scm b/src/guile/skribilo/engine.scm index fbaf4d2..de455cd 100644 --- a/src/guile/skribilo/engine.scm +++ b/src/guile/skribilo/engine.scm @@ -207,6 +207,17 @@ (slot-set! new 'symbol-table (or symbol-table (slot-ref e 'symbol-table))) (slot-set! new 'customs (or custom (slot-ref e 'customs))) + ;; XXX: We don't use `list-copy' here because writer lists are only + ;; consed, never mutated. + + ;(slot-set! new 'free-writers (list-copy (slot-ref e 'free-writers))) + + (let ((new-writers (make-hash-table))) + (hash-for-each (lambda (m w*) + (hashq-set! new-writers m w*)) + (slot-ref e 'writers)) + (slot-set! new 'writers new-writers)) + (set! *engines* (cons new *engines*)) new)) |