Định nghĩa hàm của Symbol Symbol là void: cl-macroExand-all Tất cả khi cố gắng cài đặt chế độ php


7

Tôi đang cố gắng cài đặt chế độ php , nhưng tôi vẫn gặp phải lỗi này khi chạy M-x php-mode:

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

Lỗi vẫn tồn tại dù tôi cài đặt chế độ php qua MELPA hay thủ công.

Môi trường: Emacs 24.3.94.1 (x86_64-apple-darwin13.4.0, NS apple-appkit-1265,21) của 2014-10-04 trên builder10-9.porkrind.org

Tại sao chế độ php không chạy? Lưu ý: Tôi còn khá mới với Emacs và thiếu kinh nghiệm.


Cùng một vấn đề và cùng một giải pháp cho cuda-modetrong MELPA (phiên bản cuda-mode-20140704.1357). Khi cố gắng kích hoạt cuda-modebằng cách sử dụng M-x cuda-modelỗi, nhưng sau khi sử dụng M-x load-library <RET> cllệnh sẽ M-x cuda-modechạy mà không gặp vấn đề gì.
boclodoa

cuda-modetrên GitHub ; xem xét mở một vấn đề bằng cách sử dụng trình theo dõi vấn đề của nó .
Constantine

Đây là vấn đề , cảm ơn bạn :)
boclodoa

Câu trả lời:


7

Hàm cl-macroexpand-allnày đã bị lỗi thời trong Emacs 24.3; bây giờ bạn phải sử dụng macroexpand-allthay thế, đó là một phần của Emacs cốt lõi, không phải thư viện CL.

Thư viện CL định nghĩa cl-macroexpand-alllà bí danh macroexpand-all, vì vậy về nguyên tắc bạn có thể làm

(require 'cl)

trong tập tin init của bạn để khắc phục vấn đề. Tuy nhiên, clbản thân thư viện đang bị phản đối và việc sử dụng nó không được khuyến khích.

Tôi nghĩ bạn nên liên hệ với các tác giả php-modevà bảo họ sử dụng macroexpand-all.


Nhà phát triển dường như nhận thức được vấn đề: ejmr / php-mode # 202
cg433n

4

Đó là lỗi # 18845 trong Emacs-24.4. Để làm việc xung quanh nó, bạn cần thêm (require 'cl)một nơi nào đó trước khi bạn tải chế độ php.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.