Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Bug: cl-assert Error Related to EIEIO

オープン
#4 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
emacs-lisp, php
領域
tooling

調査の方向性

php-runtime.el をバイトコンパイルして失敗を再現し、報告された eieio--defalias の呼び出しが cl-assert を発生させる php-runtime-run から調査を始めてください。周辺の EIEIO 定義とスタックトレースを読み、なぜエイリアス本体がシンボルなのかを特定してください。php-runtime.el がこのアサーションなしでコンパイルおよびロードできれば完了です。

索引モデルが issue の本文から書いたものです。

説明

bug

When I try to compile the package I get this error:

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\") ." #<bytecode>) php-runtime--call-php-process #f(compiled-function (php args) "Execute PHP Process by php-execute `PHP' and `ARGS'." #<bytecode>) php-runtime--call-php-process-with-input-buffer #f(compiled-function (php args) "Execute PHP Process with STDIN by php-execute `PHP' and `ARGS'." #<bytecode>) php-runtime--get-command-line-arg #f(compiled-function (php) "Return command line string" #<bytecode>) php-runtime--stdin-by-file-p #f(compiled-function (php) "Return T if (oref php stdin) is file." #<bytecode>) php-runtime--get-input #f(compiled-function (php) #<bytecode>) php-runtime-stdout-buffer #f(compiled-function (php) "Return output buffer." #<bytecode>)] 5)
  #<subr load>("/home/eric/.emacs.d/local/php-runtime.el/php-runtime.elc")
  apply(#<subr load> "/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.

主要言語
Emacs Lisp
スター
8
フォーク
2
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

emacs-php/php-runtime.el のほかの issue

emacs-php/php-runtime.el の issue をすべて見る

似ている issue

DevTools の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。