]> git.eshelyaron.com Git - emacs.git/commitdiff
let with-elapsed-timer return last form
authorNoam Postavsky <npostavs@gmail.com>
Sat, 12 Oct 2013 17:58:37 +0000 (13:58 -0400)
committerNoam Postavsky <npostavs@gmail.com>
Sat, 12 Oct 2013 18:26:50 +0000 (14:26 -0400)
lisp/use-package/use-package.el

index 9e5d2cbc945628c24374653c7055916d04473259..f940816c2cce1138d04aa00ec14b3005300c81b1 100644 (file)
   :group 'use-package)
 
 (defmacro with-elapsed-timer (text &rest forms)
-  (if use-package-verbose
-      (let ((nowvar (make-symbol "now")))
-        `(let ((,nowvar (current-time)))
-           (message "%s..." ,text)
-           (prog1 ,@forms
-             (let ((elapsed
-                    (float-time (time-subtract (current-time) ,nowvar))))
-               (if (> elapsed ,use-package-minimum-reported-time)
-                   (message "%s...done (%.3fs)" ,text elapsed)
-                 (message "%s...done" ,text))))))
-    `(prog1 ,@forms)))
+  (let ((body `(progn ,@forms)))
+    (if use-package-verbose
+        (let ((nowvar (make-symbol "now")))
+          `(let ((,nowvar (current-time)))
+             (message "%s..." ,text)
+             (prog1 ,body
+               (let ((elapsed
+                      (float-time (time-subtract (current-time) ,nowvar))))
+                 (if (> elapsed ,use-package-minimum-reported-time)
+                     (message "%s...done (%.3fs)" ,text elapsed)
+                   (message "%s...done" ,text))))))
+      ,body)))
 
 (put 'with-elapsed-timer 'lisp-indent-function 1)