Como faço para configurar o Emacs para usar 'ispell' no Mac OS X?

27

Estou usando brewcomo meu gerenciador de pacotes para o Emacs e o ispell. Eu tenho ambos instalados. Fazendo um rápido google, não consegui descobrir como dizer ao Emacs onde está o ispell e carregar os dicionários apropriados.

Agora quando eu faço uma M-x ispell-check-version, Emacs respostas saucily: Searching for program: No such file or directory.

Como eu configuro Emacspara usar ispell?

Avery Chan
fonte

Respostas:

15

A variável que você está procurando é ispell-program-name. Coloque isso em algum lugar do seu .emacs:

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

Ou use M-x set-variable, etc.

Referências:

  • Das fontes para 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)
    
  • Veja também: http://emacswiki.org/emacs/InteractiveSpell

Sempre que você não encontrar uma função do Emacs, lembre-se C-h f(ou uma variável C-h v:). Digitar ispellno Describe functionprompt informa isso ispell is an interactive compiled Lisp function in 'ispell.el'.e, a partir daí, geralmente você encontra o que está procurando.

ckhan
fonte
11
Se você usar set-variable para definir ispell-program-name, certifique-se de colocar aspas duplas em torno do valor. No meu caso, foi "/ opt / local / bin / aspell"
Jistanidiot
11

O que me ajudou a resolver isso sem editar meus .emacscaminhos absolutos (o que eu relutava em fazer ao compartilhar o arquivo entre diferentes sistemas operacionais) foi instalar o ispell via brew

brew install ispell --with-lang-en

como explicado nesta resposta (e no meu comentário).

metakermit
fonte
1

Esse é um problema de variável de ambiente. O exec-path-from-shellpacote corrigiu esse problema para mim.

Após a avaliação (exec-path-from-shell-initialize), ispell funcionou.

torno
fonte
0

Mesmo se você usar o brew apenas para a instalação ispell e tiver instalado o emacs desse tipo de dmg , e executar o emacs a partir de um ícone no dock, deseje efetuar logout e login novamente, pois o OS X armazena em cache itens no caminho e não verá ispell imediatamente. Se essas informações não forem novidade para você, provavelmente você poderá solucionar esse problema de qualquer maneira.

mrbobfrog
fonte
0

Tenho certeza de que esse deve ser um problema resolvido até agora, mas ainda quero acrescentar que tenho usado com êxito o ispell no Mac OS X. Instalando o ispell no homebrew e adicionando o caminho correto no .emacs (/ usr / local / bin) resolvido o problema para mim.

pratim
fonte