use-package-with-elapsed-timer: respect option at runtime

Previously the option `use-package-verbose' was consulted at macro
expansion time, and as a result customizing the option did nothing,
without also recompiling `use-package.el'.
This commit is contained in:
Jonas Bernoulli 2014-03-09 18:50:01 +01:00
parent 11195fa213
commit ea3a475d0b

View file

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