David Kastrup writes: > Richard Stallman writes: > >> I know that sharing bytecode is bad. I just didn't know what to do >> about it. >> >> You could put the bytecode in >> /usr/local/share/emacs/VERSION/site-lisp, which is a standard element >> of load-path, version-specific. The source code could go in >> /usr/local/share/emacs/site-lisp. If package.el finds the source >> code and not the binary, it can compile for the current Emacs version. > > Emacs is not well-equipped to have source and byte code in different > directories. For example, it messes with the load path order: Emacs > will prefer loading an .el file in an earlier place in the load-path > over a .elc file in a later place. > > It also stops byte-recompile-directory from working and makes > list-load-path-shadow complain. > > I don't say that such a system could not be supported, but it would > need code changes outside of package.el itself. If you put symlinks to the source files in the same directory as the byte-compiled files (or just copy them there), and don't include the version-independent directory in load-path, there is no problem (to the best of my knowledge). I'm trying to get something to this effect added to the Debian Emacs packaging policy, but the policy-makers are rather slow. -- Michael Olson -- FSF Associate Member #652 | http://mwolson.org/ -- Jabber: mwolson_at_hcoop.net | /` |\ | | | Sysadmin -- Hobbies: Lisp, GP2X, HCoop | |_] | \| |_| Projects: Emacs, Muse, ERC, EMMS, ErBot, DVC, Planner |