* boot-9.scm (remove-hook!): New macro. (Thanks to Maciej
authorMikael Djurfeldt <djurfeldt@nada.kth.se>
Sat, 28 Mar 1998 10:30:40 +0000 (10:30 +0000)
committerMikael Djurfeldt <djurfeldt@nada.kth.se>
Sat, 28 Mar 1998 10:30:40 +0000 (10:30 +0000)
Stachowiak.)

ice-9/ChangeLog
ice-9/boot-9.scm

index da7093b..baeb902 100644 (file)
@@ -1,3 +1,8 @@
+1998-03-28  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * boot-9.scm (remove-hook!): New macro.  (Thanks to Maciej
+       Stachowiak.)
+
 1998-01-30  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
 
        * threads.scm: Added simple error and signal handler.
index 1b59fae..bef6126 100644 (file)
             (set! ,(cadr exp)
                   (cons thunk ,(cadr exp))))))))
 
+(define remove-hook!
+  (procedure->macro
+    (lambda (exp env)
+      `(let ((thunk ,(caddr exp)))
+        (if (memq thunk ,(cadr exp)))
+        (set! ,(cadr exp)
+              (delq! thunk ,(cadr exp)))))))
+
 \f
 ;;; {Files}
 ;;;