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 allows using forms such as
(use-package foo :delight)
;; => (delight 'foo-mode)
(use-package foo :delight " f")
;; => (delight 'foo-mode " f")
(use-package foo :delight (a-mode) (b-mode " b")
;; => (delight 'a-mode) (delight 'b-mode " b")
This brings support for `:delight` in line with `:diminish`.
GitHub-reference: https://github.com/jwiegley/use-package/issues/477
This means (use-package foopkg :mode (".foo")) will add (".foo"
. foopkg) into auto-mode-alist instead of the broken (".foo" . nil),
this is more consistent with the behaviour of (use-package foopkg
:mode (".foo" ".bar")).
This is not a pure refactoring, it also fixes a bug where
:bind ([keysym] . "string") would actually bind keysym to nil (i.e.,
unbind it). It now binds to "string" as expected.