[rucksack-cvs] CVS rucksack

alemmens alemmens at common-lisp.net
Thu Aug 3 11:52:46 UTC 2006


Update of /project/rucksack/cvsroot/rucksack
In directory clnet:/tmp/cvs-serv21536

Modified Files:
	transactions.lisp 
Log Message:
WITH-TRANSACTION now returns the result of the body as first value.  (From Edi Weitz.)


--- /project/rucksack/cvsroot/rucksack/transactions.lisp	2006/08/03 11:39:39	1.4
+++ /project/rucksack/cvsroot/rucksack/transactions.lisp	2006/08/03 11:52:46	1.5
@@ -1,4 +1,4 @@
-;; $Id: transactions.lisp,v 1.4 2006/08/03 11:39:39 alemmens Exp $
+;; $Id: transactions.lisp,v 1.5 2006/08/03 11:52:46 alemmens Exp $
 
 (in-package :rucksack)
 
@@ -337,13 +337,13 @@
                      (setf ,transaction (transaction-start :rucksack ,rucksack , at args))
                      (let ((*transaction* ,transaction))
                        (with-simple-restart (abort "Abort ~S" ,transaction)
-                         (setf ,result , at body)
+                         (setf ,result (progn , at body))
                          (transaction-commit ,transaction)
                          (setf ,committed t)))
                      ;; Normal exit from the WITH-SIMPLE-RESTART above -- either
                      ;; everything went well or we aborted -- the ,COMMITTED will tell
                      ;; us. In either case we jump out of the RETRY loop.
-                     (return-from ,transaction (values ,committed ,result)))
+                     (return-from ,transaction (values ,result ,committed)))
                 (unless ,committed
                   (transaction-rollback ,transaction)))))
             ;; Normal exit from the above block -- we selected the RETRY restart.




More information about the rucksack-cvs mailing list