emacscollective/epkg

cl-no-applicable-method closql--resolve-slots

Closed this issue · 4 comments

I've updated all my submodules and ran git pull in my epkgs/ directory. When I type M-: (epkg "magit") with a recent build of Emacs 26, I get this error:

Debugger entered--Lisp error: (cl-no-applicable-method closql--resolve-slots [eieio-class-tag--epkg-github-package #<epkg-database epkg-database> "magit" "edbab840b040dcaa4113df211acedc3a0eaa06ad" "git@github.com:magit/magit.git" "git@github.com:emacsmirror/magit.git" "magit" "magit" "magit" nil nil nil "https://github.com/magit/magit" "https://github.com/magit/magit" "https://github.com/emacsmirror/magit" "https://emacswiki.org/Magit" "GPL-3+" "2017" "20171101" "A Git porcelain inside Emacs" "Magit is an interface to the version control system Git,\nimplemented as an Emacs package.  Magit aspires to be a complete\nGit porcelain.  While we cannot (yet) claim, that Magit wraps and\nimproves upon each and every Git command, it is complete enough to\nallow even experienced Git users to perform almost all of their\ndaily version control tasks directly from within Emacs.  While many\nfine Git clients exist, only Magit and Git itself deserve to be\ncalled porcelains.\n" unbound unbound unbound unbound unbound unbound unbound unbound unbound nil])
  signal(cl-no-applicable-method (closql--resolve-slots [eieio-class-tag--epkg-github-package #<epkg-database epkg-database> "magit" "edbab840b040dcaa4113df211acedc3a0eaa06ad" "git@github.com:magit/magit.git" "git@github.com:emacsmirror/magit.git" "magit" "magit" "magit" nil nil nil "https://github.com/magit/magit" "https://github.com/magit/magit" "https://github.com/emacsmirror/magit" "https://emacswiki.org/Magit" "GPL-3+" "2017" "20171101" "A Git porcelain inside Emacs" "Magit is an interface to the version control system Git,\nimplemented as an Emacs package.  Magit aspires to be a complete\nGit porcelain.  While we cannot (yet) claim, that Magit wraps and\nimproves upon each and every Git command, it is complete enough to\nallow even experienced Git users to perform almost all of their\ndaily version control tasks directly from within Emacs.  While many\nfine Git clients exist, only Magit and Git itself deserve to be\ncalled porcelains.\n" unbound unbound unbound unbound unbound unbound unbound unbound unbound nil]))
  cl-no-applicable-method(#s(cl--generic :name closql--resolve-slots :dispatches ((0 #s(cl--generic-generalizer :name eieio--generic-generalizer :priority 50 :tagcode-function cl--generic-struct-tag :specializers-function #f(compiled-function (tag &rest _) #<bytecode 0x529bf1>)) #s(cl--generic-generalizer :name cl--generic-t-generalizer :priority 0 :tagcode-function #f(compiled-function (name &rest _) #<bytecode 0x257101>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode 0x257115>)))) :method-table (#s(cl--generic-method :specializers (closql-object) :qualifiers nil :uses-cnm nil :function #f(compiled-function (obj) #<bytecode 0x1a4b8f9>))) :options nil) [eieio-class-tag--epkg-github-package #<epkg-database epkg-database> "magit" "edbab840b040dcaa4113df211acedc3a0eaa06ad" "git@github.com:magit/magit.git" "git@github.com:emacsmirror/magit.git" "magit" "magit" "magit" nil nil nil "https://github.com/magit/magit" "https://github.com/magit/magit" "https://github.com/emacsmirror/magit" "https://emacswiki.org/Magit" "GPL-3+" "2017" "20171101" "A Git porcelain inside Emacs" "Magit is an interface to the version control system Git,\nimplemented as an Emacs package.  Magit aspires to be a complete\nGit porcelain.  While we cannot (yet) claim, that Magit wraps and\nimproves upon each and every Git command, it is complete enough to\nallow even experienced Git users to perform almost all of their\ndaily version control tasks directly from within Emacs.  While many\nfine Git clients exist, only Magit and Git itself deserve to be\ncalled porcelains.\n" unbound unbound unbound unbound unbound unbound unbound unbound unbound nil])
  apply(cl-no-applicable-method #s(cl--generic :name closql--resolve-slots :dispatches ((0 #s(cl--generic-generalizer :name eieio--generic-generalizer :priority 50 :tagcode-function cl--generic-struct-tag :specializers-function #f(compiled-function (tag &rest _) #<bytecode 0x529bf1>)) #s(cl--generic-generalizer :name cl--generic-t-generalizer :priority 0 :tagcode-function #f(compiled-function (name &rest _) #<bytecode 0x257101>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode 0x257115>)))) :method-table (#s(cl--generic-method :specializers (closql-object) :qualifiers nil :uses-cnm nil :function #f(compiled-function (obj) #<bytecode 0x1a4b8f9>))) :options nil) [eieio-class-tag--epkg-github-package #<epkg-database epkg-database> "magit" "edbab840b040dcaa4113df211acedc3a0eaa06ad" "git@github.com:magit/magit.git" "git@github.com:emacsmirror/magit.git" "magit" "magit" "magit" nil nil nil "https://github.com/magit/magit" "https://github.com/magit/magit" "https://github.com/emacsmirror/magit" "https://emacswiki.org/Magit" "GPL-3+" "2017" "20171101" "A Git porcelain inside Emacs" "Magit is an interface to the version control system Git,\nimplemented as an Emacs package.  Magit aspires to be a complete\nGit porcelain.  While we cannot (yet) claim, that Magit wraps and\nimproves upon each and every Git command, it is complete enough to\nallow even experienced Git users to perform almost all of their\ndaily version control tasks directly from within Emacs.  While many\nfine Git clients exist, only Magit and Git itself deserve to be\ncalled porcelains.\n" unbound unbound unbound unbound unbound unbound unbound unbound unbound nil])
  #f(compiled-function (&rest args) #<bytecode 0x1aa1c5d>)([eieio-class-tag--epkg-github-package #<epkg-database epkg-database> "magit" "edbab840b040dcaa4113df211acedc3a0eaa06ad" "git@github.com:magit/magit.git" "git@github.com:emacsmirror/magit.git" "magit" "magit" "magit" nil nil nil "https://github.com/magit/magit" "https://github.com/magit/magit" "https://github.com/emacsmirror/magit" "https://emacswiki.org/Magit" "GPL-3+" "2017" "20171101" "A Git porcelain inside Emacs" "Magit is an interface to the version control system Git,\nimplemented as an Emacs package.  Magit aspires to be a complete\nGit porcelain.  While we cannot (yet) claim, that Magit wraps and\nimproves upon each and every Git command, it is complete enough to\nallow even experienced Git users to perform almost all of their\ndaily version control tasks directly from within Emacs.  While many\nfine Git clients exist, only Magit and Git itself deserve to be\ncalled porcelains.\n" unbound unbound unbound unbound unbound unbound unbound unbound unbound nil])
  apply(#f(compiled-function (&rest args) #<bytecode 0x1aa1c5d>) [eieio-class-tag--epkg-github-package #<epkg-database epkg-database> "magit" "edbab840b040dcaa4113df211acedc3a0eaa06ad" "git@github.com:magit/magit.git" "git@github.com:emacsmirror/magit.git" "magit" "magit" "magit" nil nil nil "https://github.com/magit/magit" "https://github.com/magit/magit" "https://github.com/emacsmirror/magit" "https://emacswiki.org/Magit" "GPL-3+" "2017" "20171101" "A Git porcelain inside Emacs" "Magit is an interface to the version control system Git,\nimplemented as an Emacs package.  Magit aspires to be a complete\nGit porcelain.  While we cannot (yet) claim, that Magit wraps and\nimproves upon each and every Git command, it is complete enough to\nallow even experienced Git users to perform almost all of their\ndaily version control tasks directly from within Emacs.  While many\nfine Git clients exist, only Magit and Git itself deserve to be\ncalled porcelains.\n" unbound unbound unbound unbound unbound unbound unbound unbound unbound nil] nil)
  closql--resolve-slots([eieio-class-tag--epkg-github-package #<epkg-database epkg-database> "magit" "edbab840b040dcaa4113df211acedc3a0eaa06ad" "git@github.com:magit/magit.git" "git@github.com:emacsmirror/magit.git" "magit" "magit" "magit" nil nil nil "https://github.com/magit/magit" "https://github.com/magit/magit" "https://github.com/emacsmirror/magit" "https://emacswiki.org/Magit" "GPL-3+" "2017" "20171101" "A Git porcelain inside Emacs" "Magit is an interface to the version control system Git,\nimplemented as an Emacs package.  Magit aspires to be a complete\nGit porcelain.  While we cannot (yet) claim, that Magit wraps and\nimproves upon each and every Git command, it is complete enough to\nallow even experienced Git users to perform almost all of their\ndaily version control tasks directly from within Emacs.  While many\nfine Git clients exist, only Magit and Git itself deserve to be\ncalled porcelains.\n" unbound unbound unbound unbound unbound unbound unbound unbound unbound nil])
  #f(compiled-function (class db row &optional resolve) #<bytecode 0x1a4b8ed>)(epkg-package #<epkg-database epkg-database> (github "magit" "edbab840b040dcaa4113df211acedc3a0eaa06ad" "git@github.com:magit/magit.git" "git@github.com:emacsmirror/magit.git" "magit" "magit" "magit" nil nil nil "https://github.com/magit/magit" "https://github.com/magit/magit" "https://github.com/emacsmirror/magit" "https://emacswiki.org/Magit" "GPL-3+" "2017" "20171101" "A Git porcelain inside Emacs" "Magit is an interface to the version control system Git,\nimplemented as an Emacs package.  Magit aspires to be a complete\nGit porcelain.  While we cannot (yet) claim, that Magit wraps and\nimproves upon each and every Git command, it is complete enough to\nallow even experienced Git users to perform almost all of their\ndaily version control tasks directly from within Emacs.  While many\nfine Git clients exist, only Magit and Git itself deserve to be\ncalled porcelains.\n" unbound unbound unbound unbound unbound unbound unbound unbound unbound nil) t)
  apply(#f(compiled-function (class db row &optional resolve) #<bytecode 0x1a4b8ed>) epkg-package (#<epkg-database epkg-database> (github "magit" "edbab840b040dcaa4113df211acedc3a0eaa06ad" "git@github.com:magit/magit.git" "git@github.com:emacsmirror/magit.git" "magit" "magit" "magit" nil nil nil "https://github.com/magit/magit" "https://github.com/magit/magit" "https://github.com/emacsmirror/magit" "https://emacswiki.org/Magit" "GPL-3+" "2017" "20171101" "A Git porcelain inside Emacs" "Magit is an interface to the version control system Git,\nimplemented as an Emacs package.  Magit aspires to be a complete\nGit porcelain.  While we cannot (yet) claim, that Magit wraps and\nimproves upon each and every Git command, it is complete enough to\nallow even experienced Git users to perform almost all of their\ndaily version control tasks directly from within Emacs.  While many\nfine Git clients exist, only Magit and Git itself deserve to be\ncalled porcelains.\n" unbound unbound unbound unbound unbound unbound unbound unbound unbound nil) t))
  closql--remake-instance(epkg-package #<epkg-database epkg-database> (github "magit" "edbab840b040dcaa4113df211acedc3a0eaa06ad" "git@github.com:magit/magit.git" "git@github.com:emacsmirror/magit.git" "magit" "magit" "magit" nil nil nil "https://github.com/magit/magit" "https://github.com/magit/magit" "https://github.com/emacsmirror/magit" "https://emacswiki.org/Magit" "GPL-3+" "2017" "20171101" "A Git porcelain inside Emacs" "Magit is an interface to the version control system Git,\nimplemented as an Emacs package.  Magit aspires to be a complete\nGit porcelain.  While we cannot (yet) claim, that Magit wraps and\nimproves upon each and every Git command, it is complete enough to\nallow even experienced Git users to perform almost all of their\ndaily version control tasks directly from within Emacs.  While many\nfine Git clients exist, only Magit and Git itself deserve to be\ncalled porcelains.\n" unbound unbound unbound unbound unbound unbound unbound unbound unbound nil) t)
  #f(compiled-function (db ident &optional class) #<bytecode 0x1a4b501>)(#<epkg-database epkg-database> "magit")
  apply(#f(compiled-function (db ident &optional class) #<bytecode 0x1a4b501>) #<epkg-database epkg-database> "magit")
  closql-get(#<epkg-database epkg-database> "magit")
  epkg("magit")
  eval((epkg "magit") nil)
  eval-expression((epkg "magit") nil nil 127)
  funcall-interactively(eval-expression (epkg "magit") nil nil 127)
  call-interactively(eval-expression nil nil)
  command-execute(eval-expression)

I ran make in my homedirectory.

Did you do a make in ~/.emacs.d? Maybe this is related to the addition of records in Emacs 26, in which case recompiling everything should fix it.

I did ran make (after a find . -name '*.elc' -exec rm '{}' \; to be safe) in ~/.emacs.d.

Oh! You have to checkout closql's emacs26 branch.

I've been thinking about opening an "Announcements" "issue" here, to inform users about such things. I should probably just do that soon 😜

Thank you very much. This fixes my problem.