Fluidize (runtime user-interface) internal *notification-level*.
authorMatt Birkholz <matt@birkholz.chandler.az.us>
Tue, 4 Feb 2014 22:13:09 +0000 (15:13 -0700)
committerMatt Birkholz <puck@birchwood-abbey.net>
Tue, 12 Aug 2014 00:30:29 +0000 (17:30 -0700)
src/runtime/usrint.scm

index fb54ce2f60dafdd0138a352682153cad4c4d0439..e81b5ad0c7b9d784009b4af68eafdd20c2aeb658 100644 (file)
@@ -421,9 +421,9 @@ USA.
             unspecific))
         (lambda ()
           (let ((v
-                 (fluid-let ((*notification-depth*
-                              (+ *notification-depth* 1)))
-                   (thunk))))
+                 (let-fluid *notification-depth*
+                            (1+ (fluid *notification-depth*))
+                   thunk)))
             (set! done? #t)
             v))
         (lambda ()
@@ -484,21 +484,22 @@ USA.
 
 (define (write-notification-prefix port)
   (write-string ";" port)
-  (do ((i 0 (+ i 1)))
-      ((not (< i *notification-depth*)))
-    (write-string indentation-atom port)))
+  (let ((depth (fluid *notification-depth*)))
+    (do ((i 0 (+ i 1)))
+       ((not (< i depth)))
+      (write-string indentation-atom port))))
 
 (define (notification-prefix-length)
   (+ 1
      (* (string-length indentation-atom)
-       *notification-depth*)))
+       (fluid *notification-depth*))))
 
 (define *notification-depth*)
 (define indentation-atom)
 (define wrapped-notification-port-type)
 
 (define (initialize-package!)
-  (set! *notification-depth* 0)
+  (set! *notification-depth* (make-fluid 0))
   (set! indentation-atom "  ")
   (set! wrapped-notification-port-type (make-wrapped-notification-port-type))
   unspecific)
\ No newline at end of file