<?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="0.92">
	<channel>
    <title>aime-emacs-hacks</title>
    <link>http://aime-emacs-hacks.blog2geek.com</link>
    <description>Blog specialise; geek et geek attitude.</description>
    <language>fr-FR</language><item>
        <title>Un peu d\'ion</title>
        <link>http://aime-emacs-hacks.blog2geek.com/un-peu-d-ion-192.html</link>
        <description>
Le blog de notre ami Sly (http://yay.blog2geek.com/) ne manque pas de nous parler de Ion (en majuscule, ce qui m&amp;#39;échappe).  En tant qu&amp;#39;adepte de ce même window manager, je n&amp;#39;hésiterai pas à vous fournir une killer-feature que trop peu de personnes utilisent à mon gout.

Vous être un Ion-l33t, et vous utilisez une fenêtre par frame.  Mais que ne voyez vous pas de superflu ? Ces foutues barres en haut des fenêtres !

Mais grâce à notre ami David Tweed, vous ne verrez plus ces affreuses choses immondes quand elles ne sont pas nécessaires.


Alors foncez sur http://www.modeemi.fi/~tuomov/repos/ion-scripts-3/scripts/min_tabs.lua !
</description>
		<pubDate>Tue, 01 Aug 2006 17:47:00 GMT</pubDate>
      </item><item>
        <title>Septembre 1752</title>
        <link>http://aime-emacs-hacks.blog2geek.com/septembre-1752-184.html</link>
        <description>
 



Amusant, ce post sur la ML de développement d&amp;#39;Emacs.  Question récurrente, 


qui plus est.

La question est la suivante : Est-ce que le calendrier d&amp;#39;Emacs comporte un bug quand on lui demande le mois de septembre de 1752 ?

Question amusante s&amp;#39;il en est, puisque le calendrier d&amp;#39;Emacs affiche cela :

September 1752    
Su Mo Tu We Th Fr Sa 
1  2 
3  4  5  6  7  8  9 
10 11 12 13 14 15 16 
17 18 19 20 21 22 23 
24 25 26 27 28 29 30

Ça vous semble correct ? Oui et non. La réforme du calendrier grégorien est censé avoir été adoptée en Angleterre en 1752, le 3 septembre. Elle consistait, pour uniformisation, à ajouter 11 jours (au 18ième) au classique calendrier Julien calendrier. D&amp;#39;où l&amp;#39;amusant résultat de cal(1):

September 1752   
Su Mo Tu We Th Fr Sa
1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30


À noter que cal(1) est à coté de la plaque : Emacs offre la possibilité de voir un calendrier en Julien, Gregorien, Calendrier Révolutionnaire, ... D&amp;#39;autant qu&amp;#39;en France, le changement Julien/Grégorien s&amp;#39;est fait le 9 décembre... 1582 ! Et encore, ça dépend des endroits :-)


 
</description>
		<pubDate>Thu, 20 Jul 2006 00:28:00 GMT</pubDate>
      </item><item>
        <title>Des propriétés</title>
        <link>http://aime-emacs-hacks.blog2geek.com/des-proprietes-174.html</link>
        <description>Une liste d&amp;#39;association est, tout simplement, une map. Elle associe à une valeur une autre valeur.

Quand cette liste d&amp;#39;association est associée à un symbole (variable, fonctions, ...) on parle de liste de propriétés (plist).

Habituellement, cette liste, stockée dans une partie du symbole qu&amp;#39;Emacs gère, associe des symboles à des valeurs. L&amp;#39;avantage des symboles, c&amp;#39;est qu&amp;#39;ils ne sont pas une valeur, mais qu&amp;#39;ils sont la manière de les représenter (opposition syntaxe/sémantique).

Un symbole est précédé d&amp;#39;un &amp;#39; généralement. Le symbole &amp;#39;toto est différent du symbole &amp;#39;tata.

Donc, pour revenir à nos propriétés, la propriété d&amp;#39;une fonction est, par exemple, l&amp;#39;endroit où elle a été définie, qu&amp;#39;est-ce qu&amp;#39;elle fait dans la vie, est-ce qu&amp;#39;elle est considérée comme dangereuse (auquel cas prévenir l&amp;#39;utilisateur avant l&amp;#39;execution, ...).

Par exemple :

M-: (symbol-plist &amp;#39;upcase-region)
(disabled t)

Le symbole &amp;#39;disabled a pour correspondant t, ce qui signifie que cette fonction est invalidée. Si vous appelez cette fonction, Emacs vous hurlera dessus en disant « disabled because new users often find it confusing ».

Ho gosh ! Comment c&amp;#39;est arrivé ! Qui a intercepté l&amp;#39;appel ?

Il s&amp;#39;agit de novice.el, l&amp;#39;ami des débutants, qui vous proposera d&amp;#39;enabler cette commande. Il définit une variable disabled-command-function qui sera examinée par le code C d&amp;#39;Emacs quand une fonction marquée `disabled&amp;#39; s&amp;#39;exécute.

Le code C d&amp;#39;Emacs appellera simplement (get &amp;#39;upcase-region &amp;#39;disabled), qui lui renverra t. Il en déduira qu&amp;#39;il faut faire l&amp;#39;appel.

Mais si (get) existe, il doit y avoir un (set), non ? Non. En fait cette fonction s&amp;#39;appelle (put), mais fait exactement ce que vous voulez.

Vous pouvez approfondir ce chapitre par le manuel d&amp;#39;info, bien que cela ne me semble pas nécessaire.</description>
		<pubDate>Tue, 18 Jul 2006 15:47:00 GMT</pubDate>
      </item><item>
        <title>Clavier Dvorak</title>
        <link>http://aime-emacs-hacks.blog2geek.com/clavier-dvorak-170.html</link>
        <description>Je vous parlais dans un précédent ticket (http://aime-emacs-hacks.blog2geek.com/du-dvorak-169.html) du fait que je sois un Dvorak addict pour le bien des mes mains, et, bon aussi, pour mes performances de fra(p)pe.

Quoiqu&amp;#39;il en soit, j&amp;#39;ai fait la glorieuse acquisition du TypeMatrix EZR-2030 [1].

Je ne suis ni un grand fan de la publicité non sollicité, ni même grand fan de mettre mes (rares) sous dans des accessoires inutiles.

Mais présentement, mes mains n&amp;#39;en finissent plus de me remercier.

Enfin une boite qui a compris que si les touches étaient en quinconce sur un clavier c&amp;#39;est (sic) pour que les tiges de métal de la machine à écrire ne s&amp;#39;entrechoquent pas. Et bien oui, l&amp;#39;EZR-2030 a les touches alignées. De ce point de vue, peut-être que l&amp;#39;approche du SmartKey [2] est sensiblement meilleure : des touches qui s&amp;#39;éloignent en grandissant, comme les doigts ont tendances à le faire.

Mais il ne faut pas blâmer l&amp;#39;EZR-2030 sur ce plan. Ce clavier ergonomique offre aussi la particularité d&amp;#39;être compact, transportable (« Jamais sans mon 2030 !»), plaçable sur un clavier de portable, et ... switch hardware entre Qwerty et Dvorak :-)

Ce clavier est le parfait cocktail que je cherchais, et pour un prix tout ce qu&amp;#39;il y a de plus abordable dans le milieu. Si le SmartKey est à 89 euros, je préfère ajouter 10 euros et avoir l&amp;#39;EZR-2030.

Pitié pour vous, ne prenez pas les pseudos-claviers ergonomiques de Microsoft, qui n&amp;#39;a pas compris ce que c&amp;#39;était.

Vivez bien, vivez mieux, vivez Dvorak, amen.

Footnotes: 
[1]  http://www.typematrix.com/ezr2030/
[2]  http://www.darwinkeyboards.com/smart_core.htm
</description>
		<pubDate>Tue, 18 Jul 2006 15:15:00 GMT</pubDate>
      </item><item>
        <title>Du dvorak</title>
        <link>http://aime-emacs-hacks.blog2geek.com/du-dvorak-169.html</link>
        <description>L&amp;#39;histoire du clavier dvorak (DSK, Dvorak Simplified Keyboard), n&amp;#39;est pas le point de ce ticket [1]. Je veux juste vous parler de mon expérience avec ce révolutionnaire mapping de clavier.

Révolutionnaire, pas tant que ça, puisque l&amp;#39;idée est bête comme chou : Le clavier standard, QWERTY, AZERTY, peut importe, n&amp;#39;est pas optimisé pour la frappe. Il s&amp;#39;agissait, dans les temps anciens, de ralentir la frappe pour permettre au ruban de la machine à écrire de se replacer.

Ainsi, quelques bonshommes dont l&amp;#39;histoire retiendra principalement Dvorak, se sont attelés à leurs tables de statistiques pour optimiser la frappe. Avec des outils plutôt manuels, ils déduisirent ce qui s&amp;#39;appelle désormais le « Dvorak ». D&amp;#39;autres mapping, un poil plus optimisés grâce à des études plus poussées, plus brute-forces,  n&amp;#39;ont pas connu la notoriété du très suffisant Dvorak.

Fantastique, les touches sur lesquelles je tapes sont en majorité sur la « Home row », la ligne centrale du clavier.  J&amp;#39;ai un mapping dit « Dvorak US », donc adapté à la langue anglaise. Taper des phrases comme « Si tu tiens à doser ton sucre », ne nécessite que deux mouvements de doigts ! Les autres lettres sont accessibles juste en appuyant sur la touche qui est déjà sous un doigt.

Évidemment, je sous entends que vous savez taper avec tous vos doigts. Si ce n&amp;#39;est pas le cas, essayez TypingMaster, un logiciel que j&amp;#39;affectionne tout particulièrement. C&amp;#39;est avec lui que j&amp;#39;ai appris à vraiment taper, que ce soit en QWERTY ou en Dvorak, avec tous mes doigts et bien évidemment sans jeter un oeil au clavier.

J&amp;#39;ai commencé le Dvorak en fin de prépa, pendant les vacances principalement. Je n&amp;#39;avais pas de clavier Dvorak, et c&amp;#39;est pas plus mal, ça oblige à se souvenir de toutes les touches.

Aujourd&amp;#39;hui, je me remercie (smack) d&amp;#39;être passé à ce layout, mes mains me remercient tout me remercie.

Footnotes: 
[1]  http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard pour ça.</description>
		<pubDate>Tue, 18 Jul 2006 15:02:00 GMT</pubDate>
      </item><item>
        <title>Du plus simple binding</title>
        <link>http://aime-emacs-hacks.blog2geek.com/du-plus-simple-binding-162.html</link>
        <description>
Ah ! Vous codez en Lisp, et vous êtes un homme heureux.

Mais vous avez une furieuse envie que l&amp;#39;appuie sur la combinaison C-c p vous donne une paire de parenthèse, allez savoir pourquoi [1].

Donc vous définissez quelque chose comme ça :



(global-set-key [(control c) (p)] &amp;#39;mafonction)


ou bien

(global-set-key (kbd &quot;C-c p&quot;) &amp;#39;mafonction)


ou encore

(global-set-key [?\\C-c ?p] &amp;#39;mafonction)



Pour la suite, on utilisera seulement le premier formalisme.

Tout d&amp;#39;abord, codons mafonction.


(defun mafonction ()
(insert &quot;()&quot;)
(backward-char))



Aaaahah ! Cela ne marchera pas. Il FAUT que mafonction soit interactive, donc contienne comme premier « appel », interactive :

(defun mafonction ()
(interactive)
(insert &quot;()&quot;)
(backward-char))


Cela dit, définir une fonction pour ça c&amp;#39;est sûrement pas forcément nécessaire. Une lambda fonction, fonction anonyme (non nommée) à grosse saveur fonctionnelle, suffit largement:


(global-set-key [(control c) (p)] (lambda () (interactive)
(insert &quot;()&quot;)
(backward-char)))


On est content, ça marche, mais quelle nécessité d&amp;#39;avoir ce binding créé pour tous les modes ? (global-set-key) a en effet un impact GLOBAL !

Et bien les « local map », les mapping locaux, sont là pour ça. Pour un mode foo-mode, il y a de forte chance pour qu&amp;#39;il définisse une map foo-mode-map.

Il suffit alors de  faire cela :


(require &amp;#39;lisp-mode)
(define-key emacs-lisp-mode-map [(control c) (p)]
(lambda () (interactive)
(insert &quot;()&quot;)
(backward-char)))


Et c&amp;#39;est gagné, et proprement :-)

Donc n&amp;#39;oubliez pas les règles :
- Il existe plein de notation pour décrire une séquence de touche,
- Il s&amp;#39;agit de fonction interactive,
- Mieux vaut utiliser une fonction anonyme généralement,
- Utilisez les maps locales.

Footnotes: 
[1]  D&amp;#39;autant que c&amp;#39;est ce que fait M-(, mais bah.


 
</description>
		<pubDate>Mon, 17 Jul 2006 23:50:00 GMT</pubDate>
      </item><item>
        <title>Fioritures.</title>
        <link>http://aime-emacs-hacks.blog2geek.com/fioritures-157.html</link>
        <description>
Dans sa configuration par défaut (emacs -q), Emacs a un monceau de fioritures qu&amp;#39;il s&amp;#39;agit d&amp;#39;enlever très rapidement. Cliquer ? Très peu pour nous !

Voyons voir. On a en trop, les barre de défilements, la barre d&amp;#39;outils, et la barre de menu. À quoi bon les garder ? Ça prend de la place, et tout est accessible en une combinaison de clavier !

Préférez toujours le clavier, qui vous évite des déplacements de la main intempestifs. Personnellement, j&amp;#39;investis peu d&amp;#39;argent dans le matos informatique, mais il y a une chose sur laquelle je suis concernée : ma santé. (Si !) Le clavier en fait parti (Canal carpien, ...) et j&amp;#39;ai choisi de prendre l&amp;#39;EZR-2030 de TypeMatrix, sur lequel je ferai probablement un ticket.

Pour autant, allez, enlevez-moi toutes ces fioritures !

Dans votre ~/.emacs (ou ~/.emacs.d/init.el)

(menu-bar-mode -1)
(scroll-bar-mode -1)
(tool-bar-mode -1)

Merci, ... pour vous !
</description>
		<pubDate>Sun, 16 Jul 2006 18:05:00 GMT</pubDate>
      </item><item>
        <title>De l\'ELisp</title>
        <link>http://aime-emacs-hacks.blog2geek.com/de-l-elisp-155.html</link>
        <description>Non, je ne vous apprendrez pas à coder en Lisp.  Voilà qui devrait répondre à cette question qui était sur, à n&amp;#39;en point douter, toutes les bouches il y a encore quelques heures.

Ce blog n&amp;#39;est pas là pour vous apprendre à coder en Emacs Lisp, mais veut vous aider à avancer dans le monde d&amp;#39;Emacs. Si vous avez des questions d&amp;#39;Elisp, vous pouvez me demander, pas de problème, mais ce blog n&amp;#39;est pas là pour ça.

Je vous conseille tout simplement de parcourir en diagonale le manuel Elisp (M-x info RET m elisp RET ou M-: (info &quot;elisp&quot;)), qui est très bien détaillé.

Si ce qui vous intéresse, c&amp;#39;est juste le Lisp POUR Emacs, ne vous plongez pas dans des bouquins de Common Lisp, de Scheme ou autre. Regardez juste ce qu&amp;#39;il vous faut.

Le Lisp est un merveilleux langage dans lequel « tout est faisable », l&amp;#39;Emacs Lisp est une branche à part, et ne dispose pas des fonctionnalités du Common Lisp par exemple.

On m&amp;#39;a demandé récemment comment afficher un message dans le minibuffer. Je cris à la négligence ! RTFM, quoi !

Bref, (message &quot;hello&quot;). Si vous voulez faire une fonction qui « wrap » message pour afficher son paramètre, n&amp;#39;oubliez pas %s :

(defun my-message (text)
  &quot;Print the message TEXT in the minibuffer.&quot;
  (message &quot;%s&quot; text))</description>
		<pubDate>Sat, 15 Jul 2006 17:01:00 GMT</pubDate>
      </item><item>
        <title>Des hooks</title>
        <link>http://aime-emacs-hacks.blog2geek.com/des-hooks-154.html</link>
        <description>Parmi les choses les moins comprises d&amp;#39;Emacs par les néophytes, et qui font parti de l&amp;#39;indispensable, il y a les hooks.

Un hook est une variable où vous stockez une ou plusieurs fonctions qui doivent être appelées à certaines occasions.

Emacs offre cette possibilité afin d&amp;#39;étendre facilement le code de fonctions qui le désirent.

Pour ajouter une fonction à un hook, il suffit d&amp;#39;utiliser add-hook, par exemple :

(add-hook &amp;#39;c-mode-common-hook &amp;#39;doxymacs-mode)

ajoute le mode doxymacs dès l&amp;#39;utilisation d&amp;#39;un mode C.

La plupart, si ce n&amp;#39;est tous, des modes définissent des hooks de lancements, par exemple, pour le mode emacs-lisp, emacs-lisp-mode-hook.

Les conventions de nommage sont claires et strictes, mais pas toujours suivi :
- Si la variable se termine par -hook, c&amp;#39;est un « hook normal », une liste de fonctions sans argument,
- Par -functions ou -hooks, il s&amp;#39;agit aussi d&amp;#39;une liste de fonctions, mais qui peuvent prendre des arguments,
- Par -function, il s&amp;#39;agit d&amp;#39;une seule fonction.

Fonction est pris au sens large, n&amp;#39;importe quoi appelable par (funcall) est valide.

Amusez vous à faire un (beep) au lancement de plein de truc, la vie sera plus belle !</description>
		<pubDate>Fri, 14 Jul 2006 15:13:00 GMT</pubDate>
      </item><item>
        <title>C-x b</title>
        <link>http://aime-emacs-hacks.blog2geek.com/c-x-b-152.html</link>
        <description>Ça aussi, ça fait parti des choses que l&amp;#39;utilisateur régulier d&amp;#39;Emacs ne comprend pas chez le néophyte.

Comment diable fait-il pour change de buffer sans iswitchb-mode ?

C-x b, dans sa version la plus pure, est codée de la manière suivante (schématiquement) :

(defun switch-to-buffer (buffer &amp;optional norecord)
  (interactive &quot;BBuffer: &quot;)
  ...)

Apprenons à lire un peu de l&amp;#39;Emacs Lisp. J&amp;#39;ai ici défini une fonction `switch-to-buffer&amp;#39;, qui prend en argument un buffer et un `norecord&amp;#39; « booléen » optionnel.

La fonction est dite interactive, appelable par M-x, et bindable à une touche. Le paramètre d&amp;#39;« interactive » est &quot;BBuffer: &quot;, remarquez le premier B : il indique quel est le type de l&amp;#39;argument interactif. B ici, c&amp;#39;est pour Buffer.

Royal ! Et donc l&amp;#39;argument `buffer&amp;#39; est rempli interactivement par un `chooser&amp;#39;. Contrairement à ce qui est souvent pensé, iswitchb ne recode pas ce `chooser&amp;#39; mais remplace la fonction switch-to-buffer :

    (substitute-key-definition &amp;#39;switch-to-buffer ; normally C-x b
			       &amp;#39;iswitchb-buffer map global-map)

Autrement dit, substitue tous les raccourcis clavier associés à switch-to-buffer pour iswitchb-buffer.

Que fait ensuite ce mode ? Pourquoi est-ce si surréaliste de ne pas l&amp;#39;avoir ?

Ce mode vous propose, quand vous faites C-x b, dans le minibuffer la liste de tous les buffers, et vous permet diverses formes de pattern matching pour obtenir votre choix.

M-x iswitchb-mode ! In-dis-pen-sable !</description>
		<pubDate>Thu, 13 Jul 2006 17:55:00 GMT</pubDate>
      </item><item>
        <title>A quoi pense un Emacs Addict ...</title>
        <link>http://aime-emacs-hacks.blog2geek.com/a-quoi-pense-un-emacs-addict--151.html</link>
        <description>Quand il a bu !

Aussi incroyable que cela puisse paraître, un Emacs Addict boit aussi. Seulement, si il a un ticket à faire sur son blog2geek (tm), il prendra soin d&amp;#39;activer flyspell.

Bon sang, vous ne savez pas ce qu&amp;#39;est flyspell ? Flyspell, c&amp;#39;est une surcouche de ispell (ou aspell) pour Emacs qui souligne (et colore façon bonbon acidulé) vos fautes.

Et l&amp;#39;Emacs Addict activera flyspell parce qu&amp;#39;évidemment, il utilise Emacs pour faire ses tickets. Je reviendrai un jour sur ce qu&amp;#39;est le Dvorak, mais le geek avoué ne tape pas en « AZERTY », « QWERTY » ou quoique ce soit, mais en « &amp;#39;,.py » (hum), et ça l&amp;#39;indispose pour taper les accents, qui n&amp;#39;existent pas sur son clavier, au même titre que sur le QWERTY.

Et bien l&amp;#39;Emacs Addict fera M-\\, pour choisir son « Input Method » par défaut, et mettra french-postfix, parce qu&amp;#39;il sait que ça optimise sa création de ses accents. Encore un sujet sur lequel je reviendrai.

Au final, l&amp;#39;Emacs Addict tapera son magnifique billet sur un fond de musique pris d&amp;#39;un quelconque animation Flash d&amp;#39;Albino Blacksheep et sera un homme heureux.

Et comme le disait Sébastien, un de ces bonhommes du labo que j&amp;#39;apprécie beaucoup « Micha, c&amp;#39;est dingue, il est toujours content. » Wow, à posteriori, il viendrait pas de me dire que je suis un imbécile-heureux ?


 
</description>
		<pubDate>Thu, 13 Jul 2006 02:29:00 GMT</pubDate>
      </item><item>
        <title>Albino Blacksheep</title>
        <link>http://aime-emacs-hacks.blog2geek.com/albino-blacksheep-149.html</link>
        <description>
Dans la catégorie 42, je mettrai les hors sujets, donc les posts ne concernant pas Emacs.

Pour commencer, combien d&amp;#39;entre vous ne connaisse pas Albino Blacksheep ? ...
Tant que ça ? Honteux !

Albino Blacksheep (www.albinoblacksheep.com) est la plus grande mine d&amp;#39;animation Flash que je connaisse. Jeux, musiques, sitcoms, animutation, ... TOUT y est.

Je vous prends UN exemple (Allez sur la page des best-ofs pour vous faire une idée !) : animons la chanson « Witch doctor », et on obtient http://www.albinoblacksheep.com/flash/witchdoctor

Bookmarquez-moi ça !
</description>
		<pubDate>Wed, 12 Jul 2006 13:49:00 GMT</pubDate>
      </item><item>
        <title>Tapez bien, tapez peu !</title>
        <link>http://aime-emacs-hacks.blog2geek.com/tapez-bien-tapez-peu--147.html</link>
        <description>Comment font les gens (c&amp;#39;est pédant, « les gens », mais il parait que je le suis un peu, alors bon) pour utiliser des commandes interactives (celles appelable par M-x) sans le mode de complétion partiel ?

M-x partial-completion-mode RET, par pitié ! Qu&amp;#39;est-ce ? Et bien dites vous que la longue commande M-x précédemment citée se serait écrite M-x p-c-m RET si ce dernier était activé.

Quand même ! On me reproche d&amp;#39;avoir changé le nom des fonctions d&amp;#39;un petit package que je fais en remplaçant « ns- » par « netsoul- », mais diable ! « n- » suffit largement !

Je reviendrai dans un prochain ticket sur les modes nécessaires pour n&amp;#39;importe quel utilisateur d&amp;#39;Emacs. Et ne me parlez pas de speedbar, hérétiques !</description>
		<pubDate>Tue, 11 Jul 2006 03:25:00 GMT</pubDate>
      </item><item>
        <title>Emacs fait du X</title>
        <link>http://aime-emacs-hacks.blog2geek.com/emacs-fait-du-x-146.html</link>
        <description>
Ah, parlons-en, tiens, d&amp;#39;XEmacs.


Je travaille dans un laboratoire dans lequel il y a un vrai développeur d&amp;#39;XEmacs (http://www.xemacs.org/People/didier.verna/).


 Personnellement, je ne suis que contributeur occasionnel d&amp;#39;Emacs, parmi une immense masse.

Nous ne nous sommes pour autant jamais disputé sur Emacs contre XEmacs. Il doit penser, probablement à raison, qu&amp;#39;étant en pleine période rebelle, je serais prêt à défendre Emacs sans argument mais avec la hargne. Et il doit croire que je pense qu&amp;#39;il est un vieux réac qui s&amp;#39;est mis à XEmacs pour marquer sa dissidence avec le monde de la FSF (Free Software Fundation).

Tout ceci est bien évidemment faux, et je disais ça pour rire. Emacs et XEmacs ne sont pas en guerre, ils ont juste des conceptions du monde différentes. XEmacs a forké avec Emacs pour de bonnes raisons : ils voulaient ajouter des fonctionnalités différentes que Richard Stallman n&amp;#39;envisageait pas à l&amp;#39;époque, principalement des fonctionnalités liées à X (donc du graphisme).

Notez le « à l&amp;#39;époque » : désormais, Emacs inclut la plupart des fonctionnalités supplémentaires d&amp;#39;XEmacs. Il lui manque des fancyness absolues qui permettrait de porter XWEM, dont je parlais dans un précédent ticket, sur lui.

Ce qui différencie encore et toujours Emacs et XEmacs, c&amp;#39;est la FSF. La FSF requiert que chaque contributeur d&amp;#39;un logiciel libre, quand ses contributions deviennent importantes, signe de la paperasse l&amp;#39;engageant à respecter le droit à la libre diffusion du code. Les gens d&amp;#39;XEmacs trouvent cette demande trop contraignante, ne permettant pas la libre participation.

Sur ce point, les groupes ne se mettront probablement jamais d&amp;#39;accord, et on ne peut que le déplorer, ce sont là deux équipes très mouvantes et productives qui feraient un excellent boulot à travailler ensemble.
</description>
		<pubDate>Mon, 10 Jul 2006 16:17:00 GMT</pubDate>
      </item><item>
        <title>Emacs vit, mais VI emacs-t-il ?</title>
        <link>http://aime-emacs-hacks.blog2geek.com/emacs-vit-mais-vi-emacs-t-il--145.html</link>
        <description>
Ce jeu de mot, pourri s&amp;#39;il en est, indique bien quelles relations il y a entre VI et Emacs.

Un excellent blog de ce site (http://vi-rocks.blog2geek.com), nous expose quelques rudiments de VI, un éditeur de texte.


Remarquez, je souligne « éditeur », pourquoi ? Mais parce que VI n&amp;#39;est que ça ! Il a, il faut le dire, des extensions, codés par certains gourous, des machins qui aident à l&amp;#39;édition du texte, et ce genre de chose.


Mais VI est un éditeur léger, aux fonctionnalités minimalistes pour permettre une exécution rapide.


Son usage typique inclut l&amp;#39;édition de fichiers de configuration, l&amp;#39;édition rapide de plus gros fichiers, bref, tout ce qui doit se faire en un laps de temps cours.


J&amp;#39;utilise personnellement plutôt nano qui est d&amp;#39;une utilisation plus simple (et plus minimaliste), puisqu&amp;#39;il ne dispose d&amp;#39;aucune extensibilité, quoiqu&amp;#39;il permette la coloration syntaxique.

Nombre de développeurs utilisent VI pour les fichiers C, C++, et d&amp;#39;autres. Il sont principalement attirés vers la simplicité, toute relative, de l&amp;#39;utilisation de cet éditeur.

Il faut dire que VI a des raccourcis simplifiés de part son utilisation de deux modes : Édition et insertion.

Bien évidemment, cette manière de penser l&amp;#39;édition est tout à fait retrouvable dans Emacs, grâce au package Viper (Viper Is a Package for Emacs Rebels).

Bref, si Emacs peut faire tout ce que peut faire VI, le contraire n&amp;#39;est pas vrai et c&amp;#39;est normal : les deux éditeurs n&amp;#39;ont pas les mêmes objectifs, les mêmes utilisations. Alors par pitié, arrêtez d&amp;#39;en faire une guerre, elle n&amp;#39;a en rien lieu d&amp;#39;être. Ces deux éditeurs cohabitent, voilà tout !

On terminera par une citation, tout de même, lancer dans un flame (un troll, un débat enflammé) Emacs/VI :

Isn&amp;#39;t vi that text editor with 
two modes... One that beeps and
one that corrupts your file? 
-- Dan Jacobson
</description>
		<pubDate>Mon, 10 Jul 2006 15:17:00 GMT</pubDate>
      </item>		</channel>
</rss> 
