>
Because minor-mode-alist is for displaying an indication of a minormode in the mode line?
Right, but there doesn't appear to be any other more reliable way to know what minor mode is active in a buffer. An alternative I can think of is see if there's buffer local variable that also exists in `minor-mode-list`, but that's still not reliable, hence we have these `desktop-minor-mode-*` vars.
The fundamental reason appears to be desktop.el needs an efficient and reliable way to know what buffer local variables are minor modes, since `minor-mode-list` is just a global list of loaded minor-modes, `minor-mode-alist` is as close as you get.
If my patch make it in, it will not be the first minor mode in emacs that defines an empty string lighter. `xref`, `linum`, `erc-track` and `rcirc` all do this. There are even more examples in the wild. I have at least 8 other packages in my ~/.emacs.d/elpa that do the same thing.
I agree, however, that this is an abuse. There should be perhaps some buffer local variable called `buffer-minor-modes`, but I think this should be a separate issue and a new feature, so perhaps wait til after 26.1?