Comment configurer Emacs pour utiliser 'ispell' sur Mac OS X?

27

J'utilise brewcomme gestionnaire de paquets pour Emacs et ispell. J'ai installé les deux. En faisant un rapide google, je n'ai pas réussi à savoir comment dire à Emacs où se trouve ispell et à charger les dictionnaires appropriés.

En ce moment , quand je fais un M-x ispell-check-version, Emacs répond insolemment: Searching for program: No such file or directory.

Comment configurer Emacspour utiliser ispell?

Avery Chan
la source

Réponses:

15

La variable que vous recherchez est ispell-program-name. Remplissez ceci quelque part dans votre .emacs:

(setq ispell-program-name "/path/to/ispell")

Ou utiliser M-x set-variable, etc.

Les références:

  • Des sources aux ispell.el

    (defcustom ispell-program-name
      (or (locate-file "aspell"   exec-path exec-suffixes 'file-executable-p)
          (locate-file "ispell"   exec-path exec-suffixes 'file-executable-p)
          (locate-file "hunspell" exec-path exec-suffixes 'file-executable-p)
          "ispell")
      "Program invoked by \\[ispell-word] and \\[ispell-region] commands."
      :type 'string
      :group 'ispell)
    
  • Voir aussi: http://emacswiki.org/emacs/InteractiveSpell

Chaque fois que vous ne trouvez pas de fonction Emacs, souvenez-vous C-h f(ou d'une variable:) C-h v. Saisie ispellà l' Describe functioninvite vous le dit ispell is an interactive compiled Lisp function in 'ispell.el'., et à partir de là, vous pouvez généralement trouver ce que vous recherchez.

ckhan
la source
1
Si vous utilisez set-variable pour définir ispell-program-name, assurez-vous de mettre des guillemets doubles autour de la valeur. Dans mon cas, c'était "/ opt / local / bin / aspell"
Jistanidiot
11

Ce qui m'a aidé à résoudre ce problème sans modifier mon .emacsavec des chemins absolus (ce que j'étais réticent à faire, car je partage le fichier entre différents systèmes d'exploitation) a été d'installer ispell via brew

brew install ispell --with-lang-en

comme expliqué dans cette réponse (et mon commentaire).

metakermit
la source
1

Il s'agit d'un problème de variable d'environnement. Le exec-path-from-shellpackage a résolu ce problème pour moi.

Après évaluation (exec-path-from-shell-initialize), ispell a fonctionné.

étau
la source
0

Même si vous n'utilisez brew que pour l'installation ispell et que vous avez installé emacs à partir de ce type de dmg , et que vous exécutez emacs à partir d'une icône dans le dock, vous voudrez vous déconnecter et vous reconnecter, car OS X met en cache les éléments de votre chemin et ne verra pas ispell immédiatement. Si ces informations ne sont pas nouvelles pour vous, vous pouvez probablement contourner ce problème de toute façon.

mrbobfrog
la source
0

Je suis à peu près sûr que cela doit être un problème résolu à l'heure actuelle, mais je voulais quand même ajouter que j'ai utilisé avec succès ispell dans Mac OS X. Installer ispell dans homebrew puis ajouter le chemin d'accès correct dans .emacs (/ usr / local / bin) résolu le problème pour moi.

pratim
la source