From 119a30f2ba833146fc6bdb0165ea773223580362 Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Tue, 13 Aug 2013 23:37:23 -0400 Subject: [PATCH 1/6] cl not needed since flet was removed in 82903da --- lisp/use-package/use-package.el | 3 --- 1 file changed, 3 deletions(-) diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el index 74ed4c36dab..ed63bd05620 100644 --- a/lisp/use-package/use-package.el +++ b/lisp/use-package/use-package.el @@ -298,9 +298,6 @@ (require 'bytecomp) (require 'diminish nil t) -(eval-when-compile - (require 'cl)) - (declare-function package-installed-p 'package) (declare-function el-get-read-recipe 'el-get) From 29abf59bad60ab9098231ddf2957ee8c9e68637a Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Wed, 14 Aug 2013 00:40:20 -0400 Subject: [PATCH 2/6] macroexpand not needed Since lambda thunking replaced quoting in a76d167. To see why, observe that cases 3 and 4 disassemble to identical code. The difference between cases 1 and 2 shows why the macroexpand was needed originally. (defmacro test-quote (name-string) `(eval-after-load "foo" `(with-elapsed-timer ,(format "Configuring package %s" name-string) (message "test-quote")))) (defmacro test-expand-quote (name-string) `(eval-after-load "foo" ,(macroexpand-all `(with-elapsed-timer ,(format "Configuring package %s" name-string) (message "test-expand-quote"))))) (defmacro test-lambda (name-string) `(eval-after-load "foo" `(,(lambda () (with-elapsed-timer ,(format "Configuring package %s" name-string) (message "test-lambda")))))) (defmacro test-expand-lambda (name-string) `(eval-after-load "foo" `(,(lambda () ,(macroexpand-all `(with-elapsed-timer ,(format "Configuring package %s" name-string) (message "test-lambda"))))))) (disassemble (lambda () (test-quote "testing..."))) (disassemble (lambda () (test-expand-quote "testing..."))) (disassemble (lambda () (test-lambda "testing..."))) (disassemble (lambda () (test-expand-lambda "testing..."))) --- lisp/use-package/use-package.el | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el index ed63bd05620..eb3c7030108 100644 --- a/lisp/use-package/use-package.el +++ b/lisp/use-package/use-package.el @@ -653,10 +653,9 @@ For full documentation. please see commentary. `(eval-after-load ,(if (stringp name) name `',name) `(,(lambda () (if ,requires-test - ,(macroexpand-all - `(with-elapsed-timer - ,(format "Configuring package %s" name-string) - ,config-body))))))) + (with-elapsed-timer + ,(format "Configuring package %s" name-string) + ,config-body)))))) t)) `(if (and ,(or predicate t) ,requires-test) From 9921a76e86751c4e11ba099eb5aaf179742e82d0 Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Wed, 14 Aug 2013 01:12:47 -0400 Subject: [PATCH 3/6] remove after-init-hook for override-global-mode The INIT-VALUE argument to define-minor-mode is t, so it's enabled by default. --- lisp/use-package/bind-key.el | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lisp/use-package/bind-key.el b/lisp/use-package/bind-key.el index c4b3f19deb4..2bae1bf0730 100644 --- a/lisp/use-package/bind-key.el +++ b/lisp/use-package/bind-key.el @@ -87,11 +87,6 @@ (add-to-list 'emulation-mode-map-alists `((override-global-mode . ,override-global-map))) -(add-hook 'after-init-hook - (function - (lambda () - (override-global-mode 1)))) - (defvar personal-keybindings nil) (defmacro bind-key (key-name command &optional keymap) From 61fd933807ff23be89289c23cbc54caa3bdb2426 Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Sat, 31 Aug 2013 10:30:08 -0400 Subject: [PATCH 4/6] with-elapsed-timer: only check verbosity once --- lisp/use-package/use-package.el | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el index eb3c7030108..33aa332fd16 100644 --- a/lisp/use-package/use-package.el +++ b/lisp/use-package/use-package.el @@ -321,18 +321,16 @@ :group 'use-package) (defmacro with-elapsed-timer (text &rest forms) - `(let ((now ,(if use-package-verbose - '(current-time)))) - ,(if use-package-verbose - `(message "%s..." ,text)) - (prog1 - ,@forms - ,(when use-package-verbose - `(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))))))) + (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))))) + `(prog1 ,@forms))) (put 'with-elapsed-timer 'lisp-indent-function 1) From 3d871c79947351459ab5f1b65a4f8ff81bcf570c Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Sat, 12 Oct 2013 13:52:57 -0400 Subject: [PATCH 5/6] make `with-elapsed-timer' hygienic --- lisp/use-package/use-package.el | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el index 33aa332fd16..9e5d2cbc945 100644 --- a/lisp/use-package/use-package.el +++ b/lisp/use-package/use-package.el @@ -322,14 +322,15 @@ (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) From 026c46c057f85335ffd70e84eaf38e8deaf1865a Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Sat, 12 Oct 2013 13:58:37 -0400 Subject: [PATCH 6/6] let with-elapsed-timer return last form --- lisp/use-package/use-package.el | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el index 9e5d2cbc945..f940816c2cc 100644 --- a/lisp/use-package/use-package.el +++ b/lisp/use-package/use-package.el @@ -321,17 +321,18 @@ :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)