From abf06c1273bec1b7baf140c7b62d0c81ef10a8a5 Mon Sep 17 00:00:00 2001 From: Mikael Djurfeldt Date: Sat, 28 Mar 1998 10:30:40 +0000 Subject: [PATCH] * boot-9.scm (remove-hook!): New macro. (Thanks to Maciej Stachowiak.) --- ice-9/ChangeLog | 5 +++++ ice-9/boot-9.scm | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/ice-9/ChangeLog b/ice-9/ChangeLog index da7093b8b..baeb90270 100644 --- a/ice-9/ChangeLog +++ b/ice-9/ChangeLog @@ -1,3 +1,8 @@ +1998-03-28 Mikael Djurfeldt + + * boot-9.scm (remove-hook!): New macro. (Thanks to Maciej + Stachowiak.) + 1998-01-30 Mikael Djurfeldt * threads.scm: Added simple error and signal handler. diff --git a/ice-9/boot-9.scm b/ice-9/boot-9.scm index 1b59fae38..bef612632 100644 --- a/ice-9/boot-9.scm +++ b/ice-9/boot-9.scm @@ -550,6 +550,14 @@ (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))))))) + ;;; {Files} ;;;