~ chicken-core (chicken-5) c4144fa2a6a15cffc947de3676671a44864f2070


commit c4144fa2a6a15cffc947de3676671a44864f2070
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Sat Aug 20 03:28:05 2011 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Sat Aug 20 03:28:05 2011 +0200

    renamed mutate-procedure to mutate-procedure!; deprecated mutate-procedure

diff --git a/lolevel.import.scm b/lolevel.import.scm
index be76dd87..daf41c22 100644
--- a/lolevel.import.scm
+++ b/lolevel.import.scm
@@ -43,7 +43,8 @@
    make-pointer-vector
    make-weak-locative
    move-memory!
-   mutate-procedure
+   mutate-procedure			; DEPRECATED
+   mutate-procedure!
    null-pointer
    null-pointer?
    number-of-bytes
diff --git a/lolevel.scm b/lolevel.scm
index d005c70d..bfeeac8d 100644
--- a/lolevel.scm
+++ b/lolevel.scm
@@ -616,15 +616,17 @@ EOF
   (##sys#check-become-alist alst 'object-become!)
   (##sys#become! alst) )
 
-(define (mutate-procedure old proc)
-  (##sys#check-closure old 'mutate-procedure)
-  (##sys#check-closure proc 'mutate-procedure)
+(define (mutate-procedure! old proc)
+  (##sys#check-closure old 'mutate-procedure!)
+  (##sys#check-closure proc 'mutate-procedure!)
   (let* ([n (##sys#size old)]
 	 [words (##core#inline "C_words" n)]
 	 [new (##core#inline "C_copy_block" old (##sys#make-vector words))] )
     (##sys#become! (list (cons old (proc new))))
     new ) )
 
+(define mutate-procedure mutate-procedure!) ; DEPRECATED
+
 
 ;;; pointer vectors
 
diff --git a/manual/Unit lolevel b/manual/Unit lolevel
index 9f13b3af..ad09a720 100644
--- a/manual/Unit lolevel	
+++ b/manual/Unit lolevel	
@@ -727,18 +727,18 @@ The effect of using {{object-become!}} on evicted data (see {{object-evict}})
 is undefined.
 
 
-==== mutate-procedure
+==== mutate-procedure!
 
-<procedure>(mutate-procedure OLD PROC)</procedure>
+<procedure>(mutate-procedure! OLD PROC)</procedure>
 
 Replaces the procedure {{OLD}} with the result of calling the one-argument
 procedure {{PROC}}. {{PROC}} will receive a copy of {{OLD}} that will be
-identical in behaviour to the result of {{PROC}}:
+identical in behaviour to the result of {{OLD}}:
 
 <enscript highlight=scheme>
  ;;; Replace arbitrary procedure with tracing one:
 
- (mutate-procedure my-proc
+ (mutate-procedure! my-proc
    (lambda (new)
      (lambda args
        (printf "~s called with arguments: ~s~%" new args)
Trap