モードの現在の状態にかかわらずflyspell-mode
を有効にするEmacs Lisp関数を書きたいと思っています。機能flyspell-mode-on
は推奨されていません。私は接頭引数でflyspell-mode
を呼び出す方法を見つけ出すことができれば別のEmacs Lisp関数の対話的なEmacs Lisp関数を接頭辞引数で呼び出す方法は?
Wrong number of arguments: (lambda (flyspell-mode 1)), 0
:ドキュメントには、正の接頭引数はflyspell-mode
を回すが、残念ながら
(flyspell-mode 1)
エラーメッセージで結果を実行しているだろうことを示唆しています私はこの問題を解決できると信じています。
Emacs Lispのマニュアルで最も関連性の高いセクションは、「対話型コール」と題されたセクションです。このセクションでは、call-interactively
などのコマンドについて説明しています。これは私が欲しいものではありません。
(私が解決しようとしています究極の問題は関係なく、現在の状態のモードをオンモードフックを作成することです。)
N.B.質問emacs lisp call function with prefix argument programmaticallyのタイトルは関連しているように見えますが、その質問は対話型コマンドの作成方法を尋ねていましたが、問題は最終的にcall-interactively
を使用して解決されました。
EDIT:この質問は議論の余地があります。私は私の元の問題への代替解決策を発見した:
(add-hook 'text-mode-hook
(function (lambda()
(require 'flyspell)
(if flyspell-mode nil (flyspell-mode)))))
をしかし、私はまだインタラクティブ何もで、他のEmacs Lispの関数から、接頭引数でEmacs Lispの関数を呼び出す方法を知っていただきたいと思います。
UPDATE:私はそのエラーメッセージが出た理由おそらく、私が求めている必要があります...
emacsen 22と23は私が使用しているが、もはや維持されていないいくつかのレガシーモードでは何らかの損失を引き起こしたので、私はemacs 21を実行しています。 –
@NormanRamseyうわー、それは古くなってきています。このエラーメッセージが表示される理由は、あなたのバージョンで 'flyspell-mode'関数が何も引数を取っておらず、' current-prefix-arg'を直接読んでいないことです。これは、後のバージョンで修正された設計上の欠陥です。 – Gilles