On 9/19/2021 12:39 PM, Achim Gratz wrote:
Ken Brown via Cygwin-apps writes:
A per-user database sounds like a good idea.
Well, the problem is how to maintain it. So let's for the moment skip
that part and see if it would work when we pretend we'd already solved
that problem. An ephemeral rebase is essentially a user-defined
database that gets thrown away immediately, so you can not re-use its
information. We would need to replace emacs with a wrapper script that
checks a cookie file against the system wide rebase database and if the
latter is newer, trigger an ephemeral rebase of the emacs user
directory. The same should be done for each compilation. If that
works, then we can try to figure out how to not constantly rebase stuff
that doesn't need to get rebased again via some sort of user rebase
database.
I'm not sure the rebase of the emacs user directory has to be ephemeral. First
of all, I think we should make /var/lib/rebase/user.d/<username> work as
documented. Users could list their emacs user directory there, and people who
build emacs themselves could also list their emacs build directory. That way
things could be kept reasonably stable in the long run via the autorebase
postinstall script. Implicit in this is that the results of all these rebases
would be stored in the user's rebase database.
After each compilation, but before the new .eln file is loaded, emacs could call
rebaselst with suitable arguments to rebase that new file (and add it to the
user database).
Ken