1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-30 08:09:04 +00:00

Allow :diminish with no arguments

When given no arguments, have :diminish assume it should diminish a
mode named after the current package (the package’s name, with “-mode”
appended, if it’s not already) to an empty string.

When given only a string to diminish an implicit package name to, do
not append “-mode” to the package name if it already ends with
it.  (This is a backwards-incompatible change if someone was
diminishing a package named “foo-mode” implementing `foo-mode-mode`.)

Add test cases for `use-package-normalize-diminish`.

This addresses some of the redundancy mentioned in issue https://github.com/jwiegley/use-package/issues/288.
This commit is contained in:
Joe Wreschnig 2017-06-14 20:24:01 +02:00
parent 463e38b188
commit ca83649a32
2 changed files with 15 additions and 1 deletions

View File

@ -1409,10 +1409,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)))

View File

@ -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