7

emacs/w32 に flyspell モードをインストール/実行する必要があります。

このサイトから Windows 用の ispell をインストールし、ここに書かれている手順に従いました。

  1. flyspell-1.7a.el をダウンロードして名前を flyspell.el に変更し、load-path ディレクトリにコピーしました。
  2. .emacs を変更しました
;;; http://www-sop.inria.fr/members/Manuel.Serrano/flyspell/flyspell.html
;;; フライスペルモード
  (「flyspell」が必要)
  (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)
)

しかし、フライモードで emacs を実行すると、次のエラーが発生しました。

(error "Autoloading failed to define function turn-on-flyspell")

何が間違っている可能性がありますか?

ISPELL によるソリューション

これは win32 の問題に対する ispell でした。 emacs の本で説明されているように、emacs/win32 で動作するものを使用する必要があります。

  1. いずれかのサイトから ispell.zip をダウンロードします。
  2. ispell.exe を PATH ディレクトリにコピーし、英語辞書をホーム ディレクトリにコピーします。

ASPELLによるソリューション

vedanは、この投稿で aspell を使用してより良い回答を提供しました。

Windows インストーラー、ディクショナリーのインストールがここにあります。.emacs に次の行を追加すると、問題なく動作します。

(カスタムセット変数
    '(ispell-dictionary "british")
    '(ispell-プログラム名 "H:\\bin\\aspell\\bin\\aspell.exe"))
4

1 に答える 1

1

requireflyspell (ライブラリをロードする) と、autoloadその関数の 2 つに対して s を宣言すること (その目的は、これらの関数が呼び出される前にライブラリをロードするのを避けることです) の両方を行うことはほとんど意味がありません。

これがエラーの原因かどうかはわかりません(おそらく、その後の autoloads が実際の定義を壊してしまうのでしょうか?)。

実際、Emacs 23.2.1 では (それほど前ではないにしても)、flyspell.el は独自の自動ロードを宣言します (すべての組み込みライブラリがそうであるように、私は信じています)。十分に最新のバージョンを実行しています。どのバージョンの Emacs について話しているのでしょうか?

編集: 実際flyspell-delay-command、23.2.1 ではデフォルトで自動ロードされないため、require を削除することにした場合は、その行を保持することをお勧めします。

于 2010-09-27T19:54:39.027 に答える