Eli Zaretskii writes: >> From: Elijah Gabe Pérez >> Date: Thu, 27 Mar 2025 08:53:25 -0600 >> Cc: mail@daniel-mendler.de, 77224@debbugs.gnu.org, >> Juri Linkov >> Eli Zaretskii writes: >> Btw, a possibly even better way is to modify the cursor looks from the >> hooks of the relevant commands, like overwrite-mode. If some of them >> don't have a hook, we could add a hook. This is better because it >> doesn't unnecessarily "punish" Emacs anywhere else, only the commands >> that could affect the cursor. >> But what if user prefer using a lambda instead a function? For example for a specific mode or action from a >> key binding package such as evil or meow > Sorry, I don't understand: what lambda? Aren't all the modes you want > to catch normal minor modes with a hook? Not only minor mode, also functions (function symbols or anonymous ones). for example if user wants to change cursor appearance if a text at current cursor position have an overlay or whatever, can do it defining a function in their config: #+begin_src elisp (defun my/cursor-change () (string-prefix-p " *" (buffer-name))) (setopt cursor-indicators-conditions `((my/cursor-change hollow "yellow"))) #+end_src or #+begin_src elisp (setopt cursor-indicators-conditions `((,(lambda () (string-prefix-p " *" (buffer-name))) hollow "yellow"))) #+end_src The current code only check if symbol is a variable or a function symbol (since minor modes also defines a variable with same minor mode name) or a lambda, and it must return =non-nil=.