When follow-mode is enabled for a buffer, this will show a segment left
of buffer-info (which contains the file name) like "Follow M/N", where N
is the total number of follow windows for this buffer and M is the index
of the selected window.
* Improve force redisplay advice
By unconditionally advising `split-window' we ensure that redisplay:
1. Always triggers in the right window, so it solves an issue with
`org-attach' calling `fit-window-to-buffer' from a different window.
2. It's not tied to a buffer that may outlive its popup, so it solves
the issue with `org-set-tags-command' which buffer kept lurking around
with `doom-modeline--size-hacked-p' set to t.
As all known workarounds, this will trigger a quick sequence
redisplay -> fit -> redisplay that causes some little flickering when
the window effectively changes size in-between (which is usually the
case with popups).
Moreover, `fit-window-to-buffer' always transforms a height in pixels
to a height in characters and this operation unavoidably rounds up
to the next integer height in characters when the mode-line is of a
different size than the default character, hence introducing some
small amount of padding at the bottom of the window.
In order to avoid small but yet unpleasant visual artifacts whenever
possible, we only trigger a redisplay when it is strictly required,
that is when the mode-line height effectively differs from the default
character height.
To facilitate the construction of a "vanilla height" modeline when
`doom-modeline-height' <= 0 and `doom-modeline-icon' is nil we ensure
that this simpler modeline will be created, no matter the platform.
* Allow unhacked modeline with icons
Allow a modeline with default height to have icons.
It's recommended to also set `all-the-icons-scale-factor' to 1 in
order to ensure that the modeline will indeed have default height.
* rename flymake--backend-state to flymake--state
s.a. 6e10086901
* adding alias for flymake--backend-state
This way the code should be compatible with old and new versions of
flymake.
Recently the [change in vc-git in emacs](3572613550)
broke modeline state in remote files as it prepends a string in the
beginning and cannot retrieve relative file path to pass as git command
argument.
The fix here ensures that the prefix in the beginning of the file path
doesn't break the `(vc-state)` command by passing local file name of the
remote files.
Fix#463