If I had to implement themes from scratch, my philosophy would be that if two loaded themes conflict, then the most recently added one takes precedence.
That sounds like a good approach. I see a few approaches that could make sense: 1. Most recent takes priority. 2. Let user specify the priority order. 3. Don't allow loading themes that conflict. 4. Ask the user what to do, each time there is a conflict. I am not sure which of these is best. Are there other apps that allow loading multiple themes at once? If so, how do they handle this? If you remove the most recently added theme, then the theme added just before that one becomes "top dog". This would seem simple and intuitive. Yes. This requires unconditional loading as the basic theme adding operation. I do not understand "unconditional loading". Could you explain what you mean by that? I do not use XEmacs and I do not know whether the XEmacs version is actually in active use and works according to some consistent philosophy. I do not know how important compatibility with XEmacs in the Emacs Custom Themes implementation. It is not crucial, unless they want to work with us on this. Don't worry about it. replaced with this: ;; *Please note*: this feature is experimental and needs more work. ;; In Emacs 22, everything should work fine if you only add and never ;; remove themes. But removing themes only works seamlessly in very ;; basic situations. In more complex usage, it may not work as expected. ;; For instance, after removing themes, `require-theme' might not produce ;; the expected results for themes that have already been added before. ;; In such situations, you can just directly load the theme file to get ;; the intended results.\n\n" That is good. _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel