summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/TODO11
-rw-r--r--lisp/startup.el2
2 files changed, 12 insertions, 1 deletions
diff --git a/etc/TODO b/etc/TODO
index b102bdf35f0..71704f07cfd 100644
--- a/etc/TODO
+++ b/etc/TODO
@@ -968,6 +968,17 @@ addition, toolkit builds create their menu bars in toolkit-specific
parts of code, bypassing xdisp.c, so those parts need to be enhanced
with toolkit-specific code to display the menu bar right to left.
+** Custom
+
+*** Extend :set-after to also mean initialize after.
+If defcustom A specifies :set-after '(B), then if a user customizes
+both A and B, custom will set A after B. But if the user only customizes
+A, then if B is already defined, it gets left at its original setting.
+Instead, if B has not been customized it should be re-initialized
+(on the assumption that the default value depends on A).
+See the places where we manually call custom-reevaluate-setting,
+such as for mail-host-address and user-mail-address in startup.el.
+
** ImageMagick support
*** image-type-header-regexps priorities the jpeg loader over the
diff --git a/lisp/startup.el b/lisp/startup.el
index 2d48bd5df15..bc60bbd08b8 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1298,7 +1298,7 @@ the `--debug-init' option to view a complete error backtrace."
;; Yes, this is ugly, but slightly less so than leaving
;; user-mail-address uninitialized during init file processing.
;; Perhaps we should make :set-after do something like this?
- ;; Ie, extend it to also mean (re)initialize-after.
+ ;; Ie, extend it to also mean (re)initialize-after. See etc/TODO.
(equal user-mail-address
(let (mail-host-address)
(ignore-errors