Fix order of arguments to HASH-TABLE/MODIFY!.
authorTaylor R Campbell <campbell@mumble.net>
Wed, 8 Jun 2011 18:21:07 +0000 (18:21 +0000)
committerTaylor R Campbell <campbell@mumble.net>
Wed, 8 Jun 2011 18:21:07 +0000 (18:21 +0000)
With any luck, nobody was using this except me outside the tree.
And it's not documented, so that nobody character will get what he
deserves.

Before:

   (hash-table/modify! hash-table key
     (lambda ()
       ...
         a gigantic
         heffable hoary herralump of
         an expression
       ...)
     tiny)

After:

   (hash-table/modify! hash-table key tiny
     (lambda ()
       ...
         a gigantic
         heffable hoary herralump of
         an expression
       ...))

src/imail/imail-imap.scm
src/runtime/hashtb.scm

index a4fcb8278270f60e22cec30cfa41505abe08347e..f0f18bb15787354124ea7b503ac2b73463c52e29 100644 (file)
@@ -1378,9 +1378,8 @@ USA.
              (let ((keywords (select-uncached-keywords message keywords)))
                (if (pair? keywords)
                    (begin
-                     (hash-table/modify! message-sets keywords
-                       (lambda (messages) (cons message messages))
-                       '())
+                     (hash-table/modify! message-sets keywords '()
+                       (lambda (messages) (cons message messages)))
                      (set! count (+ count 1)))))))))))
     (values message-sets count)))
 
index acb098d4f4e0dd45abea17fc000b9027a72a340a..3e85fa19920f10f806e091d0a0e4e4fb5aa25fe7 100644 (file)
@@ -136,18 +136,14 @@ USA.
   (guarantee-hash-table table 'HASH-TABLE/PUT!)
   ((table-type-method:put! (table-type table)) table key datum))
 
-(define (hash-table/modify! table key procedure default)
+(define (hash-table/modify! table key default procedure)
   (guarantee-hash-table table 'HASH-TABLE/MODIFY!)
-  ((table-type-method:modify! (table-type table)) table key procedure default))
+  ((table-type-method:modify! (table-type table)) table key default procedure))
 
-(define (hash-table/intern! table key get-datum)
-  (hash-table/modify! table
-                     key
-                     (lambda (datum)
-                       (if (eq? datum default-marker)
-                           (get-datum)
-                           datum))
-                     default-marker))
+(define (hash-table/intern! table key generator)
+  (hash-table/modify! table key default-marker
+    (lambda (datum)
+      (if (eq? datum default-marker) (generator) datum))))
 
 (define (hash-table/remove! table key)
   (guarantee-hash-table table 'HASH-TABLE/REMOVE!)
@@ -645,7 +641,7 @@ USA.
 
 (define (make-method:modify! compute-hash! key=? entry-type)
   (declare (integrate-operator compute-hash! key=? entry-type))
-  (define (method:modify! table key procedure default)
+  (define (method:modify! table key default procedure)
     (let ((hash (compute-hash! table key)))
       (let loop ((p (vector-ref (table-buckets table) hash)) (q #f))
        (if (pair? p)