"La definición de la función del símbolo es nula: cl-macroexpand-all" al intentar instalar el modo php

7

Estoy tratando de instalar el modo php , pero sigo encontrando este error cuando ejecuto M-x php-mode:

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

El error persiste si instalo el modo php a través de MELPA o manualmente.

Medio ambiente: Emacs 24.3.94.1 (x86_64-apple-darwin13.4.0, NS apple-appkit-1265.21) del 04/10/2014 en builder10-9.porkrind.org

¿Por qué no se ejecuta el modo php? Nota: Soy relativamente nuevo en Emacs e inexperto.

cg433n
fuente
Mismo problema y misma solución para cuda-modeen MELPA (versión cuda-mode-20140704.1357). Cuando se trata de habilitar el cuda-modeuso M-x cuda-mode, aparece el error, pero después de usar M-x load-library <RET> clel comando se M-x cuda-modeejecuta sin problemas.
boclodoa
cuda-modeestá en GitHub ; considere abrir un problema utilizando su rastreador de problemas .
Constantine
Aquí está el problema , gracias :)
boclodoa

Respuestas:

7

La función cl-macroexpand-allha quedado obsoleta en Emacs 24.3; ahora se supone que debes usarlo macroexpand-all, que es parte del núcleo de Emacs, no de la biblioteca CL.

La biblioteca CL se define cl-macroexpand-allcomo un alias para macroexpand-all, por lo que , en principio, podría hacer

(require 'cl)

en su archivo de inicio para solucionar el problema. Sin embargo, la clbiblioteca en sí está en desuso y no se recomienda su uso.

Creo que deberías contactar a los autores php-modey decirles que lo usen macroexpand-all.

jch
fuente
El desarrollador parece estar al tanto del problema: ejmr / php-mode # 202
cg433n
4

Es el error # 18845 en Emacs-24.4. Para solucionarlo, debe agregar un (require 'cl)lugar antes de cargar el modo php.

Stefan
fuente