Salut Alain,

L'emacs-lisp est comme les autres langages on ne fait pas avec
lui exactement tout ce qu'on veut, et on doit respecter la
syntaxe ! 

From: "Alain Joly" <[EMAIL PROTECTED]>
Subject: Re: [CBLX] installation de emacspeak
Date: Sun, 31 Aug 2008 12:04:25 +0200

> Salut la liste, Salut Pierre,
> Ca y est, mon emacs parle en Français.
> 
> J'ai fait également un petit test juste pour voir, car j'avais l'impression 
> que emacs avait besoin de quelques secondes pour passer en Français.
> J'ai essayé de chan ger l'ordre des commandes de mon .emacs
> donc :
> Au départ j'avais :
> (autoload 'speechd-speak "speechd-speak" nil t)
> (speechd-speak)
> (speechd-set-language "fr")
> 
> J'ai inversé les lignes 2 et 3 pour obtenir
> (autoload 'speechd-speak "speechd-speak" nil t)
> (speechd-set-language "fr")
> speechd-speak)
> 
> Et là, surprise, mon emacs s'est encore splité en deux
> buffers...

  Oui je comprends maintenant l'un d'entre eux s(appelle même
  backtrace et te dit que tu as une erreur et te permet de la
  tracer pour peu que tu comprennes quand-même un peu quelqe
  chose au langage. 



> Je ne pense pas avoir fait d'erreur de syntaxe cette
> fois-ci...
  Euh de syntaxe à proprement parler non mais la subtilité de
  l'autoload t'a encore échappé ! À vrai dire c'est une des
  features les plus puissantes d'emacs mais aussi l'une des plu
  délicates à manier par là-même. 



> 
> la commande (speechd-speak) me semble faire office "d'intrrupteur à bascule" 
> pour activer ou désactiver la voix.

  Euh non pas autant que je sache. Ca l'active c'est tout
  ensuite il y a une autre commande genre speechd-speak-mode
  pour faire bascule. 


> Il ne me semble donc pas illogique de vouloir d'abord sélectionner la 
> langue, puis d'activer la voix...

  Certes non, mais c'est l'autoload qui est en cause. En effet,
  quand tu as la commande (autoload 'function "librairie" ...)
  la librairie n'est chargée qu'après le premier appelle à
  function. Ainsi ici la librairie "speechd-speak" n'est
  chargée qu'après que tu aies lancé (speechd-speak). Or où est
  la définition de speechd-set-language ? Je te le donnes en
  mille ! dans la librairie "speechd-speak" donc tu essayes de
  lancer une fonction qui n'est pas définie, et ça dans
  n'importe quel environnement ça donne une erreur. 

  Solution : autoloader speechd-set-language par 
  (autoload 'speechd-set-language "speechd-speak" nil t)
  Puis lancer 
  (speechd-speak-language "fr")
  Mais ca ne me paraît pas très judicieux. En effet si
  speechd-speak effectue aussi des tâches d'initialisation il
  n'est peut-être pas astucieux de faire des settings avant. Le
  temps de chargement n'est pas nul, emacs est quand même une
  très grosse bête : regarde l'exécutable 5 méga au bas mot ! 


> 
> Voilà, c'est tout.

  Mais non Alain, ce n'est pas tout si tu crois que tu as fait
  le tour d'emacs en trois jours alors ce n'est pas la peine
  que des gens aient écrit un code qui pèse 5 méga une fois
  compilé ou alors ce sont des programmeurs déplorables : et
  sérieusement peut-on penser ça de Papi Stallman ? 

  Pierre

_______________________________________________
Liste de diffusion CarrefourBLinuX 
    [email protected]
    http://lists.freearchive.org/mailman/listinfo/carrefourblinux
Pour s'inscrire par courriel : 
    'mailto:[EMAIL PROTECTED]'
Pour se retirer de la liste par courriel : 
    'mailto:[EMAIL PROTECTED]'

Archives : http://lists.freearchive.org/pipermail//carrefourblinux
Anciennes archives (Yahoogroupes) :
    http://fr.groups.yahoo.com/group/carrefourblinux/messages
Rechercher : http://lists.freearchive.org/cgi-bin/search.cgi

Signets : http://fr.groups.yahoo.com/group/carrefourblinux/links/
Fiches EDU : http://blinuxwiki.pbwiki.com/FichesEdu

Répondre à