Nach einem langen Debugging meiner init.el-Datei sieht es so aus, als würde die erste Zeile des folgenden Elisp-Codes (custom-set-variables
einen Fehler "Dateiende beim Parsen" hervorrufen, den ich absolut nicht verstehe. Wenn ich diese Zeile kommentiere, ist alles in Ordnung. Ich habe diesen Code nicht einmal selbst eingegeben, da er automatisch in init.el aus dem customize
Menü hinzugefügt wurde .
(custom-set-variables
'(global-hl-line-mode t)
'(ido-mode (quote buffer) nil (ido))
'(menu-bar-mode nil)
(when (display-graphic-p)
(tool-bar-mode -1)
(scroll-bar-mode -1))
Hier ist die vollständige Fehlermeldung:
Warnung (Initialisierung): Beim Laden von `/Users/me/.emacs.d/init.el 'ist ein Fehler aufgetreten:
Dateiende beim Parsen: /Users/me/.emacs.d/init.el
Jede Hilfe wäre dankbar! Vielen Dank
M-x check-parens
zum betreffenden Abschnitt springen. Wenn die Datei kurz ist oder Sie einen kurzen Codeabschnitt betrachten, gibt es Methoden, um übereinstimmende Klammern hervorzuheben, um visuell zu sehen, wo eine Klammer falsch platziert ist oder fehlt. Hier ist ein Link zu meiner eigenen Variante vonhighlight-parentheses-mode
: stackoverflow.com/a/23998965/2112489custom-set-variables
in Ihrem eigenen Elisp-Code verwenden. Dies soll automatisch generiert werden nur . Kopieren Sie es nicht und fügen Sie es nicht ein. Suchen Sie nach gleichwertigem Code mitsetq
oder ähnlichem.Antworten:
Der Fehler "Dateiende beim Parsen" bedeutet, dass Sie keinen Paren geschlossen haben.
Um dies zu debuggen, sollten Sie
show-paren-mode
um zu sehen , welche paren Ihre aktuellen Spiele - das Ihnen mit der laufenden Code Wartung helfen.Die andere Antwort erklärt richtig, was der tatsächliche Fehler in Ihrem Fall ist.
quelle
Im obigen Beispiel fehlt eine schließende Klammer. Die
when
Aussage ist nicht Teil dercustom-set-variables
. Der korrigierte Code lautet wie folgt:quelle