¿Cómo configuro Emacs para usar 'ispell' en Mac OS X?

27

Estoy usando brewcomo administrador de paquetes tanto para Emacs como para ispell. He instalado los dos. Al hacer un google rápido, no pude descubrir cómo decirle a Emacs dónde está ispell y cargar los diccionarios apropiados.

Ahora cuando hago una M-x ispell-check-version, Emacs responde con descaro: Searching for program: No such file or directory.

¿Cómo configuro Emacspara usar ispell?

Avery Chan
fuente

Respuestas:

15

La variable que estás buscando es ispell-program-name. Rellene esto en algún lugar de su .emacs:

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

O uso M-x set-variable, etc.

Referencias

  • De las fuentes a 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)
    
  • Ver también: http://emacswiki.org/emacs/InteractiveSpell

Siempre que no pueda encontrar una función de Emacs, recuerde C-h f(o una variable:) C-h v. Ingresar ispellen el Describe functionindicador le dice eso ispell is an interactive compiled Lisp function in 'ispell.el'., y desde allí generalmente puede encontrar lo que está buscando.

ckhan
fuente
1
Si usa set-variable para establecer ispell-program-name, asegúrese de poner comillas dobles alrededor del valor. En mi caso fue "/ opt / local / bin / aspell"
Jistanidiot
11

Lo que me ayudó a resolver esto sin editar mi .emacscon rutas absolutas (que era reacio a hacer, ya que comparto el archivo entre diferentes sistemas operativos) fue instalar ispell a través de brew

brew install ispell --with-lang-en

como se explica en esta respuesta (y mi comentario).

metakermit
fuente
1

Este es un problema de variable de entorno. El exec-path-from-shellpaquete solucionó este problema para mí.

Después de evaluar (exec-path-from-shell-initialize), ispell funcionó.

tornillo
fuente
0

Incluso si usa brew solo para la instalación de ispell y ha instalado emacs desde este tipo de dmg , y ejecuta emacs desde un icono en el dock, querrá cerrar sesión e iniciar sesión nuevamente, ya que OS X almacena en caché los elementos en su ruta y no verá ispell de inmediato. Si esta información no es nueva para usted, entonces probablemente pueda solucionar este problema de todos modos.

mrbobfrog
fuente
0

Estoy bastante seguro de que este debe ser un problema resuelto por ahora, pero todavía quería agregar que he estado usando ispell con éxito en Mac OS X. Instalando ispell en homebrew y luego agregando la ruta correcta en .emacs (/ usr / local / bin) resuelto El problema para mí.

pratim
fuente