Next Previous Contents

3. Développement

3.1 Comment compiler sans basculer dans un terminal ?

La compilation de programmes s'effectue généralement par l'intermédiaire du programme make (voir http://www.april.org/groupes/doc/make/make.html).

Emacs fournit une interface de compilation, qui s'exécute par le biais de la commande compile (M-x compile). Une fenêtre contenant le buffer *compilation* apparaît alors, et affiche la sortie standard de la compilation. Il peut être utile de créer un raccourci pour compile au moyen de local-set-key ou de global-set-key (j'utilise personnellement C-c RET).

L'intérêt de cette interface est la gestion des erreurs. Lorsque la compilation ne réussit pas, une convention est que le compilateur affiche un message d'erreur du type :


client.c:33: parse error before `{'

Emacs analyse cette ligne, et peut en déduire qu'il y a une erreur dans le fichier client.c à la ligne 33. Les différentes erreurs sont répertoriées, ce qui autorise alors le mode compilation à proposer une navigation dans celles-ci ainsi que des liens vers les fichiers concernés.

Le mode compilation possède les raccourcis suivants :

3.2 Est-ce possible de compiler un document LaTeX sans douleur ?

Emacs fournit bien sûr un mode LaTeX, et une des possibilités de ce mode est la compilation du fichier édité : Emacs permet de lancer un processus de compilation sur le buffer courant ou sur une région.

Commandes LaTeX :

Afin de faciliter l'édition de documents, le mode LaTeX propose deux raccourcis pour insérer les commandes LaTeX begin (C-c C-o) et end (C-c C-e).

3.3 Où trouver un interpréteur Lisp ?

Emacs-Lisp

Emacs est un éditeur de textes basé sur le langage Lisp. Il est donc normal qu'il fournisse une excellente interface de développement Lisp. Le langage utilisé est un dialecte de Common-Lisp : l'Emacs-Lisp.

Emacs fournit un mode majeur pour éditer toutes sortes de codes Lisp, mais il possède également un mode Emacs-Lisp, qui propose de plus l'évaluation d'expressions (sexps).

Il existe plusieurs façons d'utiliser ce mode :

Emacs permet d'évaluer des expressions Lisp de plusieurs manières :

Autres Lisps

Emacs offre des interfaces avec d'autres lisps.

A faire...

3.4 Comment utiliser le contrôle de version ?

VC (Version Control) vous permet d'utiliser un système de contrôle de version directement sous Emacs. VC fournit une interface uniforme quelque soit le système de contrôle de version qui est utilisé (RCS, CVS et SCCS). Les commandes de VC sont conceptuellement proches des commandes RCS, ainsi presque tout ce que vous pouvez faire avec RCS peut être fait à travers VC.

RCS utilise normalement le locking, c'est-à-dire qu'une seule personne peut modifier un fichier. Pour cela, les fichiers de travail sont en mode lecture seule. Si vous souhaitez apporter des modifications et les intégrer au master (le fichier qui contient l'istorique des modifications), vous devez demander au système de contrôle de rendre le fichier de travail accessible en écriture pour vous et le vérouiller. Un seul et unique utilisateur peut faire cela à un instant donné. Lorsque vous validerez vos modifications (par un checkin), le fichier sera dévérouillé, et le fichier de travail de nouveau en lecture seule.

Une fois que vous avez créé un fichier, vous devez l'enregistrer dans le système de contrôle de version par la commande M-x vc-register (C-x v i) qui crééra le fichier master (dont le nom se termine par ,v) correspondant au fichier édité. Le fichier master représente l'état actuel du fichier plus tous les historiques de changement, ainsi que les entrées de journalisation decrivant en quelques mots les modifications apportées pour chaque version du fichier. Ainsi, si vous éditez le fichier foo.c, la commande vc-register crééra le fichier foo.c,v.

Ensuite, chaque fois que vous visiterez un fichier qui est sous le sytème de contrôle, Emacs l'indiquera par exemple avec RCS-1.2 dans la fenêtre d'état (signalant ainsi que la version du fichier est la 1.2). Le caractère entre RCS et le numéro de version indique le status du fichier. `-' signifie que le fichier n'est pas vérouillé (si le locking est utilisé) ou n'est pas modifié (si le locking n'est pas utilisé). `:' indique que le fichier est vérouillé, ou qu'il est modifié. Si le fichier est vérouillé par un autre utilisateur (par ex, benj), c'est indiqué comme suit `RCS:benj:1.2'.

Si vous avez créé un fichier, enregistré sous le système de contrôle et que vous voulez y apporter des modifications, vous ouvrez donc le fichier (C-x C-f). Le fichier de travail étant en lecture seule, vous ne pouvez pas le modifier. Vous devez d'abord vérouiller le fichier (M-x vc-toggle-read-only, C-x C-q). Vous apportez des modifications, et une fois que vous voulez les intégrer dans le master, vous utilisez la commande vc-next-action (C-x v v). Celle-ci ouvrira un buffer pour que vous puissez entrer le message de journalisation (log) indiquant en quelques mots les raisons des modifications. Pour valider, tapez C-c C-c (M-x compile).

En fait, la commande C-x v v peut suffire pour la plupart des opérations, une fois un fichier enregistré auprès du système de contrôle. L'action entrainée par cette commande dépendra de l'état du fichier et du fait que le système de contrôle de version utilise le locking ou non.

Pour une documentation sur le contrôle de version indépendant d'Emacs, voir la page du groupe de documentation APRIL ( http://www.april.org/Travaux/Doc/)


Next Previous Contents