Installa la BCE con il kit starter EMACS in EMACS 24
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:
- Aggiunta
ecb
amy-packages
Elenco come descritto qui - Installazione
ecb
insieme alist-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
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
Aggiungi (setq versione-error nil) in ecb-uprade.el
il che significa che nessun controllo della cedet.Corretto (BCE-abilita-bomba-buffer-show-show) a (ecb-enable-b-tEmp buffer-show-function) in ecb.el
Elimina ECB.ELC e ECB-upgrade.elc
Mx byte-compale-file ecb.el e bocc-upgrade.el
Aggiungi (setq stack-trace-on-error t) in .emacs o .emacs.d/init.el
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:
- (setq stack-trace-on-error t) (aggiungilo al tuo file .emacs)
- Successivamente, dovresti trovare una versione variabile-CEDET-Richiesta-Max. Nella mia versione di Cedet è in ECB-Cedet-wrapper.el: 83
- 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.
- È 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)