"Die Funktionsdefinition des Symbols ist ungültig: cl-macroexpand-all" beim Versuch, den PHP-Modus zu installieren

7

Ich versuche, den PHP-Modus zu installieren , aber beim Ausführen tritt immer wieder dieser Fehler auf M-x php-mode:

Symbol's function definition is void: cl-macroexpand-all

Der Fehler bleibt bestehen, ob ich den PHP-Modus über MELPA oder manuell installiere.

Umgebung: Emacs 24.3.94.1 (x86_64-apple-darwin13.4.0, NS apple-appkit-1265.21) vom 04.10.2014 auf builder10-9.porkrind.org

Warum läuft der PHP-Modus nicht? Hinweis: Ich bin relativ neu bei Emacs und unerfahren.

cg433n
quelle
Gleiches Problem und gleiche Lösung für cuda-modein MELPA (Version cuda-mode-20140704.1357). Beim Versuch, die cuda-modeVerwendung zu aktivieren , tritt M-x cuda-modeder Fehler auf, der jedoch nach Verwendung M-x load-library <RET> cldes Befehls M-x cuda-modeohne Probleme ausgeführt wird.
Boclodoa
cuda-modeist auf GitHub ; Erwägen Sie, ein Problem mit dem Issue-Tracker zu öffnen .
Constantine
Hier ist das Problem , danke :)
Boclodoa

Antworten:

7

Die Funktion cl-macroexpand-allwurde in Emacs 24.3 überholt. Sie sollten jetzt macroexpand-allstattdessen verwenden, was Teil von Emacs ist, nicht die CL-Bibliothek.

Die CL-Bibliothek wird cl-macroexpand-allals Alias ​​für definiert macroexpand-all, sodass Sie dies im Prinzip tun können

(require 'cl)

in Ihrer Init-Datei, um das Problem zu beheben. Die clBibliothek selbst ist jedoch veraltet, und die Verwendung wird nicht empfohlen.

Ich denke, Sie sollten die Autoren von kontaktieren php-modeund ihnen sagen, dass sie verwenden sollen macroexpand-all.

jch
quelle
Der Entwickler scheint sich des Problems bewusst zu sein: ejmr / php-mode # 202
cg433n
4

Es ist Fehler # 18845 in Emacs-24.4. Um dies zu umgehen, müssen Sie (require 'cl)irgendwo etwas hinzufügen, bevor Sie den PHP-Modus laden.

Stefan
quelle