2013-10-15 4 views
7

Wenn ich meine .emacs laden, obwohl die Farbe Thema, Dämmerung, Lasten bis gut, aber es zeigt mir diese Fehlermeldung:Wie behebt man "Symbols Funktionsdefinition ist void" beim Laden eines Farbdesigns in emacs24?

Symbol's function definition is void: color-theme-twilight 

In meinem .emacs ich die folgenden Zeilen die Farbe Thema hinzuzufügen gesetzt haben:

(require 'color-theme) 
(setq color-theme-is-global t) 
(color-theme-initialize) 
(color-theme-twilight) 

Die color-theme-twilight.el Datei lebt in ~/.emacs.d/themes/

schaute ich auf this Frage. Aber die Lösung ist eine Korrektur eines Tippfehlers. Aber ich mache diesen Tippfehler nicht. Ich bin auf Emacs24. Was ist das Problem?

Antwort

1

Wenn Sie 24 Emacs verwenden, glaube ich Ihnen die vier Linien, die Sie durch diese einzelne Zeile enthalten ändern könnte:

(load-theme 'twilight t) 

Keine extra erfordert; Verwenden Sie den Emacs 24-Theme-Ansatz.

Wenn Sie eine aktuelle Version von twilight verwenden, sollte das keinen Fehler geben.

+0

Nein. Es gibt immer noch den Fehler. :( –

+0

Versuchen Sie, die .el-Datei in ein Verzeichnis in Ihrem Ladepfad zu verschieben. In der Tat wäre es einfacher, wenn Sie dieses Thema über Paketinstallation installiert. – juanleon

+0

'~/.emacs.d/themes /' ist bereits in meinem load path. –

0

Sie sagen "Die color-theme-twilight.el Datei lebt in ~/.emacs.d/themes /." Aber ich sehe nicht, wo Sie diese Datei laden. Fügen Sie Ihrer Init-Datei (require 'color-theme-twilight) hinzu, und stellen Sie sicher, dass sich color-theme-twilight.el in Ihrem load-path befindet.

+0

Versucht Fehlermeldung: 'Load-Datei kann nicht geöffnet werden: color-theme-twilight' –

+1

Wenn Sie eine Datei mit dem Namen' color-them-twilight.el' in Ihren 'Ladepfad' legen, und wenn Sie' auswerten (benötigt 'color-theme-twilight) ', und wenn diese Datei' (colour-theme-twilight) '' liefert, wird die Datei geladen. Aber wenn die Datei nicht 'bereitstellt', müssen Sie' verwenden load-library ',' load' oder 'load-file' um es zu laden, anstatt' require'. Wenn es 'provide' hat, aber' provide' gibt einen anderen Feature-Namen als 'color-theme-twilight', Dann muss Ihr "require" auch diesen Feature-Namen verwenden. Tun Sie 'Ch f' für jede der Funktionen, die ich erwähnt habe, und Sie werden zweifellos verstehen. – Drew

7

Das Problem wurde behoben. Entfernt alle Linien:

(require 'color-theme) 
(setq color-theme-is-global t) 
(color-theme-initialize) 
(color-theme-twilight) 

Und fügte hinzu:

(load-file "~/.emacs.d/themes/color-theme-twilight.el") 

Das Problem war die letzte Zeile:

(color-theme-twilight) 

Weitere drei Linien werden nicht benötigt. Nicht sicher, ob dies die eleganteste Lösung ist.