summaryrefslogtreecommitdiff
path: root/lisp/use-package
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/use-package')
-rw-r--r--lisp/use-package/use-package.el24
1 files changed, 11 insertions, 13 deletions
diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el
index bba24d923f5..d993ce64530 100644
--- a/lisp/use-package/use-package.el
+++ b/lisp/use-package/use-package.el
@@ -207,19 +207,17 @@ value is not assigned even if the keyword is not present in the
:type '(repeat (list symbol sexp sexp)))
(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)))
+ (eval-after-load 'lisp-mode
+ `(let ((sym-regexp (or (bound-and-true-p lisp-mode-symbol-regexp)
+ "\\(?:\\sw\\|\\s_\\|\\\\.\\)+")))
+ (add-to-list
+ 'lisp-imenu-generic-expression
+ (list "Packages"
+ (concat "^\\s-*("
+ ,(eval-when-compile
+ (regexp-opt '("use-package" "require") t))
+ "\\s-+\\(" sym-regexp "\\)")
+ 2)))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;