From e2e6f9a44b580c6d30c9c168cbe48000c97c5fb6 Mon Sep 17 00:00:00 2001 From: Alex Branham Date: Tue, 20 Mar 2018 11:40:26 -0500 Subject: [PATCH] Enable lexical binding This supersedes https://github.com/jwiegley/use-package/issues/617 and closes https://github.com/jwiegley/use-package/issues/648 --- lisp/use-package/use-package-bind-key.el | 6 +- lisp/use-package/use-package-chords.el | 2 +- lisp/use-package/use-package-core.el | 82 +++++++++---------- lisp/use-package/use-package-delight.el | 6 +- lisp/use-package/use-package-diminish.el | 4 +- .../use-package-ensure-system-package.el | 8 +- lisp/use-package/use-package-ensure.el | 16 ++-- lisp/use-package/use-package-jump.el | 2 +- lisp/use-package/use-package-lint.el | 2 +- lisp/use-package/use-package.el | 2 +- test/lisp/use-package/use-package-tests.el | 2 +- 11 files changed, 66 insertions(+), 66 deletions(-) diff --git a/lisp/use-package/use-package-bind-key.el b/lisp/use-package/use-package-bind-key.el index d17ecb2cf75..10b5b483d05 100644 --- a/lisp/use-package/use-package-bind-key.el +++ b/lisp/use-package/use-package-bind-key.el @@ -1,4 +1,4 @@ -;;; use-package-bind-key.el --- Support for the :bind/:bind-keymap keywords +;;; use-package-bind-key.el --- Support for the :bind/:bind-keymap keywords -*- lexical-binding: t; -*- ;; Copyright (C) 2012-2017 John Wiegley @@ -127,7 +127,7 @@ deferred until the prefix key sequence is pressed." ;;;###autoload (defun use-package-handler/:bind - (name keyword args rest state &optional bind-macro) + (name _keyword args rest state &optional bind-macro) (use-package-concat (use-package-process-keywords name rest state) `(,@(mapcar @@ -148,7 +148,7 @@ deferred until the prefix key sequence is pressed." ;;;###autoload (defun use-package-handler/:bind-keymap - (name keyword args rest state &optional override) + (name _keyword args rest state &optional override) (use-package-concat (use-package-process-keywords name rest state) (mapcar diff --git a/lisp/use-package/use-package-chords.el b/lisp/use-package/use-package-chords.el index 63a9737109f..936ff228999 100644 --- a/lisp/use-package/use-package-chords.el +++ b/lisp/use-package/use-package-chords.el @@ -1,4 +1,4 @@ -;;; use-package-chords.el --- key-chord keyword for use-package +;;; use-package-chords.el --- key-chord keyword for use-package -*- lexical-binding: t; -*- ;; Copyright (C) 2015-2017 Justin Talbott diff --git a/lisp/use-package/use-package-core.el b/lisp/use-package/use-package-core.el index bd18c972303..9f7828f43ef 100644 --- a/lisp/use-package/use-package-core.el +++ b/lisp/use-package/use-package-core.el @@ -1,4 +1,4 @@ -;;; use-package-core.el --- A configuration macro for simplifying your .emacs +;;; use-package-core.el --- A configuration macro for simplifying your .emacs -*- lexical-binding: t; -*- ;; Copyright (C) 2012-2017 John Wiegley @@ -47,10 +47,9 @@ (defsubst hash-table-keys (hash-table) "Return a list of keys in HASH-TABLE." (cl-loop for k being the hash-keys of hash-table collect k)) - (require 'subr-x)) + (eval-when-compile (require 'subr-x))) (eval-when-compile - (require 'cl) (require 'regexp-opt)) (defgroup use-package nil @@ -300,7 +299,7 @@ include support for finding `use-package' and `require' forms. Must be set before loading use-package." :type 'boolean :set - #'(lambda (sym value) + #'(lambda (_sym value) (eval-after-load 'lisp-mode (if value `(add-to-list 'lisp-imenu-generic-expression @@ -546,7 +545,7 @@ extending any keys already present." name tail plist merge-function)) (use-package-error error-string)))))) -(defun use-package-unalias-keywords (name args) +(defun use-package-unalias-keywords (_name args) (setq args (cl-nsubstitute :if :when args)) (let (temp) (while (setq temp (plist-get args :unless)) @@ -779,7 +778,7 @@ no more than once." (setq ,loaded t ,result ,arg)))) ,@(funcall f `((funcall ,next)))))) -(defsubst use-package-normalize-value (label arg) +(defsubst use-package-normalize-value (_label arg) "Normalize the Lisp value given by ARG. The argument LABEL is ignored." (cond ((null arg) nil) @@ -801,7 +800,7 @@ The argument LABEL is ignored." (use-package-error (concat label " wants a symbol, or list of symbols"))))) -(defun use-package-normalize-symlist (name keyword args) +(defun use-package-normalize-symlist (_name keyword args) (use-package-as-one (symbol-name keyword) args #'use-package-normalize-symbols)) @@ -817,7 +816,7 @@ The argument LABEL is ignored." (use-package-error (concat label " wants a symbol, or nested list of symbols"))))) -(defun use-package-normalize-recursive-symlist (name keyword args) +(defun use-package-normalize-recursive-symlist (_name keyword args) (use-package-as-one (symbol-name keyword) args #'use-package-normalize-recursive-symbols)) @@ -839,7 +838,7 @@ The argument LABEL is ignored." (use-package-error (concat label " wants a directory path, or list of paths"))))) -(defun use-package-normalize-predicate (name keyword args) +(defun use-package-normalize-predicate (_name keyword args) (if (null args) t (use-package-only-one (symbol-name keyword) args @@ -857,7 +856,7 @@ The argument LABEL is ignored." (macroexpand form) form)) args)) -(defun use-package-normalize-forms (name keyword args) +(defun use-package-normalize-forms (_name keyword args) (use-package-normalize-form (symbol-name keyword) args)) (defun use-package-normalize-pairs @@ -942,7 +941,7 @@ If RECURSED is non-nil, recurse into sublists." #'use-package-recognize-function name))) -(defun use-package-autoloads-mode (name keyword args) +(defun use-package-autoloads-mode (_name _keyword args) (mapcar #'(lambda (x) (cons (cdr x) 'command)) (cl-remove-if-not #'(lambda (x) @@ -1055,20 +1054,21 @@ meaning: ;; Don't alias this to `ignore', as that will cause the resulting ;; function to be interactive. -(defun use-package-normalize/:disabled (name keyword arg)) +(defun use-package-normalize/:disabled (_name _keyword _arg) + "Do nothing, return nil.") -(defun use-package-handler/:disabled (name keyword arg rest state) +(defun use-package-handler/:disabled (name _keyword _arg rest state) (use-package-process-keywords name rest state)) ;;;; :if, :when and :unless -(defun use-package-normalize-test (name keyword args) +(defun use-package-normalize-test (_name keyword args) (use-package-only-one (symbol-name keyword) args #'use-package-normalize-value)) (defalias 'use-package-normalize/:if 'use-package-normalize-test) -(defun use-package-handler/:if (name keyword pred rest state) +(defun use-package-handler/:if (name _keyword pred rest state) (let ((body (use-package-process-keywords name rest state))) `((when ,pred ,@body)))) @@ -1078,7 +1078,7 @@ meaning: (defalias 'use-package-normalize/:unless 'use-package-normalize-test) -(defun use-package-handler/:unless (name keyword pred rest state) +(defun use-package-handler/:unless (name _keyword pred rest state) (let ((body (use-package-process-keywords name rest state))) `((unless ,pred ,@body)))) @@ -1086,7 +1086,7 @@ meaning: (defalias 'use-package-normalize/:requires 'use-package-normalize-symlist) -(defun use-package-handler/:requires (name keyword requires rest state) +(defun use-package-handler/:requires (name _keyword requires rest state) (let ((body (use-package-process-keywords name rest state))) (if (null requires) body @@ -1097,11 +1097,11 @@ meaning: ;;;; :load-path -(defun use-package-normalize/:load-path (name keyword args) +(defun use-package-normalize/:load-path (_name keyword args) (use-package-as-one (symbol-name keyword) args #'use-package-normalize-paths)) -(defun use-package-handler/:load-path (name keyword arg rest state) +(defun use-package-handler/:load-path (name _keyword arg rest state) (let ((body (use-package-process-keywords name rest state))) (use-package-concat (mapcar #'(lambda (path) @@ -1113,28 +1113,28 @@ meaning: (defalias 'use-package-normalize/:no-require 'use-package-normalize-predicate) -(defun use-package-handler/:no-require (name keyword arg rest state) +(defun use-package-handler/:no-require (name _keyword _arg rest state) (use-package-process-keywords name rest state)) ;;;; :defines (defalias 'use-package-normalize/:defines 'use-package-normalize-symlist) -(defun use-package-handler/:defines (name keyword arg rest state) +(defun use-package-handler/:defines (name _keyword _arg rest state) (use-package-process-keywords name rest state)) ;;;; :functions (defalias 'use-package-normalize/:functions 'use-package-normalize-symlist) -(defun use-package-handler/:functions (name keyword arg rest state) +(defun use-package-handler/:functions (name _keyword _arg rest state) (use-package-process-keywords name rest state)) ;;;; :preface (defalias 'use-package-normalize/:preface 'use-package-normalize-forms) -(defun use-package-handler/:preface (name keyword arg rest state) +(defun use-package-handler/:preface (name _keyword arg rest state) (let ((body (use-package-process-keywords name rest state))) (use-package-concat (when use-package-compute-statistics @@ -1148,14 +1148,14 @@ meaning: ;;;; :catch (defvar use-package--form) -(defvar use-package--hush-function #'(lambda (keyword body) body)) +(defvar use-package--hush-function #'(lambda (_keyword body) body)) (defsubst use-package-hush (context keyword body) `((condition-case-unless-debug err ,(macroexp-progn body) (error (funcall ,context ,keyword err))))) -(defun use-package-normalize/:catch (name keyword args) +(defun use-package-normalize/:catch (_name keyword args) (if (null args) t (use-package-only-one (symbol-name keyword) args @@ -1199,7 +1199,7 @@ meaning: (defalias 'use-package-normalize/:interpreter 'use-package-normalize-mode) (defalias 'use-package-autoloads/:interpreter 'use-package-autoloads-mode) -(defun use-package-handler/:interpreter (name keyword arg rest state) +(defun use-package-handler/:interpreter (name _keyword arg rest state) (use-package-handle-mode name 'interpreter-mode-alist arg rest state)) ;;;; :mode @@ -1207,7 +1207,7 @@ meaning: (defalias 'use-package-normalize/:mode 'use-package-normalize-mode) (defalias 'use-package-autoloads/:mode 'use-package-autoloads-mode) -(defun use-package-handler/:mode (name keyword arg rest state) +(defun use-package-handler/:mode (name _keyword arg rest state) (use-package-handle-mode name 'auto-mode-alist arg rest state)) ;;;; :magic @@ -1215,7 +1215,7 @@ meaning: (defalias 'use-package-normalize/:magic 'use-package-normalize-mode) (defalias 'use-package-autoloads/:magic 'use-package-autoloads-mode) -(defun use-package-handler/:magic (name keyword arg rest state) +(defun use-package-handler/:magic (name _keyword arg rest state) (use-package-handle-mode name 'magic-mode-alist arg rest state)) ;;;; :magic-fallback @@ -1223,7 +1223,7 @@ meaning: (defalias 'use-package-normalize/:magic-fallback 'use-package-normalize-mode) (defalias 'use-package-autoloads/:magic-fallback 'use-package-autoloads-mode) -(defun use-package-handler/:magic-fallback (name keyword arg rest state) +(defun use-package-handler/:magic-fallback (name _keyword arg rest state) (use-package-handle-mode name 'magic-fallback-mode-alist arg rest state)) ;;;; :hook @@ -1250,7 +1250,7 @@ meaning: (defalias 'use-package-autoloads/:hook 'use-package-autoloads-mode) -(defun use-package-handler/:hook (name keyword args rest state) +(defun use-package-handler/:hook (name _keyword args rest state) "Generate use-package custom keyword code." (use-package-concat (use-package-process-keywords name rest state) @@ -1273,7 +1273,7 @@ meaning: (defalias 'use-package-normalize/:commands 'use-package-normalize-symlist) -(defun use-package-handler/:commands (name keyword arg rest state) +(defun use-package-handler/:commands (name _keyword arg rest state) (use-package-concat ;; Since we deferring load, establish any necessary autoloads, and also ;; keep the byte-compiler happy. @@ -1295,7 +1295,7 @@ meaning: (defalias 'use-package-normalize/:defer 'use-package-normalize-predicate) -(defun use-package-handler/:defer (name keyword arg rest state) +(defun use-package-handler/:defer (name _keyword arg rest state) (let ((body (use-package-process-keywords name rest state))) (use-package-concat ;; Load the package after a set amount of idle time, if the argument to @@ -1351,7 +1351,7 @@ no keyword implies `:all'." ((listp features) (use-package-require-after-load (cons :all features) body)))) -(defun use-package-handler/:after (name keyword arg rest state) +(defun use-package-handler/:after (name _keyword arg rest state) (let ((body (use-package-process-keywords name rest state)) (uses (use-package-after-count-uses arg))) (if (or (null uses) (null body)) @@ -1366,12 +1366,12 @@ no keyword implies `:all'." (defalias 'use-package-normalize/:demand 'use-package-normalize-predicate) -(defun use-package-handler/:demand (name keyword arg rest state) +(defun use-package-handler/:demand (name _keyword _arg rest state) (use-package-process-keywords name rest state)) ;;;; :custom -(defun use-package-normalize/:custom (name keyword args) +(defun use-package-normalize/:custom (_name keyword args) "Normalize use-package custom keyword." (use-package-as-one (symbol-name keyword) args #'(lambda (label arg) @@ -1383,7 +1383,7 @@ no keyword implies `:all'." (list arg) arg)))) -(defun use-package-handler/:custom (name keyword args rest state) +(defun use-package-handler/:custom (name _keyword args rest state) "Generate use-package custom keyword code." (use-package-concat (mapcar @@ -1399,7 +1399,7 @@ no keyword implies `:all'." ;;;; :custom-face -(defun use-package-normalize/:custom-face (name-symbol keyword arg) +(defun use-package-normalize/:custom-face (name-symbol _keyword arg) "Normalize use-package custom-face keyword." (let ((error-msg (format "%s wants a ( ) or list of these" @@ -1416,7 +1416,7 @@ no keyword implies `:all'." (> (length def) 2)) (use-package-error error-msg)))))) -(defun use-package-handler/:custom-face (name keyword args rest state) +(defun use-package-handler/:custom-face (name _keyword args rest state) "Generate use-package custom-face keyword code." (use-package-concat (mapcar #'(lambda (def) `(custom-set-faces (quote ,def))) args) @@ -1426,7 +1426,7 @@ no keyword implies `:all'." (defalias 'use-package-normalize/:init 'use-package-normalize-forms) -(defun use-package-handler/:init (name keyword arg rest state) +(defun use-package-handler/:init (name _keyword arg rest state) (use-package-concat (when use-package-compute-statistics `((use-package-statistics-gather :init ',name nil))) @@ -1451,7 +1451,7 @@ no keyword implies `:all'." args (list args))) -(defun use-package-handler/:load (name keyword arg rest state) +(defun use-package-handler/:load (name _keyword arg rest state) (let ((body (use-package-process-keywords name rest state))) (cl-dolist (pkg arg) (setq body (use-package-require (if (eq t pkg) name pkg) nil body))) @@ -1461,7 +1461,7 @@ no keyword implies `:all'." (defalias 'use-package-normalize/:config 'use-package-normalize-forms) -(defun use-package-handler/:config (name keyword arg rest state) +(defun use-package-handler/:config (name _keyword arg rest state) (let* ((body (use-package-process-keywords name rest state)) (name-symbol (use-package-as-symbol name))) (use-package-concat diff --git a/lisp/use-package/use-package-delight.el b/lisp/use-package/use-package-delight.el index 9d4f6acf2de..85d5c7cb4d6 100644 --- a/lisp/use-package/use-package-delight.el +++ b/lisp/use-package/use-package-delight.el @@ -1,4 +1,4 @@ -;;; use-package-delight.el --- Support for the :delight keyword +;;; use-package-delight.el --- Support for the :delight keyword -*- lexical-binding: t; -*- ;; Copyright (C) 2012-2017 John Wiegley @@ -52,7 +52,7 @@ ":delight expects `delight' arguments or a list of them")))) ;;;###autoload -(defun use-package-normalize/:delight (name keyword args) +(defun use-package-normalize/:delight (name _keyword args) "Normalize arguments to delight." (cond ((null args) `((,(use-package-as-mode name) nil ,name))) @@ -77,7 +77,7 @@ args))))) ;;;###autoload -(defun use-package-handler/:delight (name keyword args rest state) +(defun use-package-handler/:delight (name _keyword args rest state) (let ((body (use-package-process-keywords name rest state))) (use-package-concat body diff --git a/lisp/use-package/use-package-diminish.el b/lisp/use-package/use-package-diminish.el index c2da62257e6..1f3895f42cd 100644 --- a/lisp/use-package/use-package-diminish.el +++ b/lisp/use-package/use-package-diminish.el @@ -1,4 +1,4 @@ -;;; use-package-diminish.el --- Support for the :diminish keyword +;;; use-package-diminish.el --- Support for the :diminish keyword -*- lexical-binding: t; -*- ;; Copyright (C) 2012-2017 John Wiegley @@ -62,7 +62,7 @@ (apply-partially #'use-package-normalize-diminish name) t)) ;;;###autoload -(defun use-package-handler/:diminish (name keyword arg rest state) +(defun use-package-handler/:diminish (name _keyword arg rest state) (let ((body (use-package-process-keywords name rest state))) (use-package-concat (mapcar #'(lambda (var) diff --git a/lisp/use-package/use-package-ensure-system-package.el b/lisp/use-package/use-package-ensure-system-package.el index e4b3e32b547..476a4f2b930 100644 --- a/lisp/use-package/use-package-ensure-system-package.el +++ b/lisp/use-package/use-package-ensure-system-package.el @@ -1,4 +1,4 @@ -;;; use-package-ensure-system-package.el --- auto install system packages -*- lexical: t; -*- +;;; use-package-ensure-system-package.el --- auto install system packages -*- lexical-binding: t; -*- ;; Copyright (C) 2017 Justin Talbott @@ -43,10 +43,10 @@ (use-package-ensure-system-package-install-command (symbol-name (cdr arg)))))))) ;;;###autoload -(defun use-package-normalize/:ensure-system-package (name-symbol keyword args) +(defun use-package-normalize/:ensure-system-package (_name-symbol keyword args) "Turn `arg' into a list of cons-es of (`package-name' . `install-command')." (use-package-only-one (symbol-name keyword) args - (lambda (label arg) + (lambda (_label arg) (cond ((and (listp arg) (listp (cdr arg))) (mapcar #'use-package-ensure-system-package-consify arg)) @@ -54,7 +54,7 @@ (list (use-package-ensure-system-package-consify arg))))))) ;;;###autoload -(defun use-package-handler/:ensure-system-package (name keyword arg rest state) +(defun use-package-handler/:ensure-system-package (name _keyword arg rest state) "Execute the handler for `:ensure-system-package' keyword in `use-package'." (let ((body (use-package-process-keywords name rest state))) (use-package-concat diff --git a/lisp/use-package/use-package-ensure.el b/lisp/use-package/use-package-ensure.el index 1a76b883e1c..50005a9e990 100644 --- a/lisp/use-package/use-package-ensure.el +++ b/lisp/use-package/use-package-ensure.el @@ -1,4 +1,4 @@ -;;; use-package-ensure.el --- Support for the :ensure and :pin keywords +;;; use-package-ensure.el --- Support for the :ensure and :pin keywords -*- lexical-binding: t; -*- ;; Copyright (C) 2012-2017 John Wiegley @@ -76,9 +76,9 @@ The default value uses package.el to install the package." ;;;; :pin -(defun use-package-normalize/:pin (name keyword args) +(defun use-package-normalize/:pin (_name keyword args) (use-package-only-one (symbol-name keyword) args - #'(lambda (label arg) + #'(lambda (_label arg) (cond ((stringp arg) arg) ((use-package-non-nil-symbolp arg) (symbol-name arg)) @@ -116,7 +116,7 @@ manually updated package." (unless (bound-and-true-p package--initialized) (package-initialize t)))) -(defun use-package-handler/:pin (name keyword archive-name rest state) +(defun use-package-handler/:pin (name _keyword archive-name rest state) (let ((body (use-package-process-keywords name rest state)) (pin-form (if archive-name `(use-package-pin-package ',(use-package-as-symbol name) @@ -133,11 +133,11 @@ manually updated package." (defvar package-archive-contents) ;;;###autoload -(defun use-package-normalize/:ensure (name keyword args) +(defun use-package-normalize/:ensure (_name keyword args) (if (null args) (list t) (use-package-only-one (symbol-name keyword) args - #'(lambda (label arg) + #'(lambda (_label arg) (cond ((symbolp arg) (list arg)) @@ -152,7 +152,7 @@ manually updated package." (concat ":ensure wants an optional package name " "(an unquoted symbol name), or ( :pin )")))))))) -(defun use-package-ensure-elpa (name args state &optional no-refresh) +(defun use-package-ensure-elpa (name args _state &optional _no-refresh) (dolist (ensure args) (let ((package (or (and (eq ensure t) (use-package-as-symbol name)) @@ -183,7 +183,7 @@ manually updated package." :error)))))))) ;;;###autoload -(defun use-package-handler/:ensure (name keyword ensure rest state) +(defun use-package-handler/:ensure (name _keyword ensure rest state) (let* ((body (use-package-process-keywords name rest state))) ;; We want to avoid installing packages when the `use-package' macro is ;; being macro-expanded by elisp completion (see `lisp--local-variables'), diff --git a/lisp/use-package/use-package-jump.el b/lisp/use-package/use-package-jump.el index 31d1b054060..4044ad16564 100644 --- a/lisp/use-package/use-package-jump.el +++ b/lisp/use-package/use-package-jump.el @@ -1,4 +1,4 @@ -;;; use-package-jump.el --- Attempt to jump to a use-package declaration +;;; use-package-jump.el --- Attempt to jump to a use-package declaration -*- lexical-binding: t; -*- ;; Copyright (C) 2012-2017 John Wiegley diff --git a/lisp/use-package/use-package-lint.el b/lisp/use-package/use-package-lint.el index 53c682842f9..c6e7c3c0ce2 100644 --- a/lisp/use-package/use-package-lint.el +++ b/lisp/use-package/use-package-lint.el @@ -1,4 +1,4 @@ -;;; use-package-lint.el --- Attempt to find errors in use-package declarations +;;; use-package-lint.el --- Attempt to find errors in use-package declarations -*- lexical-binding: t; -*- ;; Copyright (C) 2012-2017 John Wiegley diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el index 5f98db1bed7..1a8fff895f6 100644 --- a/lisp/use-package/use-package.el +++ b/lisp/use-package/use-package.el @@ -1,4 +1,4 @@ -;;; use-package.el --- A configuration macro for simplifying your .emacs +;;; use-package.el --- A configuration macro for simplifying your .emacs -*- lexical-binding: t; -*- ;; Copyright (C) 2012-2017 John Wiegley diff --git a/test/lisp/use-package/use-package-tests.el b/test/lisp/use-package/use-package-tests.el index fc86fa63f81..55d9959fb10 100644 --- a/test/lisp/use-package/use-package-tests.el +++ b/test/lisp/use-package/use-package-tests.el @@ -1,4 +1,4 @@ -;;; use-package-tests.el --- Tests for use-package.el +;;; use-package-tests.el --- Tests for use-package.el -*- lexical-binding: t; -*- ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the GNU General Public License as -- 2.39.2