Bug: cl-assert Error Related to EIEIO
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
Research direction
Reproduce the failure by byte-compiling php-runtime.el and start at php-runtime-run, where the reported call to eieio--defalias triggers cl-assert. Read the surrounding EIEIO definitions and the stack trace to determine why the alias body is a symbol. Done means php-runtime.el compiles and loads without this assertion.
Written by the indexing model from the issue text.
Description
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.
- Dominant language
- Emacs Lisp
- Stars
- 8
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from emacs-php/php-runtime.el
-
Creating a RoadmapOpen
Difficulty 5/5 Over a week Newbie friendliness 25/100
emacs-php/php-runtime.el#3 · 1 reaction ·
-
Unit TestingMay be free again @ejmr claimed this 2930 days ago, and no pull request is open. Open
emacs-php/php-runtime.el#2 · 1 reaction · 1 assignee ·
All issues in emacs-php/php-runtime.el
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
symfony/maker-bundle#1841 ·
Maintainers usually reply within 1 day
-
package-request
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
ScoopInstaller/Versions#3079 ·
Maintainers usually reply within 1 day
-
area:release bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
registrystack/registry-stack#1874 ·
Maintainers usually reply within 1 day
-
namespace operations
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
EclipseFdn/open-vsx.org#13702 ·
Maintainers usually reply within 1 day