summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2013-12-16 09:54:33 -0800
committerJohn Wiegley <johnw@newartisans.com>2013-12-16 09:54:33 -0800
commit25ea8ea840b69b62c436f1cbed85a824cfc92221 (patch)
treea17232eca2c45e19896c3b207f5ece7ef6edbc4b
parent7de292c0e92a0d57339330872bdc3202a7def202 (diff)
parent75206228dd7800b9bf3b7878e08c188dcf723c32 (diff)
downloademacs-25ea8ea840.tar.gz
Merge pull request from aspiers/short-mode
allow :mode and :interpreter to accept a string GitHub-reference: https://github.com/jwiegley/use-package/issues/73
-rw-r--r--lisp/use-package/use-package.el20
1 files changed, 15 insertions, 5 deletions
diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el
index 2d75c549b21..a9ba4e5353f 100644
--- a/lisp/use-package/use-package.el
+++ b/lisp/use-package/use-package.el
@@ -78,10 +78,16 @@
;;
;; Similar to `:bind', you can use `:mode' and `:interpreter' to establish a
;; deferred binding within `auto-mode-alist' and `interpreter-mode-alist'.
-;; The specifier to either keyword can be a single cons or a list:
+;; The specifier to either keyword can be a single cons, or a list, or just
+;; a string:
;;
-;; (use-package python-mode
-;; :mode ("\\.py$" . python-mode)
+;; (use-package ruby-mode
+;; :mode "\\.rb\\'"
+;; :interpreter "ruby")
+;;
+;; ;; The package is "python" but the mode is "python-mode":
+;; (use-package python
+;; :mode ("\\.py\\'" . python-mode)
;; :interpreter ("python" . python-mode))
;;
;; If you aren't using `:commands', `:bind', `:mode', or `:interpreter' (all
@@ -421,8 +427,12 @@ For full documentation. please see commentary.
(defines (plist-get-value args :defines))
(idle-body (plist-get args :idle))
(keybindings-alist (plist-get-value args :bind))
- (mode-alist (plist-get-value args :mode))
- (interpreter-alist (plist-get-value args :interpreter))
+ (mode (plist-get-value args :mode))
+ (mode-alist
+ (if (stringp mode) (cons mode name) mode))
+ (interpreter (plist-get-value args :interpreter))
+ (interpreter-alist
+ (if (stringp interpreter) (cons interpreter name) interpreter))
(predicate (plist-get args :if))
(pkg-load-path (plist-get-value args :load-path))
(defines-eval (if (null defines)