6

Emacsスターターキットをインストールしています。ECBをインストールして実行しようとすると、機能しません。
なにが問題ですか?ECBをEmacsスターターキットで動作させる方法は?

ECBのインストール

私は2つの方法を試しました:

  1. ここで説明されているようにリストに追加ecbしますmy-packages
  2. コマンドecbでインストールlist-packages

どちらの方法でも同じ結果が得られます。インストール中に、次のような多くの警告が表示されました

In ecb-test-with-original-advice-set:
ecb-advice-test.el:122:16:Warning: reference to free variable `ecb-version'

In ecb-analyse-jump-to-tag:
ecb-analyse.el:443:24:Warning: `interactive-p' is an obsolete function (as of
23.2); use `called-interactively-p' instead.

ファイルの合計サイズは807行で、投稿を読みやすくするためにここに追加する方法がわかりません:)

ECBの使用法

(require 'ecb)
以下に追加してECBを起動しようとすると~/.emacs.d/$USER.el、Emacsの起動時にエラーが発生します。

File error: Cannot open load file, ecb

変数load-pathには、ecbファイルへのパスが含まれていません。(require 'ecb)エラーなしでEmacsを起動するとload-path、文字列が含まれています
"/home/maksim/.emacs.d/elpa/ecb-2.40"。次の行を追加します

(add-to-list 'load-path (expand-file-name "~/.emacs.d/elpa/ecb-2.40"))

Emacsをエラーなしで起動させますが、ECBはまだecb-activate機能せず、以下に説明するように動作します。

呼び出してECBを開始しようとすると、バッファーecb-activateに次のように表示されます。*Messages*

ECB 2.40 uses CEDET 1.0 (contains semantic 2.0, eieio 1.3, speedbar <unknown
version>).
ecb-activate-internal: Symbol's value as variable is void: stack-trace-on-error

次の行をに追加すると~/.emacs.d/$USER.el

(setq stack-trace-on-error t)

その後、次のようにecb-activate応答します

ECB 2.40 uses CEDET 1.0 (contains semantic 2.0, eieio 1.3, speedbar <unknown
version>).
All requirements for ECB 2.40 fulfilled - Enjoy it!
The ECB is now deactivated.
ecb-clean-up-after-activation-failure: ECB 2.40: Errors during the basic setup
of ECB. (error-type: void-function, error-data:
(ecb-enable-own-temp-buffer-show-futition))

バージョン情報

  • pluot上の2011-12-06のGNUEmacs24.0.92.1(x86_64-pc-linux-gnu、GTK +バージョン2.22.0)
    、Debianによって変更
  • emacs-starter-kit 2.0.3
  • ecb 2.40
4

6 に答える 6

3

私はあなたと同じ問題を抱えていました、私はちょうどそれを解決しました、ここに私の仕様があります:

  • GNU Emacs 24.0.93.1(Ubuntu 11.10でスナップショットgtkバージョンを使用しています)
  • スターターキット2.0.3
  • CEDET 1.0pre7(組み込みです)
  • CVSリポジトリからの最新のECB(http://ecb.cvs.sourceforge.net/ecb/ecb/)

さらに、@ user1150335がバージョン番号で言ったように、@user1150335が言ったようにバージョン番号を変更する必要はありませんでした。私が何かを見逃した場合、または構成についてさらに何かが必要な場合は、私に知らせてください。

于 2012-02-23T17:31:32.617 に答える
2

ecb-cedet-required-version-max変数を編集してみてください(ecb-cedet-wrapper.elにあります)。私のために働いた。更新:使用しているセデットのバージョンがわかりません。しかし、私がどのように行ったかの例があります。

  1. (setq stack-trace-on-error t)(.emacsファイルに追加します)
  2. 次に、変数ecb-cedet-required-version-maxを見つける必要があります。私のバージョンのcedetでは、ecb-cedet-wrapper.el:83にあります。
  3. バージョンチェックをバイパスするには、現在インストールされているセデットよりも大きくする必要があります。(defconst ecb-cedet-required-version-max'(1 2 4 9)現在利用可能なすべてのバージョンに対してトリックを実行します。
  4. それで全部です。emacsを再起動してテストします。

何らかの理由で、stack-trace-on-errorは、修正後もtrueである必要があります。GNU Emacs 24.0.92.1、CEDETバージョン:1.1beta(bzrからの最後のチェックアウト)、およびcvsからのecbの最後のチェックアウトでテストしました。私は最近ecbを実際には使用していませんが、ecb-byte-compile、ecb-activate、ecb-deactivate、ecbウィンドウ(メソッド、dirs、ソース)にジャンプし、cppファイルとelispファイルを開きます。すべてが正常に機能します。

于 2012-01-15T12:24:10.250 に答える
2

修正する必要があります

(ecb-enable-own-temp-buffer-show-futition)

(ecb-enable-own-temp-buffer-show-function)

ecb.elで

于 2012-03-28T02:59:42.377 に答える
2

newcedetと呼ばれる新しいECBブランチがgithubにあります。このバージョンのECBは、新しいEmacsバージョンおよびCEDET1.1以降と互換性があります。これに関するECBメーリングリストに関する議論もあります。

于 2012-07-04T05:46:58.347 に答える
2
  1. ecb-uprade.elに(setq version-error nil)を追加します
    。これは、cedetのバージョンチェックがないことを意味します。

  2. ecb.elの(ecb-enable-own-temp-buffer-show-futition)を(ecb-enable-own-temp-buffer-show-function)に修正

  3. ecb.elcとecb-upgrade.elcを削除します

  4. Mxバイトコンパイルファイルecb.elおよびecb-upgrade.el

  5. .emacsまたは.emacs.d/init.elに(setq stack-trace-on-error t)を追加します

  6. Mxecb-アクティブ

于 2012-09-03T20:14:17.677 に答える
1

インストールecb-snapshot

M-x package-list-packages

そこからecb-snapshotを選択します。また、これを〜/ .emacs.d /$USER.elに配置します

(require 'ecb)
(setq stack-trace-on-error t)
于 2013-01-11T10:47:53.563 に答える