2010-11-29 5 views
2

Installiert GNU Emacs 23.2.1 (I686-PC-Linux-gnu) und ich bekomme ständig speichern Fehler. Die folgende Zeile wird immer wieder mit Intervallen von vielleicht 30 Sekunden wiederholt.Emacs Cache Fehler speichern mit Cedet

byte-code: Beginning of buffer [6 times] 
Error Writing Table: #<semanticdb-table ctype.h> 
Save Error: "\"Error in macro \\\"name\\\"\"": /home/user/.emacs.d/semanticdb/!usr!include!semantic.cache 

Irgendwelche nützlichen Tipps, warum oder vielleicht sogar eine Lösung? Stripped meine .emacs nur auf die folgenden 2 Zeilen aber die Probleme bestehen nach wie vor

(global-ede-mode 1) 
(semantic-mode 1) 

versucht, die Cache-Dateien unter dem/sematicsdb/Ordner zu löschen, aber immer noch die Fehlermeldung erscheint.

Antwort

3

Da ist ein Makro irgendwo in einer Ihrer Header-Dateien, die CEDET nicht verarbeiten kann. Neuere Versionen von CEDET (die aus dem bzr-Repository auf cedet.sf.net) umgehen das Problem zuerst, indem sie einige Macro-Parsing-Probleme beheben, und zweitens, indem sie diese Probleme während eines Speichervorgangs ignorieren.

Die neuere Version von cedet, die nicht mit Emacs kommt eine andere installieren als das, was in Emacs ist, aber es sollte noch funktionieren, wenn Sie den Installationsanweisungen (welche umfasst nicht ‚semantisch-Modus‘) folgen.

+0

Hey Eric, ich bin gerade mit dem ähnlichen Problem konfrontiert. Könntest du etwas genauer zu diesem Thema sein? *** Es gibt irgendwo in einer Ihrer Header-Dateien ein Makro, das CEDET nicht verarbeiten kann *** Sie meinten es in der .emacs-Konfigurationsdatei oder in der cpp-Quelldatei? Danke –

+0

Ich beziehe mich auf C Präprozessormakros. Einige von ihnen werden komplex und die resultierenden analysierten Daten können nicht gespeichert werden, was zu einem Fehler führt. Leider werden diese kaputten Makros erst erkannt, wenn sie gespeichert werden, was es schwierig macht, sie zu finden. – Eric