magit / forge

Work with Git forges from the comfort of Magit
GNU General Public License v3.0
1.31k stars 115 forks source link

Various cl-no-applicable-method errors when trying to load forge #706

Open aspiers opened 2 hours ago

aspiers commented 2 hours ago

M-x load-library forge has stopped working after updating it to the latest main and updating various dependencies to their latest git versions:

Debugger entered--Lisp error: (cl-no-applicable-method initialize-instance #<transient-prefix transient-prefix-15664c1c1d70> (:command forge-post-dispatch))
  signal(cl-no-applicable-method (initialize-instance #<transient-prefix transient-prefix-15664c1c1d70> (:command forge-post-dispatch)))
  cl-no-applicable-method(#s(cl--generic :name initialize-instance :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 0x1fa9a8880f51243>)) #s(cl--generic-generalizer :name cl--generic-t-generalizer :priority 0 :tagcode-function #f(compiled-function (name &rest _) #<bytecode -0x1cba0b13a96764e4>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode -0x2b662d08469105e>)))) :method-table (#s(cl--generic-method :specializers (gh-oauth-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (gh-password-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (gh-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (emacsql-sqlite-builtin-connection) :qualifiers (:after) :call-con nil :function #f(compiled-function 
  apply(cl-no-applicable-method #s(cl--generic :name initialize-instance :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 0x1fa9a8880f51243>)) #s(cl--generic-generalizer :name cl--generic-t-generalizer :priority 0 :tagcode-function #f(compiled-function (name &rest _) #<bytecode -0x1cba0b13a96764e4>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode -0x2b662d08469105e>)))) :method-table (#s(cl--generic-method :specializers (gh-oauth-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (gh-password-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (gh-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (emacsql-sqlite-builtin-connection) :qualifiers (:after) :call-con nil :function #f(compiled-function 
  initialize-instance(#<transient-prefix transient-prefix-15664c1c1d70> (:command forge-post-dispatch))
  #f(compiled-function (class &rest slots) "Default constructor for CLASS `eieio-default-superclass'.\nSLOTS are the initialization slots used by `initialize-instance'.\nThis static method is called when an object is constructed.\nIt allocates the vector used to represent an EIEIO object, and then\ncalls `initialize-instance' on that object." #<bytecode -0xd78f3608de3c14a>)(transient-prefix :command forge-post-dispatch)
  apply(#f(compiled-function (class &rest slots) "Default constructor for CLASS `eieio-default-superclass'.\nSLOTS are the initialization slots used by `initialize-instance'.\nThis static method is called when an object is constructed.\nIt allocates the vector used to represent an EIEIO object, and then\ncalls `initialize-instance' on that object." #<bytecode -0xd78f3608de3c14a>) transient-prefix (:command forge-post-dispatch))
  make-instance(transient-prefix :command forge-post-dispatch)
  transient-prefix(:command forge-post-dispatch)
  (put 'forge-post-dispatch 'transient--prefix (transient-prefix :command 'forge-post-dispatch))
  load-with-code-conversion("/home/adam/.emacs.d/straight/build/forge/forge-pos..." "/home/adam/.emacs.d/straight/build/forge/forge-pos..." nil t)
  require(forge-post)
  load-with-code-conversion("/home/adam/.emacs.d/straight/build/forge/forge.el" "/home/adam/.emacs.d/straight/build/forge/forge.el" nil nil)
  load-library("/home/adam/.emacs.d/straight/build/forge/forge.el")
  funcall-interactively(load-library "/home/adam/.emacs.d/straight/build/forge/forge.el")
  command-execute(load-library record)
  execute-extended-command(nil "load-library" "load-lib")
  funcall-interactively(execute-extended-command nil "load-library" "load-lib")
  command-execute(execute-extended-command)

M-x magit-version RET returns:

Magit v3.3.0-1123-gec031e94, Transient 0.5.2, Forge 0.4.3, Git 2.43.0, Emacs 29.1, gnu/linux

I get a similar error if I launch a clean emacs -q, bootstrap straight.el, do M-x straight-use-package forge RET, and then M-x magit-status:

Debugger entered--Lisp error: (cl-no-applicable-method forge-get-repository :known?)
  signal(cl-no-applicable-method (forge-get-repository :known?))
  cl-no-applicable-method(#s(cl--generic :name forge-get-repository :dispatches ((1 #s(cl--generic-generalizer :name cl--generic-t-generalizer :priority 0 :tagcode-function #f(compiled-function (name &rest _) #<bytecode -0x1cba0b13a96764e4>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode -0x2b662d08469105e>))) (0 #s(cl--generic-generalizer :name cl--generic-eql-generalizer :priority 100 :tagcode-function #f(compiled-function (name &rest _) #<bytecode -0x1c36ff3453f6897c>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode -0xc2bce8c284e955a>)) #s(cl--generic-generalizer :name eieio--generic-generalizer :priority 50 :tagcode-function cl--generic-struct-tag :specializers-function #f(compiled-function (tag &rest _) #<bytecode 0x108e0a1cc0af08c3>)) #s(cl--generic-generalizer :name cl--generic-typeof-generalizer :priority 10 :tagcode-function #f(compiled-function (name &rest _) #<bytecode -0x48dff7a0d9cb3a2>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode -0x1a9dc1d41e5b809c>)) #s(cl--generic-generalizer :name cl--generic-t-generalizer :priority 0 :tagcode-function #f(compiled-function (name &rest _) #<bytecode -0x1cba0b13a96764e4>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode -0x2b662d08469105e>)))) :method-table (#s(cl--generic-method :specializers (forge-topic) :qualifiers nil :call-con nil :function (closure (t) (topic) (progn (closql-get (forge-db) (eieio-oref topic ...) 'forge-repository)))) #s(cl--generic-method :specializers (forge-post) :qualifiers nil :call-con nil :function (closure (t) (post) (progn (forge-get-repository (forge-get-topic post))))) #s(cl--generic-method :specializers (null) :qualifiers nil :call-con nil :function (closure (t) (_ &optional noerror demand) (progn (if (and ... ...) (error "(Maybe repository) is nil; `%s' not satisfied" demand) nil)))) #s(cl--generic-method :specializers (forge-repository) :qualifiers nil :call-con nil :function (closure (t) (repo &optional noerror demand) (progn (progn (setq noerror ...) (let* ... ...))))) #s(cl--generic-method :specializers (list) :qualifiers nil :call-con nil :function (closure (t) (&rest --cl-rest--) "((HOST OWNER NAME) &optional REMOTE DEMAND)\n\nRetur..." (progn (let* (... ... ... ... ... ...) (progn ... ... ... ... ... ...))))) #s(cl--generic-method :specializers (string) :qualifiers nil :call-con nil :function (closure (t) (url &optional remote demand) "Return the repository at URL." (progn (let* (...) (if parts ... ...))))) #s(cl--generic-method :specializers (symbol) :qualifiers nil :call-con nil :function (closure (t) (demand &optional remote notatpt) "Return the current forge repository.\n\nFirst check ..." (progn (or (let* ... ...) (let* ... ...) (if magit--refresh-cache ... ...))))) #s(cl--generic-method :specializers ((eql :dir) t) :qualifiers nil :call-con nil :function (closure (t) (_ dir) (progn (let (... ... ...) (forge-get-repository :stub? nil ...))))) #s(cl--generic-method :specializers ((eql :id) t) :qualifiers nil :call-con nil :function (closure (t) (_ id) (progn (closql-get (forge-db) (substring-no-properties id) 'forge-repository))))) :options nil) :known?)
  apply(cl-no-applicable-method #s(cl--generic :name forge-get-repository :dispatches ((1 #s(cl--generic-generalizer :name cl--generic-t-generalizer :priority 0 :tagcode-function #f(compiled-function (name &rest _) #<bytecode -0x1cba0b13a96764e4>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode -0x2b662d08469105e>))) (0 #s(cl--generic-generalizer :name cl--generic-eql-generalizer :priority 100 :tagcode-function #f(compiled-function (name &rest _) #<bytecode -0x1c36ff3453f6897c>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode -0xc2bce8c284e955a>)) #s(cl--generic-generalizer :name eieio--generic-generalizer :priority 50 :tagcode-function cl--generic-struct-tag :specializers-function #f(compiled-function (tag &rest _) #<bytecode 0x108e0a1cc0af08c3>)) #s(cl--generic-generalizer :name cl--generic-typeof-generalizer :priority 10 :tagcode-function #f(compiled-function (name &rest _) #<bytecode -0x48dff7a0d9cb3a2>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode -0x1a9dc1d41e5b809c>)) #s(cl--generic-generalizer :name cl--generic-t-generalizer :priority 0 :tagcode-function #f(compiled-function (name &rest _) #<bytecode -0x1cba0b13a96764e4>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode -0x2b662d08469105e>)))) :method-table (#s(cl--generic-method :specializers (forge-topic) :qualifiers nil :call-con nil :function (closure (t) (topic) (progn (closql-get (forge-db) (eieio-oref topic ...) 'forge-repository)))) #s(cl--generic-method :specializers (forge-post) :qualifiers nil :call-con nil :function (closure (t) (post) (progn (forge-get-repository (forge-get-topic post))))) #s(cl--generic-method :specializers (null) :qualifiers nil :call-con nil :function (closure (t) (_ &optional noerror demand) (progn (if (and ... ...) (error "(Maybe repository) is nil; `%s' not satisfied" demand) nil)))) #s(cl--generic-method :specializers (forge-repository) :qualifiers nil :call-con nil :function (closure (t) (repo &optional noerror demand) (progn (progn (setq noerror ...) (let* ... ...))))) #s(cl--generic-method :specializers (list) :qualifiers nil :call-con nil :function (closure (t) (&rest --cl-rest--) "((HOST OWNER NAME) &optional REMOTE DEMAND)\n\nRetur..." (progn (let* (... ... ... ... ... ...) (progn ... ... ... ... ... ...))))) #s(cl--generic-method :specializers (string) :qualifiers nil :call-con nil :function (closure (t) (url &optional remote demand) "Return the repository at URL." (progn (let* (...) (if parts ... ...))))) #s(cl--generic-method :specializers (symbol) :qualifiers nil :call-con nil :function (closure (t) (demand &optional remote notatpt) "Return the current forge repository.\n\nFirst check ..." (progn (or (let* ... ...) (let* ... ...) (if magit--refresh-cache ... ...))))) #s(cl--generic-method :specializers ((eql :dir) t) :qualifiers nil :call-con nil :function (closure (t) (_ dir) (progn (let (... ... ...) (forge-get-repository :stub? nil ...))))) #s(cl--generic-method :specializers ((eql :id) t) :qualifiers nil :call-con nil :function (closure (t) (_ id) (progn (closql-get (forge-db) (substring-no-properties id) 'forge-repository))))) :options nil) :known?)
  forge-get-repository(:known?)
  (and t (forge-get-repository :known?))
  (let* ((repo (and t (forge-get-repository :known?)))) (if repo (progn (setq forge-buffer-repository (eieio-oref repo 'id)))))
  (if forge-buffer-repository nil (let* ((repo (and t (forge-get-repository :known?)))) (if repo (progn (setq forge-buffer-repository (eieio-oref repo 'id))))))
  forge-set-buffer-repository()
  run-hooks(change-major-mode-after-body-hook special-mode-hook magit-section-mode-hook magit-mode-hook magit-status-mode-hook)
  apply(run-hooks (change-major-mode-after-body-hook special-mode-hook magit-section-mode-hook magit-mode-hook magit-status-mode-hook))
  run-mode-hooks(magit-status-mode-hook)
  magit-status-mode()
  funcall(magit-status-mode)
  (save-current-buffer (set-buffer buffer) (setq magit-previous-section section) (if directory (progn (setq default-directory directory))) (funcall mode) (magit-xref-setup #'magit-setup-buffer-internal bindings) (let ((tail bindings)) (while tail (let ((x12 (car tail))) (progn (ignore (consp x12)) (let* ((x13 ...) (x14 ...)) (progn (ignore ...) (let* ... ...)))) (setq tail (cdr tail))))) (if created (progn (run-hooks 'magit-create-buffer-hook))))
  (let* ((value (and locked (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ...) (and ... ...)))))) (buffer (if buffer-or-name (get-buffer-create buffer-or-name) (magit-get-mode-buffer mode value))) (section (and buffer (magit-current-section))) (created (not buffer))) (if buffer nil (setq buffer (magit-generate-new-buffer mode value))) (save-current-buffer (set-buffer buffer) (setq magit-previous-section section) (if directory (progn (setq default-directory directory))) (funcall mode) (magit-xref-setup #'magit-setup-buffer-internal bindings) (let ((tail bindings)) (while tail (let ((x12 (car tail))) (progn (ignore (consp x12)) (let* (... ...) (progn ... ...))) (setq tail (cdr tail))))) (if created (progn (run-hooks 'magit-create-buffer-hook)))) (magit-display-buffer buffer) (save-current-buffer (set-buffer buffer) (run-hooks 'magit-setup-buffer-hook) (magit-refresh-buffer) (if created (progn (run-hooks 'magit-post-create-buffer-hook)))) buffer)
  magit-setup-buffer-internal(magit-status-mode nil ((magit-buffer-diff-args ("--no-ext-diff")) (magit-buffer-diff-files nil) (magit-buffer-log-args ("-n256" "--decorate")) (magit-buffer-log-files nil)))
  (let* ((default-directory directory) (d (magit-diff--get-value 'magit-status-mode magit-status-use-buffer-arguments)) (l (magit-log--get-value 'magit-status-mode magit-status-use-buffer-arguments)) (file (and magit-status-goto-file-position (magit-file-relative-name))) (line (and file (save-restriction (widen) (line-number-at-pos)))) (col (and file (save-restriction (widen) (current-column)))) (buf (magit-setup-buffer-internal #'magit-status-mode nil (list (list 'magit-buffer-diff-args (nth 0 d)) (list 'magit-buffer-diff-files (nth 1 d)) (list 'magit-buffer-log-args (nth 0 l)) (list 'magit-buffer-log-files (nth 1 l)))))) (if file (progn (save-current-buffer (set-buffer buf) (let ((staged (magit-get-section ...))) (if (and staged (car ...)) (magit-diff--goto-position file line col staged) (let (...) (if ... nil ...))))))) buf)
  magit-status-setup-buffer("/home/adam/.GIT/emacs/.emacs.d/init...")
  (if directory (let ((toplevel (magit-toplevel directory))) (setq directory (file-name-as-directory (expand-file-name directory))) (if (and toplevel (file-equal-p directory toplevel)) (magit-status-setup-buffer directory) (if (y-or-n-p (if toplevel (format "%s is a repository.  Create another in %s? " toplevel directory) (format "Create repository in %s? " directory))) (progn (setq magit--refresh-cache nil) (magit-init directory))))) (magit-status-setup-buffer default-directory))
  (let ((magit--refresh-cache (or cache (list (cons 0 0))))) (if directory (let ((toplevel (magit-toplevel directory))) (setq directory (file-name-as-directory (expand-file-name directory))) (if (and toplevel (file-equal-p directory toplevel)) (magit-status-setup-buffer directory) (if (y-or-n-p (if toplevel (format "%s is a repository.  Create another in %s? " toplevel directory) (format "Create repository in %s? " directory))) (progn (setq magit--refresh-cache nil) (magit-init directory))))) (magit-status-setup-buffer default-directory)))
  magit-status(nil ((4 . 5) (("/home/adam/.GIT/emacs/.emacs.d/init..." . magit-toplevel) . "/home/adam/.GIT/emacs/") (("/home/adam/.GIT/emacs/" "rev-parse" "--show-toplevel") . "/home/adam/.GIT/emacs") (("/home/adam/.GIT/emacs/" "rev-parse" "--show-cdup") . "") (("/home/adam/.GIT/emacs/.emacs.d/init..." "rev-parse" "--show-cdup") . "../../") (("/home/adam/.GIT/emacs/.emacs.d/init..." "rev-parse" "--show-toplevel") . "/home/adam/.GIT/emacs")))
  funcall-interactively(magit-status nil ((4 . 5) (("/home/adam/.GIT/emacs/.emacs.d/init..." . magit-toplevel) . "/home/adam/.GIT/emacs/") (("/home/adam/.GIT/emacs/" "rev-parse" "--show-toplevel") . "/home/adam/.GIT/emacs") (("/home/adam/.GIT/emacs/" "rev-parse" "--show-cdup") . "") (("/home/adam/.GIT/emacs/.emacs.d/init..." "rev-parse" "--show-cdup") . "../../") (("/home/adam/.GIT/emacs/.emacs.d/init..." "rev-parse" "--show-toplevel") . "/home/adam/.GIT/emacs")))
  command-execute(magit-status record)
  execute-extended-command(nil "magit-status" nil)
  funcall-interactively(execute-extended-command nil "magit-status" nil)
  command-execute(execute-extended-command)
aspiers commented 2 hours ago

If I then try to load forge*.el manually from source, I get:

Load error for /home/adam/.emacs.d/straight/repos/forge/lisp/forge-bitbucket.el:
(error forge-topic-mark-read is already defined as something else than a generic function)
Load error for /home/adam/.emacs.d/straight/repos/forge/lisp/forge-commands.el:
(error forge-topic-mark-read is already defined as something else than a generic function)
Load error for /home/adam/.emacs.d/straight/repos/forge/lisp/forge-core.el:
(error forge-topic-mark-read is already defined as something else than a generic function)
Load error for /home/adam/.emacs.d/straight/repos/forge/lisp/forge.el:
(error forge-topic-mark-read is already defined as something else than a generic function)
Load error for /home/adam/.emacs.d/straight/repos/forge/lisp/forge-gitea.el:
(error forge-topic-mark-read is already defined as something else than a generic function)
Load error for /home/adam/.emacs.d/straight/repos/forge/lisp/forge-github.el:
(error forge-topic-mark-read is already defined as something else than a generic function)
Load error for /home/adam/.emacs.d/straight/repos/forge/lisp/forge-gitlab.el:
(error forge-topic-mark-read is already defined as something else than a generic function)
Load error for /home/adam/.emacs.d/straight/repos/forge/lisp/forge-gogs.el:
(error forge-topic-mark-read is already defined as something else than a generic function)

and so on. If I do C-h f forge-topic-mark-read RET then I see:

forge-topic-mark-read is an alias for ‘dummy’, which is not defined.

Not documented.

This is a generic function.

Implementations:

(forge-topic-mark-read (TOPIC forge-topic))
Undocumented

[back]

I've search high and low for where this might be getting defined, but can't find it. I even removed a bunch of .elc and .eln files to make sure it wasn't some old compilation artifacts getting in the way, but that didn't help.

aspiers commented 2 hours ago

Here are some more:

Debugger entered--Lisp error: (cl-no-applicable-method initialize-instance #<magit-section nil [nil] nil-nil> (:type status))
  signal(cl-no-applicable-method (initialize-instance #<magit-section nil [nil] nil-nil> (:type status)))
  cl-no-applicable-method(#s(cl--generic :name initialize-instance :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 -0xb8427526d83ccfd>)) #s(cl--generic-generalizer :name cl--generic-t-generalizer :priority 0 :tagcode-function #f(compiled-function (name &rest _) #<bytecode -0x1cba0b13a96764e4>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode -0x2b662d08469105e>)))) :method-table (#s(cl--generic-method :specializers (gh-oauth-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (gh-password-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (gh-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (emacsql-sqlite-builtin-connection) :qualifiers (:after) :call-con nil :function #f(compiled-function 
  apply(cl-no-applicable-method #s(cl--generic :name initialize-instance :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 -0xb8427526d83ccfd>)) #s(cl--generic-generalizer :name cl--generic-t-generalizer :priority 0 :tagcode-function #f(compiled-function (name &rest _) #<bytecode -0x1cba0b13a96764e4>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode -0x2b662d08469105e>)))) :method-table (#s(cl--generic-method :specializers (gh-oauth-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (gh-password-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (gh-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (emacsql-sqlite-builtin-connection) :qualifiers (:after) :call-con nil :function #f(compiled-function 
  initialize-instance(#<magit-section nil [nil] nil-nil> (:type status))
  #f(compiled-function (class &rest slots) "Default constructor for CLASS `eieio-default-superclass'.\nSLOTS are the initialization slots used by `initialize-instance'.\nThis static method is called when an object is constructed.\nIt allocates the vector used to represent an EIEIO object, and then\ncalls `initialize-instance' on that object." #<bytecode 0xb0dfddf8e1c3ec2>)(magit-section :type status)
  apply(#f(compiled-function (class &rest slots) "Default constructor for CLASS `eieio-default-superclass'.\nSLOTS are the initialization slots used by `initialize-instance'.\nThis static method is called when an object is constructed.\nIt allocates the vector used to represent an EIEIO object, and then\ncalls `initialize-instance' on that object." #<bytecode 0xb0dfddf8e1c3ec2>) magit-section (:type status))
  make-instance(magit-section :type status)
  magit-section(:type status)
  magit-insert-section--create(status nil nil)
  (let* ((section57 (magit-insert-section--create 'status nil nil)) (magit-insert-section--current section57) (magit-insert-section--oldroot (or magit-insert-section--oldroot (and (not magit-insert-section--parent) (prog1 magit-root-section (setq magit-root-section section57))))) (magit-insert-section--parent section57)) (catch 'cancel-section (magit-run-section-hook 'magit-status-sections-hook) (magit-insert-section--finish section57)) section57)
  magit-status-refresh-buffer()
  funcall(magit-status-refresh-buffer)
  (save-excursion (funcall refresh))
  (let ((inhibit-read-only t)) (erase-buffer) (save-excursion (funcall refresh)))
  (let* ((buffer (current-buffer)) (windows (cl-mapcan #'(lambda (window) (let (...) (save-current-buffer ...))) (or (nreverse (get-buffer-window-list buffer nil t)) (list (selected-window)))))) (deactivate-mark) (setq magit-section-pre-command-section nil) (setq magit-section-highlight-overlays nil) (setq magit-section-highlighted-sections nil) (setq magit-section-unhighlight-sections nil) (let ((inhibit-read-only t)) (erase-buffer) (save-excursion (funcall refresh))) (let ((tail windows)) (while tail (let ((x364 (car tail))) (progn (ignore (consp x364)) (let* ((x365 ...) (x366 ...)) (let (... ...) (if ... ... ...)))) (setq tail (cdr tail))))) (run-hooks 'magit-refresh-buffer-hook) (magit-section-update-highlight) (set-buffer-modified-p nil))
  (progn (if magit-refresh-verbose (progn (message "Refreshing buffer `%s'..." (buffer-name)))) (let* ((buffer (current-buffer)) (windows (cl-mapcan #'(lambda (window) (let ... ...)) (or (nreverse (get-buffer-window-list buffer nil t)) (list (selected-window)))))) (deactivate-mark) (setq magit-section-pre-command-section nil) (setq magit-section-highlight-overlays nil) (setq magit-section-highlighted-sections nil) (setq magit-section-unhighlight-sections nil) (let ((inhibit-read-only t)) (erase-buffer) (save-excursion (funcall refresh))) (let ((tail windows)) (while tail (let ((x364 (car tail))) (progn (ignore (consp x364)) (let* (... ...) (let ... ...))) (setq tail (cdr tail))))) (run-hooks 'magit-refresh-buffer-hook) (magit-section-update-highlight) (set-buffer-modified-p nil)) (if magit-refresh-verbose (progn (message "Refreshing buffer `%s'...done (%.3fs)" (buffer-name) (float-time (time-since magit-refresh-start-time))))))
  (if (functionp refresh) (progn (if magit-refresh-verbose (progn (message "Refreshing buffer `%s'..." (buffer-name)))) (let* ((buffer (current-buffer)) (windows (cl-mapcan #'(lambda ... ...) (or (nreverse ...) (list ...))))) (deactivate-mark) (setq magit-section-pre-command-section nil) (setq magit-section-highlight-overlays nil) (setq magit-section-highlighted-sections nil) (setq magit-section-unhighlight-sections nil) (let ((inhibit-read-only t)) (erase-buffer) (save-excursion (funcall refresh))) (let ((tail windows)) (while tail (let ((x364 ...)) (progn (ignore ...) (let* ... ...)) (setq tail (cdr tail))))) (run-hooks 'magit-refresh-buffer-hook) (magit-section-update-highlight) (set-buffer-modified-p nil)) (if magit-refresh-verbose (progn (message "Refreshing buffer `%s'...done (%.3fs)" (buffer-name) (float-time (time-since magit-refresh-start-time)))))))
  (let ((refresh (intern (format "%s-refresh-buffer" (substring (symbol-name major-mode) 0 -5)))) (magit--refresh-cache (or magit--refresh-cache (list (cons 0 0))))) (if (functionp refresh) (progn (if magit-refresh-verbose (progn (message "Refreshing buffer `%s'..." (buffer-name)))) (let* ((buffer (current-buffer)) (windows (cl-mapcan #'... (or ... ...)))) (deactivate-mark) (setq magit-section-pre-command-section nil) (setq magit-section-highlight-overlays nil) (setq magit-section-highlighted-sections nil) (setq magit-section-unhighlight-sections nil) (let ((inhibit-read-only t)) (erase-buffer) (save-excursion (funcall refresh))) (let ((tail windows)) (while tail (let (...) (progn ... ...) (setq tail ...)))) (run-hooks 'magit-refresh-buffer-hook) (magit-section-update-highlight) (set-buffer-modified-p nil)) (if magit-refresh-verbose (progn (message "Refreshing buffer `%s'...done (%.3fs)" (buffer-name) (float-time (time-since magit-refresh-start-time))))))))
  magit-refresh-buffer()
  (cond ((derived-mode-p 'magit-mode) (magit-refresh-buffer)) ((derived-mode-p 'tabulated-list-mode) (revert-buffer)))
  (let ((start (current-time)) (magit--refresh-cache (or magit--refresh-cache (list (cons 0 0))))) (if magit-refresh-verbose (progn (message "Refreshing magit..."))) (magit-run-hook-with-benchmark 'magit-pre-refresh-hook) (cond ((derived-mode-p 'magit-mode) (magit-refresh-buffer)) ((derived-mode-p 'tabulated-list-mode) (revert-buffer))) (let* ((buffer (and t (and magit-refresh-status-buffer (not (derived-mode-p ...)) (magit-get-mode-buffer 'magit-status-mode))))) (if buffer (save-current-buffer (set-buffer buffer) (magit-refresh-buffer)) nil)) (magit-run-hook-with-benchmark 'magit-post-refresh-hook) (if magit-refresh-verbose (progn (let* ((c (car (car magit--refresh-cache))) (a (+ c (cdr ...)))) (message "Refreshing magit...done (%.3fs, cached %s/%s (%.0f..." (float-time (time-since start)) c a (* (/ c (* a 1.0)) 100))))))
  (unwind-protect (let ((start (current-time)) (magit--refresh-cache (or magit--refresh-cache (list (cons 0 0))))) (if magit-refresh-verbose (progn (message "Refreshing magit..."))) (magit-run-hook-with-benchmark 'magit-pre-refresh-hook) (cond ((derived-mode-p 'magit-mode) (magit-refresh-buffer)) ((derived-mode-p 'tabulated-list-mode) (revert-buffer))) (let* ((buffer (and t (and magit-refresh-status-buffer (not ...) (magit-get-mode-buffer ...))))) (if buffer (save-current-buffer (set-buffer buffer) (magit-refresh-buffer)) nil)) (magit-run-hook-with-benchmark 'magit-post-refresh-hook) (if magit-refresh-verbose (progn (let* ((c (car ...)) (a (+ c ...))) (message "Refreshing magit...done (%.3fs, cached %s/%s (%.0f..." (float-time (time-since start)) c a (* (/ c ...) 100)))))) (run-hooks 'magit-unwind-refresh-hook))
  (if magit-inhibit-refresh nil (unwind-protect (let ((start (current-time)) (magit--refresh-cache (or magit--refresh-cache (list (cons 0 0))))) (if magit-refresh-verbose (progn (message "Refreshing magit..."))) (magit-run-hook-with-benchmark 'magit-pre-refresh-hook) (cond ((derived-mode-p 'magit-mode) (magit-refresh-buffer)) ((derived-mode-p 'tabulated-list-mode) (revert-buffer))) (let* ((buffer (and t (and magit-refresh-status-buffer ... ...)))) (if buffer (save-current-buffer (set-buffer buffer) (magit-refresh-buffer)) nil)) (magit-run-hook-with-benchmark 'magit-post-refresh-hook) (if magit-refresh-verbose (progn (let* ((c ...) (a ...)) (message "Refreshing magit...done (%.3fs, cached %s/%s (%.0f..." (float-time ...) c a (* ... 100)))))) (run-hooks 'magit-unwind-refresh-hook)))
  magit-refresh()
  funcall-interactively(magit-refresh)
  command-execute(magit-refresh)
Debugger entered--Lisp error: (cl-no-applicable-method initialize-instance #<emacsql-sqlite-builtin-connection emacsql-sqlite-builtin-connection-15573ee71ee2> (:file "/home/adam/.emacs.d/forge-database.sqlite"))
  signal(cl-no-applicable-method (initialize-instance #<emacsql-sqlite-builtin-connection emacsql-sqlite-builtin-connection-15573ee71ee2> (:file "/home/adam/.emacs.d/forge-database.sqlite")))
  cl-no-applicable-method(#s(cl--generic :name initialize-instance :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 -0xb8427526d83ccfd>)) #s(cl--generic-generalizer :name cl--generic-t-generalizer :priority 0 :tagcode-function #f(compiled-function (name &rest _) #<bytecode -0x1cba0b13a96764e4>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode -0x2b662d08469105e>)))) :method-table (#s(cl--generic-method :specializers (gh-oauth-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (gh-password-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (gh-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (emacsql-sqlite-builtin-connection) :qualifiers (:after) :call-con nil :function #f(compiled-function 
  apply(cl-no-applicable-method #s(cl--generic :name initialize-instance :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 -0xb8427526d83ccfd>)) #s(cl--generic-generalizer :name cl--generic-t-generalizer :priority 0 :tagcode-function #f(compiled-function (name &rest _) #<bytecode -0x1cba0b13a96764e4>) :specializers-function #f(compiled-function (tag &rest _) #<bytecode -0x2b662d08469105e>)))) :method-table (#s(cl--generic-method :specializers (gh-oauth-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (gh-password-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (gh-authenticator) :qualifiers nil :call-con curried :function (closure (t) (cl--nm) (let ((cl--nmp ...)) #'(lambda ... "\n\n(fn AUTH &rest ARGS)" ...)))) #s(cl--generic-method :specializers (emacsql-sqlite-builtin-connection) :qualifiers (:after) :call-con nil :function #f(compiled-function 
  initialize-instance(#<emacsql-sqlite-builtin-connection emacsql-sqlite-builtin-connection-15573ee71ee2> (:file "/home/adam/.emacs.d/forge-database.sqlite"))
  #f(compiled-function (class &rest slots) "Default constructor for CLASS `eieio-default-superclass'.\nSLOTS are the initialization slots used by `initialize-instance'.\nThis static method is called when an object is constructed.\nIt allocates the vector used to represent an EIEIO object, and then\ncalls `initialize-instance' on that object." #<bytecode 0xb0dfddf8e1c3ec2>)(emacsql-sqlite-builtin-connection :file "/home/adam/.emacs.d/forge-database.sqlite")
  apply(#f(compiled-function (class &rest slots) "Default constructor for CLASS `eieio-default-superclass'.\nSLOTS are the initialization slots used by `initialize-instance'.\nThis static method is called when an object is constructed.\nIt allocates the vector used to represent an EIEIO object, and then\ncalls `initialize-instance' on that object." #<bytecode 0xb0dfddf8e1c3ec2>) emacsql-sqlite-builtin-connection (:file "/home/adam/.emacs.d/forge-database.sqlite"))
  make-instance(emacsql-sqlite-builtin-connection :file "/home/adam/.emacs.d/forge-database.sqlite")
  #f(compiled-function (class &optional livep connection-class) #<bytecode 0x19beb641b4af74a0>)(forge-database nil nil)
  apply(#f(compiled-function (class &optional livep connection-class) #<bytecode 0x19beb641b4af74a0>) forge-database (nil nil))
  closql-db(forge-database nil nil)
  forge-db()
  (apply #'emacsql (forge-db) sql args)
  (if (stringp sql) (emacsql (forge-db) (apply #'format sql args)) (apply #'emacsql (forge-db) sql args))
  forge-sql([:select * :from repository :where (and (= forge $s1) (= owner $s2) (= name $s3))] "github.com" "magit" "closql")
  (car (forge-sql [:select * :from repository :where (and (= forge $s1) (= owner $s2) (= name $s3))] webhost owner name))
  (let* ((row (car (forge-sql [:select * :from repository :where (and (= forge $s1) (= owner $s2) (= name $s3))] webhost owner name))) (obj (and row (closql--remake-instance class (forge-db) row)))) (if obj (progn (eieio-oset obj 'apihost apihost) (eieio-oset obj 'githost githost) (eieio-oset obj 'remote remote))) (let* ((val (list demand (and obj (eq (eieio-oref obj ...) :tracked))))) (if (consp val) (let* ((x2194 (car-safe val))) (cond ((eq x2194 :tracked?) (let* (...) (if ... ...))) ((eq x2194 :tracked) (let* (...) (if ... ...))))))) (if (and (memq demand '(:insert! :valid? :stub :stub?)) (not obj)) (progn (let* ((val (forge--repository-ids class webhost owner name (memq demand ...) (eq demand :valid?)))) (progn (ignore (consp val)) (let* ((x2201 ...) (x2202 ...)) (let (... ...) (if ... ... ...))))))) obj)
  (let ((githost x2186) (apihost x2188) (webhost x2190) (class x2192)) (let* ((row (car (forge-sql [:select * :from repository :where (and ... ... ...)] webhost owner name))) (obj (and row (closql--remake-instance class (forge-db) row)))) (if obj (progn (eieio-oset obj 'apihost apihost) (eieio-oset obj 'githost githost) (eieio-oset obj 'remote remote))) (let* ((val (list demand (and obj (eq ... :tracked))))) (if (consp val) (let* ((x2194 (car-safe val))) (cond ((eq x2194 :tracked?) (let* ... ...)) ((eq x2194 :tracked) (let* ... ...)))))) (if (and (memq demand '(:insert! :valid? :stub :stub?)) (not obj)) (progn (let* ((val (forge--repository-ids class webhost owner name ... ...))) (progn (ignore (consp val)) (let* (... ...) (let ... ...)))))) obj))
  (progn (ignore (null x2193)) (let ((githost x2186) (apihost x2188) (webhost x2190) (class x2192)) (let* ((row (car (forge-sql [:select * :from repository :where ...] webhost owner name))) (obj (and row (closql--remake-instance class (forge-db) row)))) (if obj (progn (eieio-oset obj 'apihost apihost) (eieio-oset obj 'githost githost) (eieio-oset obj 'remote remote))) (let* ((val (list demand (and obj ...)))) (if (consp val) (let* ((x2194 ...)) (cond (... ...) (... ...))))) (if (and (memq demand '(:insert! :valid? :stub :stub?)) (not obj)) (progn (let* ((val ...)) (progn (ignore ...) (let* ... ...))))) obj)))
  (let* ((x2192 (car-safe x2191)) (x2193 (cdr-safe x2191))) (progn (ignore (null x2193)) (let ((githost x2186) (apihost x2188) (webhost x2190) (class x2192)) (let* ((row (car (forge-sql ... webhost owner name))) (obj (and row (closql--remake-instance class ... row)))) (if obj (progn (eieio-oset obj 'apihost apihost) (eieio-oset obj 'githost githost) (eieio-oset obj 'remote remote))) (let* ((val (list demand ...))) (if (consp val) (let* (...) (cond ... ...)))) (if (and (memq demand '...) (not obj)) (progn (let* (...) (progn ... ...)))) obj))))
  (progn (ignore (consp x2191)) (let* ((x2192 (car-safe x2191)) (x2193 (cdr-safe x2191))) (progn (ignore (null x2193)) (let ((githost x2186) (apihost x2188) (webhost x2190) (class x2192)) (let* ((row (car ...)) (obj (and row ...))) (if obj (progn (eieio-oset obj ... apihost) (eieio-oset obj ... githost) (eieio-oset obj ... remote))) (let* ((val ...)) (if (consp val) (let* ... ...))) (if (and (memq demand ...) (not obj)) (progn (let* ... ...))) obj)))))
  (let* ((x2190 (car-safe x2189)) (x2191 (cdr-safe x2189))) (progn (ignore (consp x2191)) (let* ((x2192 (car-safe x2191)) (x2193 (cdr-safe x2191))) (progn (ignore (null x2193)) (let ((githost x2186) (apihost x2188) (webhost x2190) (class x2192)) (let* ((row ...) (obj ...)) (if obj (progn ... ... ...)) (let* (...) (if ... ...)) (if (and ... ...) (progn ...)) obj))))))
  (progn (ignore (consp x2189)) (let* ((x2190 (car-safe x2189)) (x2191 (cdr-safe x2189))) (progn (ignore (consp x2191)) (let* ((x2192 (car-safe x2191)) (x2193 (cdr-safe x2191))) (progn (ignore (null x2193)) (let ((githost x2186) (apihost x2188) (webhost x2190) (class x2192)) (let* (... ...) (if obj ...) (let* ... ...) (if ... ...) obj)))))))
  (let* ((x2188 (car-safe x2187)) (x2189 (cdr-safe x2187))) (progn (ignore (consp x2189)) (let* ((x2190 (car-safe x2189)) (x2191 (cdr-safe x2189))) (progn (ignore (consp x2191)) (let* ((x2192 (car-safe x2191)) (x2193 (cdr-safe x2191))) (progn (ignore (null x2193)) (let (... ... ... ...) (let* ... ... ... ... obj))))))))
  (progn (ignore (consp x2187)) (let* ((x2188 (car-safe x2187)) (x2189 (cdr-safe x2187))) (progn (ignore (consp x2189)) (let* ((x2190 (car-safe x2189)) (x2191 (cdr-safe x2189))) (progn (ignore (consp x2191)) (let* ((x2192 ...) (x2193 ...)) (progn (ignore ...) (let ... ...))))))))
  (let* ((x2186 (car-safe spec)) (x2187 (cdr-safe spec))) (progn (ignore (consp x2187)) (let* ((x2188 (car-safe x2187)) (x2189 (cdr-safe x2187))) (progn (ignore (consp x2189)) (let* ((x2190 (car-safe x2189)) (x2191 (cdr-safe x2189))) (progn (ignore (consp x2191)) (let* (... ...) (progn ... ...))))))))
  (progn (ignore (consp spec)) (let* ((x2186 (car-safe spec)) (x2187 (cdr-safe spec))) (progn (ignore (consp x2187)) (let* ((x2188 (car-safe x2187)) (x2189 (cdr-safe x2187))) (progn (ignore (consp x2189)) (let* ((x2190 ...) (x2191 ...)) (progn (ignore ...) (let* ... ...))))))))
  (if spec (progn (ignore (consp spec)) (let* ((x2186 (car-safe spec)) (x2187 (cdr-safe spec))) (progn (ignore (consp x2187)) (let* ((x2188 (car-safe x2187)) (x2189 (cdr-safe x2187))) (progn (ignore (consp x2189)) (let* (... ...) (progn ... ...))))))) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  No entry for %..." host 'forge-alist))))
  (let* ((spec (and t (forge--get-forge-host host t)))) (if spec (progn (ignore (consp spec)) (let* ((x2186 (car-safe spec)) (x2187 (cdr-safe spec))) (progn (ignore (consp x2187)) (let* ((x2188 ...) (x2189 ...)) (progn (ignore ...) (let* ... ...)))))) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  No entry for %..." host 'forge-alist)))))
  (progn (if --cl-rest-- (signal 'wrong-number-of-arguments (list nil (+ 3 (length --cl-rest--))))) (setq host (substring-no-properties host)) (setq owner (substring-no-properties owner)) (setq name (substring-no-properties name)) (if (memq demand '(:tracked :tracked? :known? :insert! :valid? :stub :stub?)) nil (let* ((new (and t (cond (... ...) (... ...) (... ...) (... ...) (... ...) (... ...))))) (if new (progn (message "Obsolete value for `%s's DEMAND: `%s'; use `%s' in..." 'forge-get-repository demand new) (setq demand new)) (error "Unknown value for `%s's DEMAND: `%s'" 'forge-get-repository demand)))) (let* ((spec (and t (forge--get-forge-host host t)))) (if spec (progn (ignore (consp spec)) (let* ((x2186 (car-safe spec)) (x2187 (cdr-safe spec))) (progn (ignore (consp x2187)) (let* (... ...) (progn ... ...))))) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  No entry for %..." host 'forge-alist))))))
  (let* ((--cl-rest-- (if --cl-rest-- (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))) (signal 'wrong-number-of-arguments (list nil (length --cl-rest--))))) (host (if (= (length --cl-rest--) 3) (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))) (signal 'wrong-number-of-arguments (list nil (length --cl-rest--))))) (owner (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--))))) (name (car-safe --cl-rest--)) (remote (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--))))) (demand (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))))) (progn (if --cl-rest-- (signal 'wrong-number-of-arguments (list nil (+ 3 (length --cl-rest--))))) (setq host (substring-no-properties host)) (setq owner (substring-no-properties owner)) (setq name (substring-no-properties name)) (if (memq demand '(:tracked :tracked? :known? :insert! :valid? :stub :stub?)) nil (let* ((new (and t (cond ... ... ... ... ... ...)))) (if new (progn (message "Obsolete value for `%s's DEMAND: `%s'; use `%s' in..." 'forge-get-repository demand new) (setq demand new)) (error "Unknown value for `%s's DEMAND: `%s'" 'forge-get-repository demand)))) (let* ((spec (and t (forge--get-forge-host host t)))) (if spec (progn (ignore (consp spec)) (let* ((x2186 ...) (x2187 ...)) (progn (ignore ...) (let* ... ...)))) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  No entry for %..." host 'forge-alist)))))))
  (progn (let* ((--cl-rest-- (if --cl-rest-- (car-safe (prog1 --cl-rest-- (setq --cl-rest-- ...))) (signal 'wrong-number-of-arguments (list nil (length --cl-rest--))))) (host (if (= (length --cl-rest--) 3) (car-safe (prog1 --cl-rest-- (setq --cl-rest-- ...))) (signal 'wrong-number-of-arguments (list nil (length --cl-rest--))))) (owner (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--))))) (name (car-safe --cl-rest--)) (remote (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--))))) (demand (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))))) (progn (if --cl-rest-- (signal 'wrong-number-of-arguments (list nil (+ 3 (length --cl-rest--))))) (setq host (substring-no-properties host)) (setq owner (substring-no-properties owner)) (setq name (substring-no-properties name)) (if (memq demand '(:tracked :tracked? :known? :insert! :valid? :stub :stub?)) nil (let* ((new (and t ...))) (if new (progn (message "Obsolete value for `%s's DEMAND: `%s'; use `%s' in..." ... demand new) (setq demand new)) (error "Unknown value for `%s's DEMAND: `%s'" 'forge-get-repository demand)))) (let* ((spec (and t (forge--get-forge-host host t)))) (if spec (progn (ignore (consp spec)) (let* (... ...) (progn ... ...))) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  No entry for %..." host ...))))))))
  (closure (t) (&rest --cl-rest--) "((HOST OWNER NAME) &optional REMOTE DEMAND)\n\nRetur..." (progn (let* ((--cl-rest-- (if --cl-rest-- (car-safe ...) (signal ... ...))) (host (if (= ... 3) (car-safe ...) (signal ... ...))) (owner (car-safe (prog1 --cl-rest-- ...))) (name (car-safe --cl-rest--)) (remote (car-safe (prog1 --cl-rest-- ...))) (demand (car-safe (prog1 --cl-rest-- ...)))) (progn (if --cl-rest-- (signal 'wrong-number-of-arguments (list nil ...))) (setq host (substring-no-properties host)) (setq owner (substring-no-properties owner)) (setq name (substring-no-properties name)) (if (memq demand '...) nil (let* (...) (if new ... ...))) (let* ((spec ...)) (if spec (progn ... ...) (if ... ...)))))))(("github.com" "magit" "closql") "origin" :known?)
  apply((closure (t) (&rest --cl-rest--) "((HOST OWNER NAME) &optional REMOTE DEMAND)\n\nRetur..." (progn (let* ((--cl-rest-- (if --cl-rest-- (car-safe ...) (signal ... ...))) (host (if (= ... 3) (car-safe ...) (signal ... ...))) (owner (car-safe (prog1 --cl-rest-- ...))) (name (car-safe --cl-rest--)) (remote (car-safe (prog1 --cl-rest-- ...))) (demand (car-safe (prog1 --cl-rest-- ...)))) (progn (if --cl-rest-- (signal 'wrong-number-of-arguments (list nil ...))) (setq host (substring-no-properties host)) (setq owner (substring-no-properties owner)) (setq name (substring-no-properties name)) (if (memq demand '...) nil (let* (...) (if new ... ...))) (let* ((spec ...)) (if spec (progn ... ...) (if ... ...))))))) ("github.com" "magit" "closql") ("origin" :known?))
  forge-get-repository(("github.com" "magit" "closql") "origin" :known?)
  (if parts (forge-get-repository parts remote (or demand :known?)) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  %s isn't a for..." url "You might have to customize `forge-alist'."))))
  (let* ((parts (and t (forge--split-forge-url url)))) (if parts (forge-get-repository parts remote (or demand :known?)) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  %s isn't a for..." url "You might have to customize `forge-alist'.")))))
  (progn (let* ((parts (and t (forge--split-forge-url url)))) (if parts (forge-get-repository parts remote (or demand :known?)) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  %s isn't a for..." url "You might have to customize `forge-alist'."))))))
  (closure (t) (url &optional remote demand) "Return the repository at URL." (progn (let* ((parts (and t (forge--split-forge-url url)))) (if parts (forge-get-repository parts remote (or demand :known?)) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  %s isn't a for..." url "You might have to customize `forge-alist'.")))))))("git@github.com:magit/closql.git" "origin" :known?)
  apply((closure (t) (url &optional remote demand) "Return the repository at URL." (progn (let* ((parts (and t (forge--split-forge-url url)))) (if parts (forge-get-repository parts remote (or demand :known?)) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  %s isn't a for..." url "You might have to customize `forge-alist'."))))))) "git@github.com:magit/closql.git" ("origin" :known?))
  forge-get-repository("git@github.com:magit/closql.git" "origin" :known?)
  (and t (forge-get-repository url remote demand))
  (let* ((repo (and t (forge-get-repository url remote demand)))) (if repo (progn (progn (eieio-oset repo 'worktree (magit-toplevel)) repo))))
  (if url (let* ((repo (and t (forge-get-repository url remote demand)))) (if repo (progn (progn (eieio-oset repo 'worktree (magit-toplevel)) repo)))) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  %s\nSee %s." (cond (remote (format "No url configured for %S." remote)) ((let* (...) (if config ...))) ((magit-list-remotes) "Cannot decide on remote to use.") (t "No remote configured.")) "https://magit.vc/manual/forge/How-Forge-Detection-..."))))
  (let* ((url (and t (and remote (magit-git-string "remote" "get-url" remote))))) (if url (let* ((repo (and t (forge-get-repository url remote demand)))) (if repo (progn (progn (eieio-oset repo 'worktree (magit-toplevel)) repo)))) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  %s\nSee %s." (cond (remote (format "No url configured for %S." remote)) ((let* ... ...)) ((magit-list-remotes) "Cannot decide on remote to use.") (t "No remote configured.")) "https://magit.vc/manual/forge/How-Forge-Detection-...")))))
  (if (not (magit-gitdir)) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine Forge repository outside of Git r..."))) (if remote nil (setq remote (forge--get-remote 'warn))) (let* ((url (and t (and remote (magit-git-string "remote" "get-url" remote))))) (if url (let* ((repo (and t (forge-get-repository url remote demand)))) (if repo (progn (progn (eieio-oset repo ... ...) repo)))) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  %s\nSee %s." (cond (remote ...) (...) (... "Cannot decide on remote to use.") (t "No remote configured.")) "https://magit.vc/manual/forge/How-Forge-Detection-..."))))))
  (let ((value (if (not (magit-gitdir)) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine Forge repository outside of Git r..."))) (if remote nil (setq remote (forge--get-remote 'warn))) (let* ((url (and t ...))) (if url (let* (...) (if repo ...)) (if (memq demand forge--signal-no-entry) (progn ...))))))) (let* ((x (cons G196 value)) (v magit--refresh-cache)) (setcdr v (cons x (cdr v)))) value)
  (progn (let* ((v magit--refresh-cache)) (setcdr (car v) (+ (cdr (car v)) 1))) (let ((value (if (not (magit-gitdir)) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine Forge repository outside of Git r..."))) (if remote nil (setq remote (forge--get-remote ...))) (let* ((url ...)) (if url (let* ... ...) (if ... ...)))))) (let* ((x (cons G196 value)) (v magit--refresh-cache)) (setcdr v (cons x (cdr v)))) value))
  (if G197 (progn (let* ((v magit--refresh-cache)) (setcar (car v) (+ (car (car v)) 1))) (cdr G197)) (progn (let* ((v magit--refresh-cache)) (setcdr (car v) (+ (cdr (car v)) 1))) (let ((value (if (not (magit-gitdir)) (if (memq demand forge--signal-no-entry) (progn ...)) (if remote nil (setq remote ...)) (let* (...) (if url ... ...))))) (let* ((x (cons G196 value)) (v magit--refresh-cache)) (setcdr v (cons x (cdr v)))) value)))
  (let* ((G197 (and t (assoc G196 (cdr magit--refresh-cache))))) (if G197 (progn (let* ((v magit--refresh-cache)) (setcar (car v) (+ (car (car v)) 1))) (cdr G197)) (progn (let* ((v magit--refresh-cache)) (setcdr (car v) (+ (cdr (car v)) 1))) (let ((value (if (not ...) (if ... ...) (if remote nil ...) (let* ... ...)))) (let* ((x (cons G196 value)) (v magit--refresh-cache)) (setcdr v (cons x (cdr v)))) value))))
  (let ((G196 (list default-directory 'forge-get-repository demand))) (let* ((G197 (and t (assoc G196 (cdr magit--refresh-cache))))) (if G197 (progn (let* ((v magit--refresh-cache)) (setcar (car v) (+ (car ...) 1))) (cdr G197)) (progn (let* ((v magit--refresh-cache)) (setcdr (car v) (+ (cdr ...) 1))) (let ((value (if ... ... ... ...))) (let* ((x ...) (v magit--refresh-cache)) (setcdr v (cons x ...))) value)))))
  (if magit--refresh-cache (let ((G196 (list default-directory 'forge-get-repository demand))) (let* ((G197 (and t (assoc G196 (cdr magit--refresh-cache))))) (if G197 (progn (let* ((v magit--refresh-cache)) (setcar (car v) (+ ... 1))) (cdr G197)) (progn (let* ((v magit--refresh-cache)) (setcdr (car v) (+ ... 1))) (let ((value ...)) (let* (... ...) (setcdr v ...)) value))))) (if (not (magit-gitdir)) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine Forge repository outside of Git r..."))) (if remote nil (setq remote (forge--get-remote 'warn))) (let* ((url (and t (and remote (magit-git-string "remote" "get-url" remote))))) (if url (let* ((repo (and t ...))) (if repo (progn (progn ... repo)))) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  %s\nSee %s." (cond ... ... ... ...) "https://magit.vc/manual/forge/How-Forge-Detection-...")))))))
  (or (let* ((repo (and t (and (not notatpt) (forge-repository-at-point))))) (if repo (progn (forge-get-repository repo 'noerror demand)))) (let* ((repo (and t (or (forge-buffer-repository) (and forge-buffer-topic (forge-get-repository forge-buffer-topic)))))) (if repo (progn (forge-get-repository repo 'noerror demand)))) (if magit--refresh-cache (let ((G196 (list default-directory 'forge-get-repository demand))) (let* ((G197 (and t (assoc G196 ...)))) (if G197 (progn (let* (...) (setcar ... ...)) (cdr G197)) (progn (let* (...) (setcdr ... ...)) (let (...) (let* ... ...) value))))) (if (not (magit-gitdir)) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine Forge repository outside of Git r..."))) (if remote nil (setq remote (forge--get-remote 'warn))) (let* ((url (and t (and remote ...)))) (if url (let* ((repo ...)) (if repo (progn ...))) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  %s\nSee %s." ... "https://magit.vc/manual/forge/How-Forge-Detection-..."))))))))
  (progn (or (let* ((repo (and t (and (not notatpt) (forge-repository-at-point))))) (if repo (progn (forge-get-repository repo 'noerror demand)))) (let* ((repo (and t (or (forge-buffer-repository) (and forge-buffer-topic ...))))) (if repo (progn (forge-get-repository repo 'noerror demand)))) (if magit--refresh-cache (let ((G196 (list default-directory 'forge-get-repository demand))) (let* ((G197 (and t ...))) (if G197 (progn (let* ... ...) (cdr G197)) (progn (let* ... ...) (let ... ... value))))) (if (not (magit-gitdir)) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine Forge repository outside of Git r..."))) (if remote nil (setq remote (forge--get-remote 'warn))) (let* ((url (and t ...))) (if url (let* (...) (if repo ...)) (if (memq demand forge--signal-no-entry) (progn ...))))))))
  (closure (t) (demand &optional remote notatpt) "Return the current forge repository.\n\nFirst check ..." (progn (or (let* ((repo (and t ...))) (if repo (progn (forge-get-repository repo ... demand)))) (let* ((repo (and t ...))) (if repo (progn (forge-get-repository repo ... demand)))) (if magit--refresh-cache (let ((G196 ...)) (let* (...) (if G197 ... ...))) (if (not (magit-gitdir)) (if (memq demand forge--signal-no-entry) (progn ...)) (if remote nil (setq remote ...)) (let* (...) (if url ... ...)))))))(:known? nil notatpt)
  apply((closure (t) (demand &optional remote notatpt) "Return the current forge repository.\n\nFirst check ..." (progn (or (let* ((repo (and t ...))) (if repo (progn (forge-get-repository repo ... demand)))) (let* ((repo (and t ...))) (if repo (progn (forge-get-repository repo ... demand)))) (if magit--refresh-cache (let ((G196 ...)) (let* (...) (if G197 ... ...))) (if (not (magit-gitdir)) (if (memq demand forge--signal-no-entry) (progn ...)) (if remote nil (setq remote ...)) (let* (...) (if url ... ...))))))) :known? (nil notatpt))
  forge-get-repository(:known? nil notatpt)
  (or (forge-buffer-repository) (forge-get-repository :known? nil 'notatpt))
  (and (not forge-buffer-unassociated-p) (or (forge-buffer-repository) (forge-get-repository :known? nil 'notatpt)))
  (or (magit-section-value-if 'forge-repo) (let* ((topic (and t (magit-section-value-if '(issue pullreq))))) (if topic (progn (forge-get-repository topic)))) (and (not forge-buffer-unassociated-p) (or (forge-buffer-repository) (forge-get-repository :known? nil 'notatpt))))
  forge--repo-for-thingatpt()
  (and t (forge--repo-for-thingatpt))
  (let* ((repo (and t (forge--repo-for-thingatpt)))) (if repo (progn (and (thing-at-point-looking-at (if (forge-gitlab-repository--eieio-childp repo) "\\(?2:[#!]\\)\\(?1:[0-9]+\\)\\_>" "#\\([0-9]+\\)\\_>")) (funcall (if (equal (match-string 2) "!") #'forge-get-pullreq #'forge-get-topic) repo (string-to-number (match-string-no-properties 1)))))))
  forge-thingatpt--topic()
  thing-at-point(forge-topic)
  (or (thing-at-point 'forge-topic) (magit-section-value-if '(issue pullreq)) (forge-get-pullreq :branch) (and demand (user-error "No topic at point")))
  forge-topic-at-point()
  (and t (forge-topic-at-point))
  (let* ((topic (and t (forge-topic-at-point)))) (if topic (progn (forge-get-repository topic))))
  (or (magit-section-value-if 'forge-repo) (let* ((topic (and t (forge-topic-at-point)))) (if topic (progn (forge-get-repository topic)))) (and (derived-mode-p 'forge-repository-list-mode) (let* ((id (and t (tabulated-list-get-id)))) (if id (progn (forge-get-repository :id id))))) (and demand (user-error "No repository at point")))
  forge-repository-at-point()
  (and (not notatpt) (forge-repository-at-point))
  (and t (and (not notatpt) (forge-repository-at-point)))
  (let* ((repo (and t (and (not notatpt) (forge-repository-at-point))))) (if repo (progn (forge-get-repository repo 'noerror demand))))
  (or (let* ((repo (and t (and (not notatpt) (forge-repository-at-point))))) (if repo (progn (forge-get-repository repo 'noerror demand)))) (let* ((repo (and t (or (forge-buffer-repository) (and forge-buffer-topic (forge-get-repository forge-buffer-topic)))))) (if repo (progn (forge-get-repository repo 'noerror demand)))) (if magit--refresh-cache (let ((G196 (list default-directory 'forge-get-repository demand))) (let* ((G197 (and t (assoc G196 ...)))) (if G197 (progn (let* (...) (setcar ... ...)) (cdr G197)) (progn (let* (...) (setcdr ... ...)) (let (...) (let* ... ...) value))))) (if (not (magit-gitdir)) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine Forge repository outside of Git r..."))) (if remote nil (setq remote (forge--get-remote 'warn))) (let* ((url (and t (and remote ...)))) (if url (let* ((repo ...)) (if repo (progn ...))) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine forge repository.  %s\nSee %s." ... "https://magit.vc/manual/forge/How-Forge-Detection-..."))))))))
  (progn (or (let* ((repo (and t (and (not notatpt) (forge-repository-at-point))))) (if repo (progn (forge-get-repository repo 'noerror demand)))) (let* ((repo (and t (or (forge-buffer-repository) (and forge-buffer-topic ...))))) (if repo (progn (forge-get-repository repo 'noerror demand)))) (if magit--refresh-cache (let ((G196 (list default-directory 'forge-get-repository demand))) (let* ((G197 (and t ...))) (if G197 (progn (let* ... ...) (cdr G197)) (progn (let* ... ...) (let ... ... value))))) (if (not (magit-gitdir)) (if (memq demand forge--signal-no-entry) (progn (error "Cannot determine Forge repository outside of Git r..."))) (if remote nil (setq remote (forge--get-remote 'warn))) (let* ((url (and t ...))) (if url (let* (...) (if repo ...)) (if (memq demand forge--signal-no-entry) (progn ...))))))))
  (closure (t) (demand &optional remote notatpt) "Return the current forge repository.\n\nFirst check ..." (progn (or (let* ((repo (and t ...))) (if repo (progn (forge-get-repository repo ... demand)))) (let* ((repo (and t ...))) (if repo (progn (forge-get-repository repo ... demand)))) (if magit--refresh-cache (let ((G196 ...)) (let* (...) (if G197 ... ...))) (if (not (magit-gitdir)) (if (memq demand forge--signal-no-entry) (progn ...)) (if remote nil (setq remote ...)) (let* (...) (if url ... ...)))))))(:known?)
  apply((closure (t) (demand &optional remote notatpt) "Return the current forge repository.\n\nFirst check ..." (progn (or (let* ((repo (and t ...))) (if repo (progn (forge-get-repository repo ... demand)))) (let* ((repo (and t ...))) (if repo (progn (forge-get-repository repo ... demand)))) (if magit--refresh-cache (let ((G196 ...)) (let* (...) (if G197 ... ...))) (if (not (magit-gitdir)) (if (memq demand forge--signal-no-entry) (progn ...)) (if remote nil (setq remote ...)) (let* (...) (if url ... ...))))))) :known? nil)
  forge-get-repository(:known?)
  (and t (forge-get-repository :known?))
  (let* ((repo (and t (forge-get-repository :known?)))) (if repo (progn (setq forge-buffer-repository (eieio-oref repo 'id)))))
  (if forge-buffer-repository nil (let* ((repo (and t (forge-get-repository :known?)))) (if repo (progn (setq forge-buffer-repository (eieio-oref repo 'id))))))
  forge-set-buffer-repository()
  run-hooks(change-major-mode-after-body-hook special-mode-hook magit-section-mode-hook magit-mode-hook magit-status-mode-hook)
  apply(run-hooks (change-major-mode-after-body-hook special-mode-hook magit-section-mode-hook magit-mode-hook magit-status-mode-hook))
  run-mode-hooks(magit-status-mode-hook)
  magit-status-mode()
  funcall(magit-status-mode)
  (save-current-buffer (set-buffer buffer) (setq magit-previous-section section) (if directory (progn (setq default-directory directory))) (funcall mode) (magit-xref-setup #'magit-setup-buffer-internal bindings) (let ((tail bindings)) (while tail (let ((x358 (car tail))) (progn (ignore (consp x358)) (let* ((x359 ...) (x360 ...)) (progn (ignore ...) (let* ... ...)))) (setq tail (cdr tail))))) (if created (progn (run-hooks 'magit-create-buffer-hook))))
  (let* ((value (and locked (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ...) (and ... ...)))))) (buffer (if buffer-or-name (get-buffer-create buffer-or-name) (magit-get-mode-buffer mode value))) (section (and buffer (magit-current-section))) (created (not buffer))) (if buffer nil (setq buffer (magit-generate-new-buffer mode value))) (save-current-buffer (set-buffer buffer) (setq magit-previous-section section) (if directory (progn (setq default-directory directory))) (funcall mode) (magit-xref-setup #'magit-setup-buffer-internal bindings) (let ((tail bindings)) (while tail (let ((x358 (car tail))) (progn (ignore (consp x358)) (let* (... ...) (progn ... ...))) (setq tail (cdr tail))))) (if created (progn (run-hooks 'magit-create-buffer-hook)))) (magit-display-buffer buffer) (save-current-buffer (set-buffer buffer) (run-hooks 'magit-setup-buffer-hook) (magit-refresh-buffer) (if created (progn (run-hooks 'magit-post-create-buffer-hook)))) buffer)
  magit-setup-buffer-internal(magit-status-mode nil ((magit-buffer-diff-args ("--no-ext-diff")) (magit-buffer-diff-files nil) (magit-buffer-log-args ("-n256" "--decorate")) (magit-buffer-log-files nil)))
  (let* ((default-directory directory) (d (magit-diff--get-value 'magit-status-mode magit-status-use-buffer-arguments)) (l (magit-log--get-value 'magit-status-mode magit-status-use-buffer-arguments)) (file (and magit-status-goto-file-position (magit-file-relative-name))) (line (and file (save-restriction (widen) (line-number-at-pos)))) (col (and file (save-restriction (widen) (current-column)))) (buf (magit-setup-buffer-internal #'magit-status-mode nil (list (list 'magit-buffer-diff-args (nth 0 d)) (list 'magit-buffer-diff-files (nth 1 d)) (list 'magit-buffer-log-args (nth 0 l)) (list 'magit-buffer-log-files (nth 1 l)))))) (if file (progn (save-current-buffer (set-buffer buf) (let ((staged (magit-get-section ...))) (if (and staged (car ...)) (magit-diff--goto-position file line col staged) (let (...) (if ... nil ...))))))) buf)
  magit-status-setup-buffer("/home/adam/.emacs.d/straight/repos/closql/")
  (if (and toplevel (file-equal-p directory toplevel)) (magit-status-setup-buffer directory) (if (y-or-n-p (if toplevel (format "%s is a repository.  Create another in %s? " toplevel directory) (format "Create repository in %s? " directory))) (progn (setq magit--refresh-cache nil) (magit-init directory))))
  (let ((toplevel (magit-toplevel directory))) (setq directory (file-name-as-directory (expand-file-name directory))) (if (and toplevel (file-equal-p directory toplevel)) (magit-status-setup-buffer directory) (if (y-or-n-p (if toplevel (format "%s is a repository.  Create another in %s? " toplevel directory) (format "Create repository in %s? " directory))) (progn (setq magit--refresh-cache nil) (magit-init directory)))))
  (if directory (let ((toplevel (magit-toplevel directory))) (setq directory (file-name-as-directory (expand-file-name directory))) (if (and toplevel (file-equal-p directory toplevel)) (magit-status-setup-buffer directory) (if (y-or-n-p (if toplevel (format "%s is a repository.  Create another in %s? " toplevel directory) (format "Create repository in %s? " directory))) (progn (setq magit--refresh-cache nil) (magit-init directory))))) (magit-status-setup-buffer default-directory))
  (let ((magit--refresh-cache (or cache (list (cons 0 0))))) (if directory (let ((toplevel (magit-toplevel directory))) (setq directory (file-name-as-directory (expand-file-name directory))) (if (and toplevel (file-equal-p directory toplevel)) (magit-status-setup-buffer directory) (if (y-or-n-p (if toplevel (format "%s is a repository.  Create another in %s? " toplevel directory) (format "Create repository in %s? " directory))) (progn (setq magit--refresh-cache nil) (magit-init directory))))) (magit-status-setup-buffer default-directory)))
  magit-status("/home/adam/.emacs.d/straight/repos/closql/")
  projectile-vc()
  projectile-switch-project-by-name("~/.emacs.d/straight/repos/closql/" nil)
  #f(compiled-function (project) #<bytecode 0x6b9acbbfdf32a2d>)("~/.emacs.d/straight/repos/closql/")
  projectile-completing-read("Switch to project: " (<CENSORED>))
  projectile-switch-project(nil)
  funcall-interactively(projectile-switch-project nil)
  command-execute(projectile-switch-project)