Commit dcbe466684c0
Changed files (1)
.emacs.d
lisp
use-package
.emacs.d/lisp/use-package/use-package.el
@@ -44,6 +44,7 @@
(require 'diminish nil t)
(require 'bytecomp)
(eval-when-compile (require 'cl))
+(eval-when-compile (require 'regexp-opt))
(declare-function package-installed-p 'package)
@@ -167,6 +168,29 @@ then your byte-compiled init file is as minimal as possible."
:type 'boolean
:group 'use-package)
+(defcustom use-package-enable-imenu-support nil
+ "If non-nil, adjust `lisp-imenu-generic-expression' to include
+support for finding `use-package' and `require' forms.
+
+Must be set before loading use-package."
+ :type 'boolean
+ :group 'use-package)
+
+(when use-package-enable-imenu-support
+ ;; Not defined in Emacs 24
+ (defvar lisp-mode-symbol-regexp
+ "\\(?:\\sw\\|\\s_\\|\\\\.\\)+")
+ (add-to-list
+ 'lisp-imenu-generic-expression
+ (list "Package"
+ (purecopy (concat "^\\s-*("
+ (eval-when-compile
+ (regexp-opt
+ '("use-package" "require")
+ t))
+ "\\s-+\\(" lisp-mode-symbol-regexp "\\)"))
+ 2)))
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Utility functions
@@ -477,9 +501,7 @@ manually updated package."
(if (package-installed-p package)
t
(if (or (assoc package package-archive-contents) no-refresh)
- (if (boundp 'package-selected-packages)
- (package-install package t)
- (package-install package))
+ (package-install package)
(progn
(package-refresh-contents)
(use-package-ensure-elpa package t)))))
@@ -911,7 +933,7 @@ deferred until the prefix key sequence is pressed."
(lambda (feat)
`(eval-after-load
(quote ,feat)
- (quote (require (quote ,name)))))
+ (quote (require (quote ,name) nil t))))
features)))
(defun use-package-handler/:after (name keyword arg rest state)