Allen Li <darkfel...@felesatra.moe> writes: > I see. In my opinion those occurrences should be fixed even if no one > is reporting issues because it is bad/improper code, and it is not > especially surprising that no one has reported it yet; there is always a > first person who reports a bug, and there are always more old bugs to be > found in a big project like Emacs/Org mode. > > This is annoying to reproduce because it relies on the normal Emacs > startup process, which loads packages. Anyway, I have found a reproduction. > > ... > 3. Press RET on the customize link. > > Note that the Customize UI says "CHANGED outside Customize."
I was also able to reproduce the problem following your steps. Thank you! Unfortunately, fixing the occurrences of (defvar foo nil) is not completely straightforward. Some of them are real defvars. If someone is willing to check all the occurrences of (defvar +[^ ]+ +nil) and remove nil values where we merely put a defvar to silence byte-compiler, please do it. Also, I feel that my Elisp-foo is not good enough in this specific scenario. I invite others to reply if they feel that changing (defvar foo nil) to (defvar foo) for externally defined variables is _not_ universally safe. Best, Ihor