Emacs cannot find flyspell/ispell

一笑奈何 提交于 2019-12-03 08:04:32

问题


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?


回答1:


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.




回答2:


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




回答3:


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.



来源:https://stackoverflow.com/questions/17126951/emacs-cannot-find-flyspell-ispell

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!