2013-08-14 9 views
5

このtutorialに続いて、に従って、emacsを私のGO IDEに設定しようとしています。私は、Emacsが行く-mode.elファイルでファイルのEmacs内からEmacs update-file-autoloadsが失敗する

、実行のMx更新ファイルautoloadsは、ポイントを生成する必要があり、GOを生成するためにそれを伝えるために私が持っているときに問題に実行していますよ-mode-load.elファイル。

私はファイル(場所~/.emacs.d/go-mode/go-mode.el)のパスを入力したときに、私はこのエラーを取得する

Opening output file: no such file or directory, /build/buildd/emacs23-23.3+1/debian/build-x/lisp/loaddefs.el 

私は、このファイルのlocateを行なったし、私は上記のパス指定したパスでそれを持っていませんが表示さ

$ locate loaddefs.el 
/usr/share/emacs/23.3/lisp/loaddefs.el 
... 

もし私が推測しなければならないのは、ある種の経路問題です。どこかでパス変数を設定する必要がありますか?

私はUbuntuの12.04によapt-get install emacs23

を通じて

おかげ

EDIT

私はエラーを取得するためにやっているプロセスをemacsのをインストールしました。

  1. M-x update-file-autoloads

​​

+0

どのように更新ファイルautoloadsはを呼び出していますか?あなたが/ build/....のファイルにオートロードを書き込もうとしているようです。新しいオートロードファイルを書き、既存のものを更新したり上書きしたりする必要はありません。 M-x update-file-autoloadsを実行してファイルをポイントすると、結果をどこに書きたいか尋ねられます。それはあなたのために起こりませんか? – seanmcl

+0

いいえ結果を書くように求められません。 'update autoloads for file:'プロンプトに続いてエラー – Jeff

+0

go-mode.elに 'generated-autoload-file 'のローカル定義がありますか? – seanmcl

答えて

1

(未解答を入力し

  • Update autoloads for file:〜/ .emacs.d /ゴー・モード/ mode.el行くを入力しますが、フォーマットが必要です) go-mode.elに `generated-autoload-file 'のローカル定義がありますか?もしそうなら、そこに書き込むので、その行を削除する必要があります。


    ;; update-file-autoloads docs

    update-file-autoloadsは、対話式コンパイル済みLisp関数 の `autoload.el 'です。

    (更新ファイルオートロードファイル&任意SAVE-AFTER OUTFILE)

    更新ファイルの自動ロード。 接頭辞arg SAVE-AFTERがnil以外の場合は、バッファも保存してください。

    FILEがgenerated-autoload-file' as a file-local variable, autoloads are written into that file. Otherwise, the autoloads file is determined by OUTFILE. If called interactively, prompt for OUTFILE; if called from Lisp with OUTFILE nil, use the existing value of generated-autoload-file 'をバインドする場合。

    戻り値FILEに自動ロードクッキーがない場合は、それ以外の場合はnil。

  • 2

    私は同じ問題を抱え、ついにそれを働かせました。あなたのスクラッチバッファ(または任意の他の空のファイル)と種類が

    (setq generated-autoload-file "~/.emacs.d/go-mode/go-mode-load.el") 
    (update-file-autoloads "~/.emacs.d/go-mode/go-mode.el") 
    

    次の2行で開き、カーソルの前の行を評価するためにC-x C-eに、各ラインとタイプのにカーソルを置くことによって、両方のラインを評価します。両方の行でこれを行います。 go-mode-load.elを開き、バッファを保存してください - 明らかにemacsはデフォルトでこれをしません。あなたはこれをやったら

    あなたはhttp://www.honnef.co/posts/2013/03/writing_go_in_emacs/

    免責事項で指示に従い続けることができます:私は私の答えで悲鳴ます。このとLispの専門家を行うには良い方法があると確信しています。私はlispについての手がかりがなく、emacsでlispを使う方法もありません。私はちょうど情報による推測でした:-)

    2

    ちょうど私がラズベリーパイにgo-mode.elを設定しようとしている間にこれをヒットしてください。幸いにも、私はすでにMac上でgo-mode-load.elファイルを生成していましたが、それを見ることができました。その中に貼り付け、emacsの中でそれを開いて、

    ;; To update this file, evaluate the following form 
    ;; (let ((generated-autoload-file buffer-file-name)) (update-file-autoloads "go-mode.el")) 
    

    は、だから私は、私はgo-mode.elをダウンロードしたディレクトリにcd」EDは、その後、touchgo-mode-load.elと呼ばれる新しいファイルを編:そこで

    私はこのコメントを見てコードの行は、C-x C-eと評価し、それは魅力のように働いた。

    EDIT

    は、私が最後にこれらの行を追加するまで、作業生成されたファイルを取得することができませんでした。これを書いているとして、私は、彼らが必要な理由を把握するために時間を取られますが、それらを追加することは問題が固定されていない:

    (provide 'go-mode-load) 
    ;; Local Variables: 
    ;; version-control: never 
    ;; no-byte-compile: t 
    ;; no-update-autoloads: t 
    ;; coding: utf-8 
    ;; End: 
    ;;; go-mode-load.el ends here 
    
    0

    チェックアウトgo-mode-el GitHub webpageから実際のインストール手順を。チュートリアルに反映されていない変更がいくつかあるようです。

    ことだけELPAを使用するか、手動の指示に従ってくださいどちらかにしてみてください:

    (add-to-list 'load-path "/place/where/you/put/it/") 
    (require 'go-mode-autoloads)