2013-10-15 1 views
7

Quand je charge mon .emacs, bien que le thème de la couleur, le crépuscule, des charges allant bien, mais il me montre ce message d'erreur:Comment réparer "La définition de la fonction de symbole est vide" lors du chargement d'un thème de couleur dans emacs24?

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

Dans mon .emacs j'ai mis les lignes suivantes pour ajouter le thème de la couleur:

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

la vie de fichier color-theme-twilight.el dans ~/.emacs.d/themes/

Je regardé this question. Mais la solution est une correction à une faute de frappe. Mais je ne fais pas cette faute de frappe. Je suis sur emacs24. Quel est le problème?

Répondre

1

Si vous utilisez emacs 24, je pense que vous pouvez changer les 4 lignes vous incluez par cette seule ligne:

(load-theme 'twilight t) 

Pas supplémentaire exige; cela utilise l'approche du thème emacs 24.

Si vous utilisez une version récente de twilight, cela ne devrait pas vous donner d'erreur.

+0

Non. Il donne toujours l'erreur. :( –

+0

Essayez de déplacer le fichier .el dans un répertoire de votre chemin de chargement.En fait, ce serait plus simple si vous installiez ce thème via package-install – juanleon

+0

'~/.emacs.d/themes /' est déjà dans mon –

0

Vous dites "Le fichier color-theme-twilight.el vit dans ~/.emacs.d/themes /." Mais je ne vois pas où vous chargez ce fichier. Ajoutez (require 'color-theme-twilight) à votre fichier init, et assurez-vous que color-theme-twilight.el est dans votre load-path.

+0

Essayé: Message d'erreur: 'Impossible d'ouvrir le fichier de chargement: color-theme-twilight' –

+1

Si vous mettez un fichier nommé' color-them-twilight.el' dans votre 'load-path', et si vous évaluez' (nécessite 'color-theme-twilight) ', et si ce fichier fait' (fournit' color-theme-twilight) ', alors le fichier sera chargé mais si le fichier ne contient pas' provide', alors vous devrez utiliser ' load-library', 'load', ou' load-file' pour le charger, au lieu de 'require' .S'il a' provide', mais 'provide' donne un autre nom que 'color-theme-twilight', alors votre 'require' doit aussi utiliser ce nom de fonction.Fait' Ch f' pour chacune des fonctions que j'ai mentionnées, et vous comprendrez sans doute. – Drew

7

Résolu le problème. Suppression de toutes les lignes:

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

Et ajouté:

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

Le problème était la dernière ligne:

(color-theme-twilight) 

trois autres lignes ne sont pas nécessaires du tout. Je ne sais pas si c'est la solution la plus élégante.

Questions connexes