symbol的值作为变量是void:php-executable

时间:2015-02-22 11:39:32

标签: emacs yasnippet

当我尝试通过将C-c C-y按入Emacs来使用php-auto-yasnippets时,我在迷你缓冲器上打印了以下警告

symbol's value as variable is void: php-executable

我正在使用带有php5-cli的Ubuntu 14.04。我确实在我的emacs配置文件中使用setq将变量设置为正确的路径

(add-to-list 'load-path "~/.emacs.d/site-lisp")
(add-to-list 'load-path "~/.emacs.d/elpa/yasnippet-0.8.0")
(require 'php-auto-yasnippets)
(setq php-auto-yasnippet-php-program "~/.emacs.d/site-lisp/Create-PHP-YASnippet.php")

我知道这个问题已经解决了其他模块,但我不熟悉lisp编程来修复php-auto-yasnippets模块。非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

看起来php-auto-yasnippets代码依赖于同一作者编写的php-mode。您可以按照php-mode repository中提供的说明进行安装,然后在require包之前php-auto-yasnippets进行操作,如下所示:

(add-to-list 'load-path "~/.emacs.d/site-lisp")
(add-to-list 'load-path "~/.emacs.d/elpa/yasnippet-0.8.0")
(require 'php-mode)
(require 'php-auto-yasnippets)
(setq php-auto-yasnippet-php-program "~/.emacs.d/site-lisp/Create-PHP-YASnippet.php")

或者您可能只是尝试先设置php-executable变量,但不确定这是否会解决其他尚未知的依赖项:

(add-to-list 'load-path "~/.emacs.d/site-lisp")
(add-to-list 'load-path "~/.emacs.d/elpa/yasnippet-0.8.0")
(setq php-executable "/usr/bin/php")
(require 'php-auto-yasnippets)
(setq php-auto-yasnippet-php-program "~/.emacs.d/site-lisp/Create-PHP-YASnippet.php")