2

In my config file, I set properties for some faces used by my setup of Doom Emacs. These properties are promptly ignored when Emacs is loaded, and what I see is how things were before. I'm guessing that Doom overwrites my changes—however, seeing as it's rather big, I'd prefer to not leaf through its code in search of these faces, and instead have Emacs tell me when they're changed like it can do with variables via debug-on-variable-change. But, faces aren't variables, debug-on-variable-change doesn't work on them, and I don't see a debug-on-face-change.

Is there a ‘watch for changes’ facility for faces?

5
  • To be clear, I think your question is whether Emacs has a face-watchers functionality. The answer is no. If your question is instead how to debug, to find what is altering (or not altering) some face, then please edit your question to make that clear. Commented Mar 9, 2023 at 16:03
  • To debug the changes, start by using emacs -Q (no init file). Then bisect your init file (1/2, 1/4, 1/8,...) to locate the problem. Commented Mar 9, 2023 at 16:05
  • @Drew Your guess in the first comment is right—so you might as well post it as an answer. As for bisecting the init file—as I mentioned, I'm using Doom which has quite a lot of code and is modular on top of that. Commented Mar 18, 2023 at 7:40
  • Done.................... Commented Mar 18, 2023 at 15:25
  • Bisecting is still likely the way to go - it's a binary search, so it picks up speed. You can also try advising functions or entering them using M-x debug-on-entry, or set breakpoints to the debugger anywhere you like, by inserting (debug) where you want to enter the debugger. Commented Mar 18, 2023 at 15:26

1 Answer 1

2

No, Emacs does not have a face-watchers functionality.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.