Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Bug: cl-assert Error Related to EIEIO

Open
#4 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
emacs-lisp, php
Domain
tooling

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

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.

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from emacs-php/php-runtime.el

All issues in emacs-php/php-runtime.el

Similar issues

More DevTools issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.