Domanda

Ho installato Kit di avviamento EMACS. Quando provo a installare ed eseguire la BCE non funziona.
Che c'è? Come far funzionare la BCE con il kit di starter EMACS?

Installazione della BCE

Ho provato due modi:

  1. Aggiunta ecb a my-packages Elenco come descritto qui
  2. Installazione ecb insieme a list-packages comando

Entrambi i modi danno lo stesso risultato. Durante l'installazione ho ricevuto molti avvertimenti come

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.

La dimensione totale del file è 807 righe e non so come aggiungerlo qui mantenendo il post leggibile :)

Utilizzo della BCE

Quando provo a iniziare la BCE aggiungendo (require 'ecb)
a ~/.emacs.d/$USER.el Il seguente errore si verifica all'inizio EMACS:

File error: Cannot open load file, ecb

La variabile load-path non contiene il percorso dei file della BCE. Quando inizio Emacs senza (require 'ecb) Non ci sono errori e load-path contenere la stringa
"/home/maksim/.emacs.d/elpa/ecb-2.40". Aggiunta della seguente riga

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

fa iniziare gli Emac senza errori, ma la BCE non funziona ancora e ecb-activate Atti nel modo descritto di seguito.

Se provo a iniziare la BCE chiamando ecb-activate Vedo quanto segue nel *Messages* respingente:

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

Se aggiungo la seguente riga a ~/.emacs.d/$USER.el

(setq stack-trace-on-error t)

poi ecb-activate risponde quanto segue

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))

Informazioni sulla versione

  • GNU EMACS 24.0.92.1 (X86_64-PC-LINUX-GNU, GTK+ versione 2.22.0)
    del 2011-12-06 su PLUOT, modificato da Debian
  • Emacs-starter-kit 2.0.3
  • ECB 2.40
È stato utile?

Soluzione

Stavo avendo gli stessi problemi di te, l'ho appena risolto, ecco le mie specifiche:

  • GNU EMACS 24.0.93.1 (sto usando la versione GTK Snapshot su Ubuntu 11.10)
  • Starter-kit 2.0.3
  • Cedet 1.0PRE7 (è il integrato)
  • Ultima BCE da CVS Repo (http://ecb.cvs.sourceforge.net/ecb/ecb/)

Inoltre ho fatto come @user1150335 con il numero di versione Non avevo bisogno di modificare il numero di versione come @user1150335. Fammi sapere se mi sono perso qualcosa o hai bisogno di qualcosa di più sulla configurazione.

Altri suggerimenti

  1. Aggiungi (setq versione-error nil) in ecb-uprade.el
    il che significa che nessun controllo della cedet.

  2. Corretto (BCE-abilita-bomba-buffer-show-show) a (ecb-enable-b-tEmp buffer-show-function) in ecb.el

  3. Elimina ECB.ELC e ECB-upgrade.elc

  4. Mx byte-compale-file ecb.el e bocc-upgrade.el

  5. Aggiungi (setq stack-trace-on-error t) in .emacs o .emacs.d/init.el

  6. MX ECB-Active

Prova a modificare la variabile di ecb-cedet-requisited-wirson-max (è in ecb-cedet wrapper.el). Ha funzionato per me. Aggiornamento: non so quale versione di Cedet stai usando. Ma c'è un esempio di come ho fatto, passo dopo passo:

  1. (setq stack-trace-on-error t) (aggiungilo al tuo file .emacs)
  2. Successivamente, dovresti trovare una versione variabile-CEDET-Richiesta-Max. Nella mia versione di Cedet è in ECB-Cedet-wrapper.el: 83
  3. Per bypassare la versione controlla che dovrebbe essere più grande di Cedet attualmente installato. (DefConst ECB-CEDET-Richiesta-Version-Max '(1 2 4 9) farà il trucco per tutte le versioni attualmente disponibili.
  4. È tutto. Riavvia Emacs per testarlo.

Per qualche motivo Stack-Trace-on-Error deve essere vero anche dopo la correzione. L'ho testato con GNU EMACS 24.0.92.1, versione Cedet: 1.1Beta (ultima cassa da BZR) e l'ultimo checkout della BCE da CVS. Non uso davvero la BCE al giorno d'oggi, ma ho provato BCE-BYTE-Compile, BCE-Activate, BCE-DEATTIVATE, salta su Windows BCE (metodi, Dir, fonti), CPP aperti e file ELISP. Tutto funziona bene.

Dovresti correggere

(BCE-abilita-bomba-buffer-show-FUTITION)

a

(BCE-abilita-bomba-buffer-show-function)

in ecb.el

C'è un nuovo ramo della BCE su GitHub chiamato newcedet. Questa versione della BCE è compatibile con nuove versioni EMACS e Cedet 1.1 e superiore. Ci sono anche Discussioni nella mailing list della BCE per quanto riguarda questo.

Installare ecb-snapshot

M-x package-list-packages

e seleziona BCE-SNAPShot da esso. Mettilo anche sul tuo ~/.emacs.d/$ user.el

(require 'ecb)
(setq stack-trace-on-error t)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top