Pregunta

Estoy usando Emacs 23 y php-mode.el 1.5.0. Cuando tengo esto en mi .emacs:

(require 'php-mode)

Me sale este mensaje de error cuando se inicia Emacs:

  

Advertencia (inicialización): Se produjo un error durante la carga de `/Users/kdj/.emacs':

     

error: `c-lang-defconst' debe ser utilizado en un archivo

     

Para garantizar el funcionamiento normal, se debe investigar y eliminar el   causa del error en el archivo de inicialización. Comience con Emacs   la opción `--debug-init' para ver una traza de error completo.

Si evalúo (require 'php-mode) después del inicio de Emacs, no recibo ningún mensaje de error.

He encontrado una href="http://atomized.org/2008/12/php-mode-150-is-out/" rel="nofollow noreferrer"> entrada de blog

No sé si esto es importante, pero estoy usando Mac OS X, y he construido Emacs de las fuentes actuales de CVS, usando ./configure --with-ns.

Lo que está pasando aquí, y / o cómo se puede arreglar?

¿Fue útil?

Solución

Me encontré con el mismo problema cuando se trata de conseguir el CSharp modo en funcionamiento. Finalmente encontré la solución al excavar en el archivo real de Emacs Lisp para 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.

Por lo tanto, la solución rápida y sucia para poner en su .emacs es cargar Auto en extensión y no puso (require 'php-mode) o (load "php-mode") allí. Sin más,

(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))

Espero que esto ayude! Ahora sólo hay que conseguir las cosas el cambio de modo PHP / HTML de trabajo. Deséame suerte.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top