Herstellung PHP-Modus (und anderen CC-Modus abgeleitet Modi) kompatibel mit Emacs 23

StackOverflow https://stackoverflow.com/questions/898063

  •  23-08-2019
  •  | 
  •  

Frage

Ich bin mit Emacs 23 und php-mode.el 1.5.0. Wenn ich dies in meinem .emacs:

(require 'php-mode)

Ich erhalte diese Fehlermeldung, wenn Emacs beginnt:

  

Warnung (Initialisierung): Fehler beim Laden `/Users/kdj/.emacs':

     

Fehler: `c-lang-defconst‘ muss in einer Datei verwendet werden

     

normalen Betrieb zu gewährleisten, sollten Sie untersuchen, und entfernen Sie die   Ursache des Fehlers in Ihrer Initialisierungsdatei. Starten Sie Emacs mit   die `debug-init‘ Option, um eine vollständige Fehlerbacktrace anzuzeigen.

Wenn ich (require 'php-mode) bewerten nach Emacs beginnt, ich erhalte keine Fehlermeldungen.

fand ich einen Blogeintrag , die anzeigt, dass dieses Problem ist spezifisch für Emacs 23 (das heißt, es ist kein Fehler mit Emacs 22.x), aber es gibt keine Lösungen.

Ich weiß nicht, ob dies wichtig ist, aber ich bin mit Mac OS X, und ich baute Emacs aus den aktuellen CVS-Quellen, ./configure --with-ns verwendet wird.

Was ist denn hier los, und / oder wie kann ich es beheben?

War es hilfreich?

Lösung

Ich lief in das gleiche Problem beim Versuch, den csharp-Modus zum Laufen zu bekommen. Ich fand schließlich die Lösung, wenn sie in die eigentliche Emacs Lisp-Datei für csharp-Modus Graben:

;;   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.

Also, die quick and dirty fix in Ihrem .emacs zu setzen, um Auto Last auf Erweiterung und (require 'php-mode) oder (load "php-mode") nicht dort setzen. Ohne weitere Umschweife,

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

Ich hoffe, das hilft! Jetzt brauche ich nur zu arbeiten, um die PHP / HTML-Modus Schalen Sachen zu bekommen. Wünscht mir Glück.

Andere Tipps

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top