Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ispell, flyspell sous Windows

9 réponses
Avatar
Frédéric
Bonjour,

j'utilise emacs 22.2.1 sous Windows (sans cygwin) et AucTeX. Je
souhaiterais disposer de la correction orthographique, si possible =E0
la vol=E9e. J'ai fouill=E9 sur le net, j'ai cru comprendre que la
correction orthographique d=E9pendait de ispell, pour l'avoir =E0 la vol=E9=
e
c'est flyspell (lequel repose sur ispell ?).

Les fichiers flyspell.el et ispell.el sont bien pr=E9sents sur mon
installation.

J'ai rajout=E9 les lignes suivantes =E0 mon .emacs :

;; correction orthographique
(setq ispell-dictionary "francais")
(setq flyspell-default-dictionary "francais")
(global-set-key [f2] 'flyspell-mode)
(add-hook 'LaTeX-mode-hook 'flyspell-mode)

Mais bien s=FBr =E7a ne suffit pas. L'appui de F2 renvoit un message
d'erreur :

Starting new Ispell process [francais] ...
Enabling Flyspell mode gave an error
Starting new Ispell process [francais] ...
Enabling Flyspell mode gave an error

sans plus de renseignements.

Alors, bien s=FBr j'aimerais savoir quoi faire, mais tant qu'=E0 y =EAtre
comprendre quelques trucs. Notamment :
- j'ai jamais install=E9 ispell et le dictionnaire fran=E7ais. C'est fait
par d=E9faut ou j'ai rat=E9 un truc ? Et si oui, on le trouve o=F9, ispell
pour windows ?
- est-ce possible d'avoir un message d'erreur un peu plus explicite ?

Merci =E0 vous de m'aider sur la voie de l'emacs,

Fr=E9d=E9ric

9 réponses

Avatar
Sébastien Kirche
Le 12 juillet 2008 à 10:54, Frédéric vraute :

Bonjour,



Salut,

j'utilise emacs 22.2.1 sous Windows (sans cygwin) et AucTeX. Je
souhaiterais disposer de la correction orthographique, si possible à
la volée. J'ai fouillé sur le net, j'ai cru comprendre que la
correction orthographique dépendait de ispell, pour l'avoir à la volée
c'est flyspell (lequel repose sur ispell ?).



On peut aussi utiliser flyspell avec aspell[¹] qui est une évolution
d'ispell sachant gérer l'utf-8 sans dictionnaire spécial et accéder à
plusieurs dictionnaires en même temps.

(Dernièrement j'ai aussi vu l' existence de hunspell un correcteur basé
sur myspell le correcteur initial d'OpenOffice.org. je ne sais pas si on
peut s'interfacer avec).

Les fichiers flyspell.el et ispell.el sont bien présents sur mon
installation.

J'ai rajouté les lignes suivantes à mon .emacs :

;; correction orthographique
(setq ispell-dictionary "francais")
(setq flyspell-default-dictionary "francais")
(global-set-key [f2] 'flyspell-mode)
(add-hook 'LaTeX-mode-hook 'flyspell-mode)

Mais bien sûr ça ne suffit pas. L'appui de F2 renvoit un message
d'erreur :

Starting new Ispell process [francais] ...
Enabling Flyspell mode gave an error
Starting new Ispell process [francais] ...
Enabling Flyspell mode gave an error

sans plus de renseignements.

Alors, bien sûr j'aimerais savoir quoi faire, mais tant qu'à y être
comprendre quelques trucs. Notamment :
- j'ai jamais installé ispell et le dictionnaire français. C'est fait
par défaut ou j'ai raté un truc ? Et si oui, on le trouve où, ispell
pour windows ?



Effectivement, flyspell n'est qu'une interface entre Emacs et [ia]spell.
Il faut installer l'exécutable du correcteur ainsi qu'un dico et ça
devrait aller mieux.

À tout hasard, voici ma config perso pour aspell/flyspell :

(when (require 'ispell)
(setq ispell-program-name "aspell")
(setq ispell-dictionary "fr"); était "francais")
(autoload 'flyspell-mode "flyspell" "On-the-fly spelling." t)
)

- est-ce possible d'avoir un message d'erreur un peu plus explicite ?



À mon avis il ne trouve pas [ia]spell dans le path, mais peut-être qu'
un coup de M-: (setq debug-on-error t) RET pourrait donner des
indications ?
Attention : cela fera en sort de montrer en cas d'erreur les
instructions elisp qui ont provoqué l'erreur et de mettre Emacs en mode
debugger, ça peut aider à comprendre ce qui coince mais ça n'est pas
forcément évident pour un débutant :)

Merci à vous de m'aider sur la voie de l'emacs,



HTH.

[¹] Il y a un port dispo pour win32 ici : http://aspell.net/win32/ on
peut y trouver des installeurs préconfigurés avec le dico de son choix
--
Sébastien Kirche
Avatar
Frédéric
Tout d'abord merci beaucoup pour la réponse.

Ensuite, il me reste un problème :)

J'ai effectivement installé aspell et le dico français, modifié mon
PATH (ça fait longtemps que j'en avais pas eu besoin), mais lorsque je
lance une correction sur un buffer j'ai le message d'erreur suivant
(peut-être plus clair) :

Spell checking fuseki.tex using aspell with fr dictionary...
Spell-checking using aspell with fr dictionary done
ispell-get-line: Wrong type argument: stringp, nil

Au passage, aucune erreur n'est détectée alors que le texte en est
truffé...

J'ai donc encore besoin d'un peu d'aide :)
Avatar
Vincent Belaïche
Frédéric a écrit :
Tout d'abord merci beaucoup pour la réponse.

Ensuite, il me reste un problème :)

J'ai effectivement installé aspell et le dico français, modifié mon
PATH (ça fait longtemps que j'en avais pas eu besoin), mais lorsque je
lance une correction sur un buffer j'ai le message d'erreur suivant
(peut-être plus clair) :

Spell checking fuseki.tex using aspell with fr dictionary...
Spell-checking using aspell with fr dictionary done
ispell-get-line: Wrong type argument: stringp, nil

Au passage, aucune erreur n'est détectée alors que le texte en est
truffé...

J'ai donc encore besoin d'un peu d'aide :)



Salut,

Moi je ne me suis pas embêté à modifier ma variable d'environnement
PATH, j'ai carrément mis dans mon fichier d'init:

(setq-default ispell-program-name "c:/Programme/GNU/Aspell/bin/aspell.exe")

(où biensûr il faut adapté à l'endoit où se trouve installer aspell sur
ton ordi).

D'ailleurs, j'ai aussi ça dans mon fichier custom.el (chargé depuis le
fichier d'init par (setq custom-file "~/.emacs.d/etc/custom.el")
(load custom-file), et que j'ai nettoyé ci-dessous pour ne montrer que
ce qui est pertinent)


(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(ispell-local-dictionary "francais")
)
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)

Comme tu peux le constaté je suis peut-être un peu en retard au niveau
des dicos car chez moi c'est encore "francais".

A+
Vincent.

PS: N'édite pas directement ton fichier custom.el si tu en as un, mais
utilise la commande `M-x customize-variable' en demandant la variable
`ispell-local-dictionary'. Tu peux aussi faire `M-x customize-group' en
demandant `ispell', comme ça tu vois tout ce qui est customizable.
Avatar
Frédéric
Salut,

Moi je ne me suis pas embêté à modifier ma variable d'environnement
PATH, j'ai carrément mis dans mon fichier d'init:

(setq-default ispell-program-name "c:/Programme/GNU/Aspell/bin/aspell.exe ")

(où biensûr il faut adapté à l'endoit où se trouve installer as pell sur
ton ordi).



J'ai rajouté et je retiens l'idée.

D'ailleurs, j'ai aussi ça dans mon fichier custom.el (chargé depuis l e
fichier d'init par (setq custom-file "~/.emacs.d/etc/custom.el")
(load custom-file), et que j'ai nettoyé ci-dessous pour ne montrer que
ce qui est pertinent)

(custom-set-variables
   ;; custom-set-variables was added by Custom.
   ;; If you edit it by hand, you could mess it up, so be careful.
   ;; Your init file should contain only one such instance.
   ;; If there is more than one, they won't work right.
  '(ispell-local-dictionary "francais")
)
(custom-set-faces
   ;; custom-set-faces was added by Custom.
   ;; If you edit it by hand, you could mess it up, so be careful.
   ;; Your init file should contain only one such instance.
   ;; If there is more than one, they won't work right.
  )

Comme tu peux le constaté je suis peut-être un peu en retard au nivea u
des dicos car chez moi c'est encore "francais".

A+
   Vincent.

PS: N'édite pas directement ton fichier custom.el si tu en as un, mais
utilise la commande `M-x customize-variable' en demandant la variable
`ispell-local-dictionary'. Tu peux aussi faire `M-x customize-group' en
demandant `ispell', comme ça tu vois tout ce qui est customizable.- Mas quer le texte des messages précédents -

- Afficher le texte des messages précédents -



Je l'ai rajouté via emacs, ça n'apparaît pas dans custom.el. Néanmo ins
je l'ai rajouté dans le .emacs, vérifié avec M-X customize-group et j e
vois bien le "fr".

Cependant j'ai toujours la même erreur...
Avatar
Frédéric
Bon j'ai farfouillé et il semble que ça marche en remplaçant fr par
francais comme nom de dictionnaire. Flyspell fonctionne aussi, mais il
faut que je le lance via le menu. Y'a-t-il un mmoyen pour qu'il soit
automatiquement exécuté lorsque je suis en mode latex ?
Avatar
Vincent Belaïche
Frédéric a écrit :
Bon j'ai farfouillé et il semble que ça marche en remplaçant fr par
francais comme nom de dictionnaire. Flyspell fonctionne aussi, mais il
faut que je le lance via le menu. Y'a-t-il un mmoyen pour qu'il soit
automatiquement exécuté lorsque je suis en mode latex ?



Moi je le lance par la clef `M-$', ça m'evite le menu.

A+
Vincent.
Avatar
Erwan David
Frédéric écrivait :

Bon j'ai farfouillé et il semble que ça marche en remplaçant fr par
francais comme nom de dictionnaire. Flyspell fonctionne aussi, mais il
faut que je le lance via le menu. Y'a-t-il un mmoyen pour qu'il soit
automatiquement exécuté lorsque je suis en mode latex ?



Utiliser latex-mode-hook ?

--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
Avatar
Frédéric
On 15 juil, 21:27, Erwan David wrote:
Utiliser latex-mode-hook ?



Très certainement, mais euh, comment dire, ça marche comment ? :)
Avatar
Jacques L'helgoualc'h
Bonjour,

Le 17-07-2008, Frédéric a écrit :
On 15 juil, 21:27, Erwan David wrote:
Utiliser latex-mode-hook ?



Très certainement, mais euh, comment dire, ça marche comment ? :)



J'ai ça, entre autres, dans mon ~/.emacs :

(autoload 'flyspell-mode "flyspell" "On-the-fly spelling checking" t)
(setq
flyspell-global-modes
'(LaTeX-mode TeX-mode latex-mode tex-mode
gnus-article-edit-mode message-mode post-mode)
flyspell-default-dictionary "francais")

;;[...]

(defun my-LaTeX-setup ()
"Configuration LaTeX-mode"
(interactive)
(auto-fill-mode t)
(setq fill-column 100
ispell-parser 'tex
TeX-insert-braces nil)
(LaTeX-math-mode t)
(when window-system
(flyspell-mode 1)))

(add-hook 'LaTeX-mode-hook 'my-LaTeX-setup)


N.B. Avec AucTex, c'est LaTeX-mode...
--
Jacques L'helgoualc'h