Question

J'utilise Emacs 23 et php-mode.el 1.5.0. Quand j'ai dans mon .emacs:

(require 'php-mode)

Je reçois ce message d'erreur au démarrage d'Emacs:

  

Warning (initialisation): Une erreur est survenue pendant le chargement `/Users/kdj/.emacs':

     

erreur: `c-lang-defconst » doit être utilisé dans un fichier

     

Pour assurer le fonctionnement normal, vous devez étudier et retirer la   cause de l'erreur dans votre fichier d'initialisation. Démarrez avec Emacs   l'option `--debug-init » pour afficher une erreur complète de backtrace.

Si j'évalue (require 'php-mode) après Emacs démarre, je ne reçois pas de messages d'erreur.

J'ai trouvé un qui indique que ce problème est spécifique à Emacs 23 (qui est, il n'y a pas d'erreur avec Emacs 22.x), mais il ne donne pas de solutions.

Je ne sais pas si cette question est importante, mais je suis sous Mac OS X, et je Emacs construit à partir des sources CVS en cours, en utilisant ./configure --with-ns.

Qu'est-ce qui se passe ici, et / ou comment je peux résoudre ce problème?

Était-ce utile?

La solution

Je suis tombé sur le même problème en essayant d'obtenir le csharp mode et en cours d'exécution. J'ai finalement trouvé la solution en creusant dans le fichier réel Lisp pour csharp mode:

;;   This code doesn't seem to work when you compile it, then
;;   load/require in the Emacs file. You will get an error (error
;;   "`c-lang-defconst' must be used in a file") which happens because
;;   cc-mode doesn't think it is in a buffer while loading directly
;;   from the init. However, if you call it based on a file extension,
;;   it works properly. Interestingly enough, this doesn't happen if
;;   you don't byte-compile cc-mode.

Alors, la solution rapide et sale à mettre dans votre .emacs est à la charge automatique sur l'extension et ne pas mettre (require 'php-mode) ou (load "php-mode") là-dedans. Sans plus tarder,

(autoload 'php-mode "php-mode" "Major mode for editing php code." t)
(add-to-list 'auto-mode-alist '("\\.php$" . php-mode))
(add-to-list 'auto-mode-alist '("\\.inc$" . php-mode))

J'espère que cela aide! Maintenant, je dois juste faire les choses de commutation en mode PHP / HTML de travail. Souhaitez moi bonne chance.

Autres conseils

Il fonctionne très bien avec http://mewde.googlecode.com/files /php-mode-new.el.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top