OVH Cloud OVH Cloud

compilation des composants d'emacs

4 réponses
Avatar
Pierre Crescenzo
Bonjour,

J'ai une sarge sur plusieurs machines. J'utilise et sur-utilise emacs
(paquet emacs21 version 21.4a-1). Et je ne suis pas seul sur ces
machines dans ce cas.

J'ai l'impression que les composants (*.el) install=E9s par debian le
sont, pour la plupart, en mode non compil=E9 (pas de *.elc
correspondant). J'aimerais savoir s'il est possible de faire quelque
chose de simple, lors de l'installation, pour que tous les *.el soient
compil=E9s en *.elc, pour acc=E9l=E9rer un peu les futurs chargements. Ou s=
'il
y a quelque chose =E0 mettre dans le ".emacs.el" des utilisateurs, pour
qu'=E0 chaque lancement, emacs compile automatiquement tous les composants
qu'il charge (si ce n'est pas d=E9j=E0 fait, bien s=FBr :-)).

Le fait que ce soit (tr=E8s) long les premi=E8res fois m'importe peu.

Merci de vos id=E9es !

A+

[CITATION AL=C9ATOIRE : Consultant : Se dit de celui qui consulte ta
montre, te dit l'heure, et te fait payer la prestation. Pierre
Desproges]

--=20
Pierre Crescenzo
mailto:Pierre@crescenzo.nom.fr
http://www.crescenzo.nom.fr/

4 réponses

Avatar
Frédéric Bothamy
* Pierre Crescenzo [2005-08-24 16:10] :
Bonjour,

J'ai une sarge sur plusieurs machines. J'utilise et sur-utilise emacs
(paquet emacs21 version 21.4a-1). Et je ne suis pas seul sur ces
machines dans ce cas.

J'ai l'impression que les composants (*.el) installés par debian le
sont, pour la plupart, en mode non compilé (pas de *.elc
correspondant). J'aimerais savoir s'il est possible de faire quelque



Tu parles des fichiers .el d'Emacs lui-même ou de paquets fournissant
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).

- 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).

Tout cela est expliqué (avec plus de détails) dans les règles concernant
Emacs pour Debian :

http://www.debian.org/doc/packaging-manuals/debian-emacs-policy

chose de simple, lors de l'installation, pour que tous les *.el soient
compilés en *.elc, pour accélérer un peu les futurs chargements. 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.


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


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Pierre Crescenzo
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 "*Messag es*" ci-dessous qui me donne l'impression que "50emacs-wiki" n'est pas comp ilé 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
[...]

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 ?

Merci !

[CITATION ALÉATOIRE : Entre une mauvaise cuisinière et une
empoisonneuse, il n'y a qu'une différence d'intention. Pierre
Desproges]

--
Pierre Crescenzo
mailto:
http://www.crescenzo.nom.fr/
Avatar
Frédéric Bothamy
* Pierre Crescenzo [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


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Pierre Crescenzo
Bonjour,

Ah, tu parles des fichiers du répertoire /etc/emacs/site-start.d/.
[...]
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/).



OK. C'est clair. Merci pour ces réponses.

A+

[CITATION ALÉATOIRE : Audace : Imprudence qui a réussi. Ambrose Bierce]

--
Pierre Crescenzo
mailto:
http://www.crescenzo.nom.fr/