diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el index f36cebe70d1..5b732c12179 100644 --- a/lisp/use-package/use-package.el +++ b/lisp/use-package/use-package.el @@ -1482,10 +1482,12 @@ deferred until the prefix key sequence is pressed." SYMBOL (SYMBOL . STRING)" (cond + ((not arg) + (list (use-package-as-mode name))) ((symbolp arg) (list arg)) ((stringp arg) - (list (cons (intern (concat (use-package-as-string name) "-mode")) arg))) + (list (cons (use-package-as-mode name) arg))) ((and (consp arg) (stringp (cdr arg))) (list arg)) ((and (not recursed) (listp arg) (listp (cdr arg))) diff --git a/test/lisp/use-package/use-package-tests.el b/test/lisp/use-package/use-package-tests.el index 625e95ca587..c52c3810439 100644 --- a/test/lisp/use-package/use-package-tests.el +++ b/test/lisp/use-package/use-package-tests.el @@ -72,6 +72,18 @@ ) +(ert-deftest use-package-normalize-diminish () + (should (equal (use-package-normalize-diminish 'foopkg :diminish nil) + '(foopkg-mode))) + (should (equal (use-package-normalize-diminish 'foopkg :diminish 'bar) + '(bar))) + (should (equal (use-package-normalize-diminish 'foopkg :diminish "bar") + '((foopkg-mode . "bar")))) + (should (equal (use-package-normalize-diminish 'foopkg :diminish 'foo-mode) + '(foo-mode))) + (should (equal (use-package-normalize-diminish 'foopkg :diminish '(foo . "bar")) + '((foo . "bar"))))) + ;; Local Variables: ;; indent-tabs-mode: nil ;; no-byte-compile: t