]> git.eshelyaron.com Git - emacs.git/commitdiff
make `with-elapsed-timer' hygienic
authorNoam Postavsky <npostavs@gmail.com>
Sat, 12 Oct 2013 17:52:57 +0000 (13:52 -0400)
committerNoam Postavsky <npostavs@gmail.com>
Sat, 12 Oct 2013 18:26:50 +0000 (14:26 -0400)
lisp/use-package/use-package.el

index 33aa332fd165d8606877c29d6a84accef89e7801..9e5d2cbc945628c24374653c7055916d04473259 100644 (file)
 
 (defmacro with-elapsed-timer (text &rest forms)
   (if use-package-verbose
-    `(let ((now (current-time)))
-       (message "%s..." ,text)
-       (prog1 ,@forms
-         (let ((elapsed
-                (float-time (time-subtract (current-time) now))))
-           (if (> elapsed ,use-package-minimum-reported-time)
-               (message "%s...done (%.3fs)" ,text elapsed)
-             (message "%s...done" ,text)))))
+      (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)))
 
 (put 'with-elapsed-timer 'lisp-indent-function 1)