Haciendo php-modo (y otros modos derivados de modo cc) compatible con Emacs 23
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 Lo que está pasando aquí, y / o cómo se puede arreglar? ./configure --with-ns
.
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.
Otros consejos
Funciona bien con http://mewde.googlecode.com/files /php-mode-new.el.