“A definição da função do símbolo é nula: cl-macroexpand-all” ao tentar instalar o modo php

7

Estou tentando instalar o modo php , mas continuo encontrando esse erro quando executo M-x php-mode:

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

O erro persiste se eu instalo o modo php via MELPA ou manualmente.

Ambiente: Emacs 24.3.94.1 (x86_64-apple-darwin13.4.0, NS apple-appkit-1265.21) de 04/10/2014 em builder10-9.porkrind.org

Por que o modo php não roda? Nota: Sou relativamente novo no Emacs e inexperiente.

cg433n
fonte
Mesmo problema e mesma solução para cuda-modeno MELPA (versão cuda-mode-20140704.1357). Ao tentar ativar cuda-modeusando M-x cuda-modeo erro vem, mas depois de usar M-x load-library <RET> clo comando M-x cuda-modeé executado sem problemas.
boclodoa
cuda-modeestá no GitHub ; considere abrir um problema usando seu rastreador de problemas .
Constantine
Aqui está o problema , obrigado :)
boclodoa

Respostas:

7

A função cl-macroexpand-allfoi obsoleta no Emacs 24.3; agora você deve usar macroexpand-all, que faz parte do Emacs principal, não da biblioteca CL.

A biblioteca CL define cl-macroexpand-allcomo um alias para macroexpand-all, portanto, em princípio, você poderia fazer

(require 'cl)

no seu arquivo init para corrigir o problema. No entanto, a clprópria biblioteca está sendo preterida e seu uso não é recomendado.

Eu acho que você deve entrar em contato com os autores php-modee dizer para eles usarem macroexpand-all.

jch
fonte
O desenvolvedor parece estar ciente do problema: ejmr / php-mode # 202
cg433n
4

É o bug # 18845 no Emacs-24.4. Para contornar isso, você precisa adicionar um (require 'cl)lugar antes de carregar o modo php.

Stefan
fonte