Kim Storm wrote: I've seen little evidence that anybody is actually using custom themes in its current form, so it can hardly be an "important feature" that should uphold the release.
Maybe it might be good to give an overview of the presently available alternatives to Custom Themes and what their advantages and disadvantages are compared to Custom themes. From this comparison, it would appear that Custom Themes fill a need and are worth implementing, but it also makes it is obvious that there is no sense in rushing them hastily into Emacs 22. There is the reportedly widely used and popular color-theme.el. I believe that color-themes can not be disabled. They use setq and setq does not work well with Custom. Global minor modes can be used as themes. They have the big advantage of being _total_ customization themes, working for keybindings and other stuff, as well as for user options. They can be disabled. To properly disable the mode, the mode has to store the current value of an option when it changes it, to restore it when the mode is disabled. That works OK, because the option's value is usually essential to the proper functioning of the minor mode, so the user should not change it while the minor mode is enabled. Minor modes use setq, but in this case, this is probably ideal, because Custom will and _should_ tell the user that customizing the option may not work as expected. This seems to be the case with cua-mode, for instance, which sets transient-mark-mode to t and which, if I understand correctly, makes not much sense without that. So what would be the advantages of (properly implemented) Custom themes? In as far as I see it, there is are only two (closely related) advantages. Firstly, unlike color-themes, Custom Themes work well with Custom. Secondly, they can not only be disabled (minor modes can too), but, unlike with global minor modes, the user can safely override the values they set with other themes or through Custom (but not using setq). Themes and Custom store information allowing for proper conflict resolution (setq does not). (These advantages apply to _properly implemented_ Custom Themes, not to whatever the current code is trying to implement.) The advantage only exists if conflict resolution is implemented in a 100% accurate and intuitive fashion. There is no sense in Custom Themes that more or less work. People will not use them if they do not work 100%. They will use color-theme.el or global minor modes. Sincerely, Luc. _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel