2017-08-19 5 views
0

scriptが見つかりました。実行する必要があります。emacs lispスクリプトを実行

私は、この(私はEVAL-bufferコマンドを使用)のようにそれを実行しようとした:

(require 'subr-x) 
(require 's) 
(load-file "~/git-graph.el") 
(require 'git-graph) 
(git-graph/to-graphviz-pretty 
"git" 
(git-graph/git-graph-head 
    "E:/GitStack/repositories/gitRepo.git" 
    "master")) 

しかし、エラーが表示されます。

Loading e:/emHome/git-graph.el (source)...done 
let*: Symbol’s function definition is void: first 

picture

間違っているものを私に教えてください。そして、私はこのスクリプトをどのように実行できますか?

私はこれに新たなんです。

+0

どのバージョンのemacsを実行しますか? 'first'は通常' car'のエイリアスです。 – choroba

+0

'first'を関数またはマクロとして定義するライブラリを調べる必要があります。* git-graphが使われる前に処理する必要があります。あなたがそれを見つけるまで 'defun first'と' defmacro first'をWordで検索し、あなたのロードパスにあればライブラリを 'require'するか、' require'を使わずに 'load'を使います。何かを '読み込む '必要はなく、後で'要求する'必要はありません。 'first'を定義するライブラリを持っていない場合は、インターネット上やパッケージマネージャー経由でどこにあるのか把握してインストールしてください。 – lawlist

+0

@choroba、GNU Emacs 25.1.1(x86_64-w64-mingw32)of 2016-09-17 – Slimper

答えて

0

なぜライブラリgit-graphを2回ロードしていますか?

  1. あなただけload-library行またはrequire行のいずれかを削除するとどうなりますか - あなたはまだエラーが出るのですか?元のコードで

  2. load-library行の後に次の行を挿入します。

    (message "After load-library") 
    

    そしてrequire行の後に次の行を挿入します。あなたが取得されたメッセージ(複数可)

    (message "After require") 
    

    を参照してください:チェックバッファ*Messages*。これにより、ライブラリをロードしようとしたとき(どちらかの場合)にエラーが発生したことがわかります。おそらく、あなたが面白いことに気づいたかどうかを確認するために、図書館のテキストfirstを探してください。

    問題がそのライブラリをロードしているように見えない場合は、requireの後の式から来ている可能性があります。

  3. Do M-x toggle-debug-on-errorを入力し、M-x eval-bufferを入力し、*Backtrace*の出力をここに投稿してください。エラーが発生した場所だけが表示されます。

  4. また、d(または特定のステップの詳細をスキップするにはc)を使用してデバッガをステップ実行することもできます。それは最終的にどのコードがエラーを発生させたかを示します。

+0

1) 'require'を削除しても何も変更されませんでした。 2)すべてのメッセージが表示されます。 3)[stacktrace](https://pastebin.com/1pL8QFWU) – Slimper

+0

それは:(1)あなたはそれを2度読み込む必要はない: 'require'で十分であるはずです。 (2)ライブラリをロードすることは問題ではありません。 (3)問題は、ライブラリをロードした後に評価する式にあります。 (4)答えの3番か4番で示唆されていることをしてください。 – Drew

関連する問題