Pergunta

On my Mac (Snow Leopard, 10.6.8), I'm using a modified version of Emacs 24.2 provided here to utilize Emacs Speaks Statistics (ESS) from the downloads page. Emacs works, but I haven't yet been able to get a spell checker to work.

To rectify this, I'm following the instructions from this page to download flyspell. I copied the flyspell.el file into my /Applications/Emacs.app/Contents/Resources/site-lisp directory, which is apparently the directory of my emacs load path (note that, for instance, the auctex.el file is located in that directory).

Then, I modified my .emacs file by adding:

(autoload 'flyspell-mode "flyspell" "On-the-fly spelling checker." t)
(autoload 'flyspell-delay-command "flyspell" "Delay on command." t)
(autoload 'tex-mode-flyspell-verify "flyspell" "" t)
(add-hook 'LaTeX-mode-hook 'turn-on-flyspell)

When I open a .tex file, and use M-x flyspell-mode, I can "auto-complete" it (i.e. by pressing tab it gives me the correct flyspell options) but when I press RET I get:

Searching for program: no such file or directory, ispell

None of the solutions posed in this question or this question worked, so I'm not sure what the issue is here. Does anyone have ideas or has encountered this problem before?

Foi útil?

Solução

Please, please read the documentation provided by Emacs itself before trying arbitrary instructions from random websites.

Emacs 24.2 includes Flyspell. You must not explicitly install it. If you do so, undo this, that is, delete flyspell.el from /Applications/Emacs.app/Contents/Resources/site-lisp. At best, delete /Applications/Emacs.app completely, and re-install it, to start from scratch.

However, Flyspell needs a spell checking tool, which is not included in Emacs. The error message tells you that you have no such tool installed.

You need to install the ASpell spell checker. You can install it with homebrew with brew install aspell.

Outras dicas

I used homebrew to install ispell and apsell and would get which ever one I set in ~/.emacs with

[iMac ~]$ cat .emacs
(setq ispell-program-name "/usr/local/bin/aspell")

There is a similar discussion of this here

On windows I had to do the following to start Ispell process:

  1. downloaded ispell (http://www.ssc.wisc.edu/~dvanness/ispell.htm)
  2. Unzip content in a folder that is in my path (i.e. Windows or c:\windows\system
  3. download aspell (http://aspell.net/win32/)- get the full download. see the link on the page. (whether you need ispell or not, I am not sure)
  4. Add the code shown below to your init.el file

  5. Run aspell installer

  6. Start emacs again, the error should not come up.

    (require 'package)
    (add-to-list 'package-archives
             '("MELPA Stable" . "http://stable.melpa.org/packages/") t)
    (package-initialize)
    (package-refresh-contents)
    
    (package-install 'flycheck)
    
    (global-flycheck-mode)
    
    (use-package flycheck
      :ensure t
      :init
      (global-flycheck-mode t))
    
    (setq ispell-program-name "C:\\Program Files (x86)\\Aspell\\bin\\aspell.exe"
    

You many not have to do all the above but this is what worked for me on Emacs running on Windows 7.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top