From ea3a475d0be35a26429f8f7adf06ebabc8179586 Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Sun, 9 Mar 2014 18:50:01 +0100 Subject: [PATCH 1/3] 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'. --- lisp/use-package/use-package.el | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el index 45d361a4dd8..473eefb5090 100644 --- a/lisp/use-package/use-package.el +++ b/lisp/use-package/use-package.el @@ -58,19 +58,18 @@ :type 'number :group 'use-package) -(defmacro use-package-with-elapsed-timer (text &rest 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))) +(defmacro use-package-with-elapsed-timer (text &rest body) + (let ((nowvar (make-symbol "now"))) + `(if use-package-verbose + (let ((,nowvar (current-time))) + (message "%s..." ,text) + (prog1 (progn ,@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 'use-package-with-elapsed-timer 'lisp-indent-function 1) From 2d7ecd867a233e070bfcd377445060a2a0ced572 Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Sun, 9 Mar 2014 18:55:54 +0100 Subject: [PATCH 2/3] use-package-with-elapsed-timer: add declare indent rule --- lisp/use-package/use-package.el | 1 + 1 file changed, 1 insertion(+) diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el index 473eefb5090..6e97e9346f4 100644 --- a/lisp/use-package/use-package.el +++ b/lisp/use-package/use-package.el @@ -59,6 +59,7 @@ :group 'use-package) (defmacro use-package-with-elapsed-timer (text &rest body) + (declare (indent 1)) (let ((nowvar (make-symbol "now"))) `(if use-package-verbose (let ((,nowvar (current-time))) From f32d24350c4c842e9f9b6a399167c4ce744f9a86 Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Sun, 9 Mar 2014 18:59:06 +0100 Subject: [PATCH 3/3] use-package-font-lock-keywords: add use-package-with-elapsed-timer --- lisp/use-package/use-package.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el index 6e97e9346f4..2523921a1f4 100644 --- a/lisp/use-package/use-package.el +++ b/lisp/use-package/use-package.el @@ -404,7 +404,7 @@ For full documentation. please see commentary. (put 'use-package 'lisp-indent-function 'defun) (defconst use-package-font-lock-keywords - '(("(\\(use-package\\)\\_>[ \t']*\\(\\(?:\\sw\\|\\s_\\)+\\)?" + '(("(\\(use-package\\(?:-with-elapsed-timer\\)?\\)\\_>[ \t']*\\(\\(?:\\sw\\|\\s_\\)+\\)?" (1 font-lock-keyword-face) (2 font-lock-constant-face nil t))))