1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-13 09:30:24 -08:00

Merge pull request from tarsius/master

use-package-with-elapsed-timer: respect option at runtime
GitHub-reference: https://github.com/jwiegley/use-package/issues/96
This commit is contained in:
John Wiegley 2014-03-10 05:04:59 -05:00
commit c7ff480095

View file

@ -58,19 +58,19 @@
: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))) (declare (indent 1))
(if use-package-verbose
(let ((nowvar (make-symbol "now"))) (let ((nowvar (make-symbol "now")))
`(let ((,nowvar (current-time))) `(if use-package-verbose
(let ((,nowvar (current-time)))
(message "%s..." ,text) (message "%s..." ,text)
(prog1 ,body (prog1 (progn ,@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)
@ -404,7 +404,7 @@ For full documentation. please see commentary.
(put 'use-package 'lisp-indent-function 'defun) (put 'use-package 'lisp-indent-function 'defun)
(defconst use-package-font-lock-keywords (defconst use-package-font-lock-keywords
'(("(\\(use-package\\)\\_>[ \t']*\\(\\(?:\\sw\\|\\s_\\)+\\)?" '(("(\\(use-package\\(?:-with-elapsed-timer\\)?\\)\\_>[ \t']*\\(\\(?:\\sw\\|\\s_\\)+\\)?"
(1 font-lock-keyword-face) (1 font-lock-keyword-face)
(2 font-lock-constant-face nil t)))) (2 font-lock-constant-face nil t))))