emacs-php / emacs-php/php-runtime.el
Bug: cl-assert Error Related to EIEIO
- 主要言語
- Emacs Lisp
- スター
- 8
- フォーク
- 2
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
When I try to compile the package I get this error:
```lisp
Debugger entered--Lisp error: (cl-assertion-failed ((not (symbolp body)) nil))
cl--assertion-failed((not (symbolp body)))
eieio--defalias(php-runtime-run nil)
byte-code("\300\301\302\301\303\"\"\210\304\301\303\305\306$\210\300\307\302\307\303\"\"\210\304\307\303\305\310$\210\300\311\302\311\303\"\"\210\304\311\303\305\312$\210\300\313\302\313\303\"\"\210\304\313\303\305\314$\210\300\315\302\315\303\"\"\210\304\315\303\305\316$\210\300\317\302\317\303\"\"\210\304\317\303\305\320$\210\300\321\302\321\303\"\"\210\304\321\303\305\322$\207" [eieio--defalias php-runtime-run eieio--defgeneric-init-form nil eieio--defmethod php-runtime-execute #f(compiled-function (php) "Execute PHP process using `php -r' with code.\n\nThis execution method is affected by the number of character limit of OS command arguments.\nYou can check the limitation by command, for example (shell-command-to-string \"getconf ARG_MAX\") ." #) php-runtime--call-php-process #f(compiled-function (php args) "Execute PHP Process by php-execute `PHP' and `ARGS'." #) php-runtime--call-php-process-with-input-buffer #f(compiled-function (php args) "Execute PHP Process with STDIN by php-execute `PHP' and `ARGS'." #) php-runtime--get-command-line-arg #f(compiled-function (php) "Return command line string" #) php-runtime--stdin-by-file-p #f(compiled-function (php) "Return T if (oref php stdin) is file." #) php-runtime--get-input #f(compiled-function (php) #) php-runtime-stdout-buffer #f(compiled-function (php) "Return output buffer." #)] 5)
#("/home/eric/.emacs.d/local/php-runtime.el/php-runtime.elc")
apply(# "/home/eric/.emacs.d/local/php-runtime.el/php-runtime.elc")
load("/home/eric/.emacs.d/local/php-runtime.el/php-runtime.elc")
byte-recompile-file("/home/eric/.emacs.d/local/php-runtime.el/php-runtime.el" nil 0 t)
emacs-lisp-byte-compile-and-load()
funcall-interactively(emacs-lisp-byte-compile-and-load)
call-interactively(emacs-lisp-byte-compile-and-load nil nil)
command-execute(emacs-lisp-byte-compile-and-load)
```
The problem is a call to `cl-assert` inside of `eieio--defalias` which is invoked by `php-runtime-run`. I am trying to figure out the fix for this but I have very, very small experience using EIEIO, so there may be an obvious solution which I simply am not seeing.
I am using `GNU Emacs 26.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.18.9) of 2017-07-24`.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
php-runtime.el をバイトコンパイルして失敗を再現し、報告された eieio--defalias の呼び出しが cl-assert を発生させる php-runtime-run から調査を始めてください。周辺の EIEIO 定義とスタックトレースを読み、なぜエイリアス本体がシンボルなのかを特定してください。php-runtime.el がこのアサーションなしでコンパイルおよびロードできれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- emacs-lisp, php
- 領域
- tooling
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100