emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: package.el: bytecode portability across emacs versions


From: Michael Olson
Subject: Re: package.el: bytecode portability across emacs versions
Date: Tue, 29 May 2007 20:44:38 -0400
User-agent: Gnus/5.110007 (No Gnus v0.7) Emacs/22.0.98 (gnu/linux)

David Kastrup <address@hidden> writes:

> Richard Stallman <address@hidden> 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 |

Attachment: pgpUwc0Cza1v_.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]