Ben Wing <ben(a)666.com> writes:
> OK, we need to create a design document for all of this, including:
>
> PRINCIPLE #1: Whenever you have auto-generated stuff, *CLEARLY*
> indicate this in comments around the stuff. These comments get
> searched for, and used to locate the existing generated stuff to
> replace. Custom currently doesn't do this.
Agreed.
> PRINCIPLE #2: Currently, lots of functions want to add code to the
> .emacs. (e.g. I get prompted for my mail address from
> add-change-log-entry, and then prompted if I want to make this
> permanent). There needs to be a Lisp API...
Actually, the ChangeLog question comes from the `user-mail-address'
function, which uses Custom as a mechanism for saving the settings.
So it doesn't violate the principle #2, because it doesn't attempt to
open the init file itself.
...
> PRINCIPLE #5: Packages are encouraged, as much as possible, to work
> within the customize model and store all their customizations there.
> However, if they really need to have their own init files, these
> files should be placed in .xemacs/, given normal names
> (e.g. saved-abbrevs.el not .abbrevs), and there should be some magic
> comment at the top of the file that causes it to get automatically
> loaded while loading a user's init file. (Alternatively, the
> above-named API could specify a function that lets a package specify
> that they want such-and-such file loaded from the init file, and
> have the specifics of this get handled correctly.)
I agree with this.
> OVERARCHING GOAL: The overarching goal is to provide a unified
> mechanism for packages to store state and setting information about
> the user and what they were doing when XEmacs exited, so that the
> same or a similar environment can be automatically set up the next
> time. In general, we are working more and more towards being a
> truly GUI app where users' settings are easy to change and get
> remembered correctly and consistently from one session to the next,
> rather than requiring nasty hacking in elisp.
That would be cool. Yes, I have interest in this -- notice the
minibuffer-history-saving hack that I wrote and that is now part of
XEmacs -- but I'm afraid I don't have much time to hack on it.
I agree with the directions you gave, and I'll likely help deal with
the startup issues when I have some more time. (Real Work, just like
Real Life, can sometimes suck.)