2016-06-15 8 views
0

この質問は、emacs lispスクリプトの起動時に、コマンドC-h fが関数org-table-get-fieldを認識しなかったことに気付いたときに発生しました。つまり、C-h f org-table-get-fieldと入力すると、EchoAreaに[No Match]が表示されます。しかし、私がlispコードブロックを実行すると、私はorg-table-get-fieldに関する一致と情報を得ることができます。誰かが、私がlispコードブロックを評価する前に、関数情報へのアクセス権を突然持っているマシンが何であるかを知っていますか?Emacs elispのデフォルトヘルプドキュメント

答えて

1

関数または変数を定義するコードは、ヘルプコマンドがそれを認識するために、読み込まれているか評価されている必要があります。

ここで問題となっているコードは、最初にコマンドを使用したときにが自動ロードされたです。読み込まれると、のC-h fが機能します。オートローディングはあなたが不思議に思っていた魔法です。

Elispマニュアル、ノードAutoloadを参照してください。

+0

明らかに、 'org-table-get-field'自体は自動ロードを定義していません(そうでなければ、' C-h f' *はそれについて知っています)。それは他の何らかの理由でロードされているライブラリにあります。 – phils

+0

@phils:ええ、それは私が「コマンドの」と言っていたことです(それはコマンド以外のものかもしれませんが)。どこかで、関連するコードがオートロードされ、それがどのように定義されるのかがわかります。 – Drew

関連する問題