Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

forge-pull: (wrong-type-argument (or eieio-object cl-structure-object oclosure) nil) #553

Closed
hrehfeld opened this issue Apr 17, 2023 · 3 comments

Comments

@hrehfeld
Copy link

From a repo status buffer in magit v3.3.0-599-gf59df798 I press f n and then get this error:

Debugger entered--Lisp error: (wrong-type-argument (or eieio-object cl-structure-object oclosure) nil)
  #<subr eieio-oref>(nil selective-p)
  eieio-oref--closql-oref(#<subr eieio-oref> nil selective-p)
  apply(eieio-oref--closql-oref #<subr eieio-oref> (nil selective-p))
  eieio-oref(nil selective-p)
  forge-pull(nil nil t)
  funcall-interactively(forge-pull nil nil t)
  call-interactively(forge-pull nil nil)
  command-execute(forge-pull)

forge is at 4dfbc3a , eieio-version "1.4"

might be related to #550

@tarsius
Copy link
Member

tarsius commented Apr 17, 2023

I cannot tell from the backtrace whether this is caused by code-review, but because that package is broken until its maintainer makes changes that are necessary due to backward-incompatible changes in closql, you should temporarily remove it anyway. See wandersoncferreira/code-review#245 and magit/closql#8.

There also was another, potentially related, issue in EmacSQL, which I fixed a few minutes ago: #552. (Usually it takes a few hours for a new package to become available in Melpa, so you might want to wait a bit before trying to update).

@hrehfeld
Copy link
Author

(I'm not using code-review)

Error persists with emacsql="3.1.1.50-git"

@tarsius
Copy link
Member

tarsius commented Apr 18, 2023

Ok, then it is time for the reinstallation dance.

Uninstall emacsql, closql and forge. Exit Emacs. Restart Emacs. Install forge, which also brings in the other packages as dependencies.

Sadly this is often needed when a macro changes. If a package is already loaded when an update for it is installed, then the old version can leak into the new byte-code.

@tarsius tarsius closed this as completed May 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants