Michael Markert <[email protected]> writes:
All those states have a `:cursor` spec and that seems to override the default as you found:
Looking at evil-refresh-cursor I see that it ends with
(evil-set-cursor default) (evil-set-cursor cursor)
The second call to evil-set-cursor seems to override the first one, where the value obtained from evil-default-cursor is used.
I see no easy fix for that, because `default' might contain shape and color, or only one of those, or nil (because evil-default-cursor contains a function that does all the job.)
I think a variable that specifies that state-cursors should not override the default cursor would fix it. I don't share your concerns as missing values just mean that it won't be changed.
Instead of adding a new variable right away we should consider what's the current state of affairs. I guess that the original intent of evil-default-cursor was to provide a base and apply further customizations (for the cases they are defined) onto it. IMHO, what is needed is a variable that takes complete responsibility of cursor setting. Such variable would contain a function. Default value would be something like evil-refresh-cursor. Sounds good?