Re: compilation des composants d'emacs
* Pierre Crescenzo <Pierre@crescenzo.nom.fr> [2005-08-25 13:48] :
> Bonjour,
>
> > Tu parles des fichiers .el d'Emacs lui-même ou de paquets fournissant
> > des fonctionnalités supplémentaires ?
>
> Des fonctionnalités supplémentaires.
>
> > - Dans le premier cas, les fichiers .el d'Emacs sont compilés lors de
> > la construction du paquet et ils sont placés dans le paquet
> > emacs21-common, les fichiers .el ne sont installés que si tu demandes
> > l'installation du paquet emacs21-el (pas nécessaire pour utiliser
> > simplement Emacs 21).
>
> OK.
>
> > - Pour les fichiers des paquets supplémentaires (par exemple tramp),
> > le paquet fournit des fichiers .el dans un répertoire de
> > /usr/share/emacs/site-lisp/ et chaque version (le mot anglais est
> > flavour) d'Emacs (principalement, emacs21 ou xemacs21) compile les
> > fichiers lors de l'installation du paquet et les place sous
> > /usr/share/<flavour>/site-lisp/ (cela est nécessaire car les fichiers
> > .elc ne sont pas compatibles entre Emacs et XEmacs).
>
> Ce qui me fait penser que tout n'est pas compilé, c'est la note "(source)" lors du chargement des bibliothèques (cf. un extrait du buffer "*Messages*" ci-dessous qui me donne l'impression que "50emacs-wiki" n'est pas compilé mais "byte-opt" oui).
>
> [...]
> Loading 50emacs-wiki (source)...done
> Loading 50emms (source)...done
> Loading 50gettext (source)...done
> Loading 50gnus-bonus-el (source)...done
> Loading 50jde (source)...done
> [...]
> Loading byte-opt...done
> Loading mwheel...done
> [...]
Ah, tu parles des fichiers du répertoire /etc/emacs/site-start.d/. Ces
fichiers (généralement petits) sont simplement des fichiers de
configuration de l'environnement dans Emacs (ajout de répertoires au
load-path, définition des modules chargeables à la demande, etc.). Ils
ne sont pas compilés par défaut (probablement pour qu'ils soient
modifiables par l'administrateur). Si tu veux les compiler toi-même, il
te suffit de les copier dans un répertoire temporaire, d'exécuter
"byte-recompile-directory" dans ce répertoire, puis de redéplacer les
fichiers .elc dans le répertoire d'origine. Note qu'il faudra que tu
fasses cela à chaque fois que les fichiers seront modifiés par les
paquets (a priori, pas très souvent).
> >> Ou s'il y a quelque chose à mettre dans le ".emacs.el" des
> >> utilisateurs, pour qu'à chaque lancement, emacs compile
> >> automatiquement tous les composants qu'il charge (si ce n'est pas
> >> déjà fait, bien sûr :-)).
> >
> > Normalement, tu ne devrais pas avoir à le faire, c'est prêt dès
> > l'installation des paquets.
>
> Cela signifie que tous les paquets dont le chargement est marqué "(source)" n'ont pas à être compilés ?
Non, tu peux très bien le faire, mais je pense que cela ne te fera pas
gagner grand chose en temps d'exécution (en plus, ils ne sont exécutés
qu'une fois au démarrage d'Emacs à la différence des fichiers de
/usr/share/<flavour>/site-lisp/).
Fred
--
Comment poser les questions de manière intelligente ?
http://www.gnurou.org/documents/smart-questions-fr.html
Comment signaler efficacement un bug ?
http://www.chiark.greenend.org.uk/~sgtatham/bugs-fr.html
Reply to: