magit / forge

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

Compilation failure in `forge--submit-create-pullreq` in `forge-github.el` #614

Closed swflint closed 11 months ago

swflint commented 11 months ago

When byte-compiling (or loading) forge-github.el, I receive the following error. This is with freshly byte-compiled libraries.

Debugger entered--Lisp error: (wrong-type-argument listp t)
  mapcar(let-alist--deep-dot-search (maintainer_can_modify . t))
  (apply #'append (mapcar #'let-alist--deep-dot-search data))
  (cond ((symbolp data) (let ((name (symbol-name data))) (if (string-match "\\`\\." name) (progn (list (cons data (intern ...))))))) ((not (listp data)) nil) (t (apply #'append (mapcar #'let-alist--deep-dot-search data))))
  let-alist--deep-dot-search((maintainer_can_modify . t))
  mapcar(let-alist--deep-dot-search ((title \, \.title) (body \, \.body) (base \, base-branch) (head \, (if (equal head-remote base-remote) head-branch (concat (oref head-repo owner) ":" head-branch))) (draft \, (if (local-variable-p 'forge-buffer-draft-p) forge-buffer-draft-p \.draft)) (maintainer_can_modify . t)))
  (apply #'append (mapcar #'let-alist--deep-dot-search data))
  (cond ((symbolp data) (let ((name (symbol-name data))) (if (string-match "\\`\\." name) (progn (list (cons data (intern ...))))))) ((not (listp data)) nil) (t (apply #'append (mapcar #'let-alist--deep-dot-search data))))
  let-alist--deep-dot-search(((title \, \.title) (body \, \.body) (base \, base-branch) (head \, (if (equal head-remote base-remote) head-branch (concat (oref head-repo owner) ":" head-branch))) (draft \, (if (local-variable-p 'forge-buffer-draft-p) forge-buffer-draft-p \.draft)) (maintainer_can_modify . t)))
  mapcar(let-alist--deep-dot-search `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, (if (equal head-remote base-remote) head-branch (concat (oref head-repo owner) ":" head-branch))) (draft \, (if (local-variable-p 'forge-buffer-draft-p) forge-buffer-draft-p \.draft)) (maintainer_can_modify . t)))
  (apply #'append (mapcar #'let-alist--deep-dot-search data))
  (cond ((symbolp data) (let ((name (symbol-name data))) (if (string-match "\\`\\." name) (progn (list (cons data (intern ...))))))) ((not (listp data)) nil) (t (apply #'append (mapcar #'let-alist--deep-dot-search data))))
  let-alist--deep-dot-search(`((title \, \.title) (body \, \.body) (base \, base-branch) (head \, (if (equal head-remote base-remote) head-branch (concat (oref head-repo owner) ":" head-branch))) (draft \, (if (local-variable-p 'forge-buffer-draft-p) forge-buffer-draft-p \.draft)) (maintainer_can_modify . t)))
  mapcar(let-alist--deep-dot-search (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, (if (equal head-remote base-remote) head-branch (concat (oref head-repo owner) ":" head-branch))) (draft \, (if (local-variable-p 'forge-buffer-draft-p) forge-buffer-draft-p \.draft)) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback)))
  (apply #'append (mapcar #'let-alist--deep-dot-search data))
  (cond ((symbolp data) (let ((name (symbol-name data))) (if (string-match "\\`\\." name) (progn (list (cons data (intern ...))))))) ((not (listp data)) nil) (t (apply #'append (mapcar #'let-alist--deep-dot-search data))))
  let-alist--deep-dot-search((forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, (if (equal head-remote base-remote) head-branch (concat (oref head-repo owner) ":" head-branch))) (draft \, (if (local-variable-p 'forge-buffer-draft-p) forge-buffer-draft-p \.draft)) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback)))
  mapcar(let-alist--deep-dot-search (pcase-let* ((`(,base-remote \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(,head-remote \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, (if (equal head-remote base-remote) head-branch (concat ... ":" head-branch))) (draft \, (if (local-variable-p ...) forge-buffer-draft-p \.draft)) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback))))
  (apply #'append (mapcar #'let-alist--deep-dot-search data))
  (cond ((symbolp data) (let ((name (symbol-name data))) (if (string-match "\\`\\." name) (progn (list (cons data (intern ...))))))) ((not (listp data)) nil) (t (apply #'append (mapcar #'let-alist--deep-dot-search data))))
  let-alist--deep-dot-search((pcase-let* ((`(,base-remote \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(,head-remote \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, (if (equal head-remote base-remote) head-branch (concat ... ":" head-branch))) (draft \, (if (local-variable-p ...) forge-buffer-draft-p \.draft)) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback))))
  mapcar(let-alist--deep-dot-search ((when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(,base-remote \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(,head-remote \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, (if ... head-branch ...)) (draft \, (if ... forge-buffer-draft-p \.draft)) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback)))))
  (apply #'append (mapcar #'let-alist--deep-dot-search data))
  (cond ((symbolp data) (let ((name (symbol-name data))) (if (string-match "\\`\\." name) (progn (list (cons data (intern ...))))))) ((not (listp data)) nil) (t (apply #'append (mapcar #'let-alist--deep-dot-search data))))
  let-alist--deep-dot-search(((when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(,base-remote \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(,head-remote \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, (if ... head-branch ...)) (draft \, (if ... forge-buffer-draft-p \.draft)) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback)))))
  (delete-dups (let-alist--deep-dot-search body))
  (mapcar #'(lambda (x) (list (car x) (let-alist--access-sexp (car x) var))) (delete-dups (let-alist--deep-dot-search body)))
  (cons (mapcar #'(lambda (x) (list (car x) (let-alist--access-sexp (car x) var))) (delete-dups (let-alist--deep-dot-search body))) body)
  (cons 'let (cons (mapcar #'(lambda (x) (list (car x) (let-alist--access-sexp (car x) var))) (delete-dups (let-alist--deep-dot-search body))) body))
  (list 'let (list (list var alist)) (cons 'let (cons (mapcar #'(lambda (x) (list (car x) (let-alist--access-sexp ... var))) (delete-dups (let-alist--deep-dot-search body))) body)))
  (let ((var (make-symbol "alist"))) (list 'let (list (list var alist)) (cons 'let (cons (mapcar #'(lambda (x) (list ... ...)) (delete-dups (let-alist--deep-dot-search body))) body))))
  (closure (t) (alist &rest body) "Let-bind dotted symbols to their cdrs in ALIST and..." (let ((var (make-symbol "alist"))) (list 'let (list (list var alist)) (cons 'let (cons (mapcar #'... (delete-dups ...)) body)))))((forge--topic-parse-buffer) (when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(,base-remote \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(,head-remote \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, (if (equal head-remote base-remote) head-branch (concat ... ":" head-branch))) (draft \, (if (local-variable-p ...) forge-buffer-draft-p \.draft)) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback))))
  macroexpand((let-alist (forge--topic-parse-buffer) (when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(,base-remote \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(,head-remote \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, (if ... head-branch ...)) (draft \, (if ... forge-buffer-draft-p \.draft)) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback)))) ((function . cl--labels-convert) (cl-next-method-p . #f(compiled-function (&rest args) #<bytecode 0x1662b265b6304ea8>)) (cl-call-next-method . #f(compiled-function (&rest args) #<bytecode 0x1662b265b670aea8>)) (cl-generic-current-method-specializers . #f(compiled-function () #<bytecode 0x198000153e91>))))
  macroexp-macroexpand((let-alist (forge--topic-parse-buffer) (when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(,base-remote \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(,head-remote \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, (if ... head-branch ...)) (draft \, (if ... forge-buffer-draft-p \.draft)) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback)))) ((function . cl--labels-convert) (cl-next-method-p . #f(compiled-function (&rest args) #<bytecode 0x1662b265b6304ea8>)) (cl-call-next-method . #f(compiled-function (&rest args) #<bytecode 0x1662b265b670aea8>)) (cl-generic-current-method-specializers . #f(compiled-function () #<bytecode 0x198000153e91>))))
  macroexp--expand-all((let-alist (forge--topic-parse-buffer) (when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(,base-remote \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(,head-remote \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, (if ... head-branch ...)) (draft \, (if ... forge-buffer-draft-p \.draft)) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback)))))
  macroexp--all-forms((progn (let-alist (forge--topic-parse-buffer) (when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(... \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(... \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, ...) (draft \, ...) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback))))) 1)
  macroexp--expand-all((progn (let-alist (forge--topic-parse-buffer) (when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(... \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(... \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, ...) (draft \, ...) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback))))))
  macroexpand-all((progn (let-alist (forge--topic-parse-buffer) (when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(... \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(... \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, ...) (draft \, ...) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback))))) ((function . cl--labels-convert) (cl-next-method-p . #f(compiled-function (&rest args) #<bytecode 0x1662b265b6304ea8>)) (cl-call-next-method . #f(compiled-function (&rest args) #<bytecode 0x1662b265b670aea8>)) (cl-generic-current-method-specializers . #f(compiled-function () #<bytecode 0x198000153e91>))))
  #f(compiled-function (arg1 &rest rest) "Make local function definitions.\nEach definition can take the form (FUNC EXP) where\nFUNC is the function name, and EXP is an expression that returns the\nfunction value to which it should be bound, or it can take the more common\nform (FUNC ARGLIST BODY...) which is a shorthand\nfor (FUNC (lambda ARGLIST BODY)).\n\nFUNC is defined only within FORM, not BODY, so you can't write\nrecursive function definitions.  Use `cl-labels' for that.  See\ninfo node `(cl) Function Bindings' for details." #<bytecode -0x8e7d269327373c5>)(((cl-call-next-method cl--cnm) (cl-next-method-p cl--nmp)) (let-alist (forge--topic-parse-buffer) (when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(,base-remote \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(,head-remote \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, (if ... head-branch ...)) (draft \, (if ... forge-buffer-draft-p \.draft)) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback)))))
  macroexpand((cl-flet ((cl-call-next-method cl--cnm) (cl-next-method-p cl--nmp)) (let-alist (forge--topic-parse-buffer) (when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(... \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(... \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, ...) (draft \, ...) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback))))) ((cl-generic-current-method-specializers . #f(compiled-function () #<bytecode 0x198000153e91>))))
  macroexp-macroexpand((cl-flet ((cl-call-next-method cl--cnm) (cl-next-method-p cl--nmp)) (let-alist (forge--topic-parse-buffer) (when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(... \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(... \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, ...) (draft \, ...) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback))))) ((cl-generic-current-method-specializers . #f(compiled-function () #<bytecode 0x198000153e91>))))
  macroexp--expand-all((cl-flet ((cl-call-next-method cl--cnm) (cl-next-method-p cl--nmp)) (let-alist (forge--topic-parse-buffer) (when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(... \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(... \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, ...) (draft \, ...) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback))))))
  macroexpand-all((cl-flet ((cl-call-next-method cl--cnm) (cl-next-method-p cl--nmp)) (let-alist (forge--topic-parse-buffer) (when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(... \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(... \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, ...) (draft \, ...) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback))))) ((cl-generic-current-method-specializers . #f(compiled-function () #<bytecode 0x198000153e91>))))
  cl--generic-lambda(((_ forge-github-repository) repo) ((let-alist (forge--topic-parse-buffer) (when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(... \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(... \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, ...) (draft \, ...) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback))))))
  #f(compiled-function (arg1 arg2 &rest rest) "Define a new method for generic function NAME.\nThis defines an implementation of NAME to use for invocations\nof specific types of arguments.\n\nARGS is a list of dispatch arguments (see `cl-defun'), but where\neach variable element is either just a single variable name VAR,\nor a list on the form (VAR TYPE).\n\nFor instance:\n\n  (cl-defmethod foo (bar (format-string string) &optional zot)\n    (format format-string bar))\n\nThe dispatch arguments have to be among the mandatory arguments, and\nall methods of NAME have to use the same set of arguments for dispatch.\nEach dispatch argument and TYPE are specified in ARGS where the corresponding\nformal argument appears as (VAR TYPE) rather than just VAR.\n\nThe optional EXTRA element, on the form `:extra STRING', allows\nyou to add more methods for the same specializers and qualifiers.\nThese are distinguished by STRING.\n\nThe optional argument QUALIFIER is a specifier that modifies how\nthe method is combined with other methods, including:\n   :before  - Method will be called before the primary\n   :after   - Method will be called after the primary\n   :around  - Method will be called around everything else\nThe absence of QUALIFIER means this is a \"primary\" method.\nThe set of acceptable qualifiers and their meaning is defined\n(and can be extended) by the methods of `cl-generic-combine-methods'.\n\nARGS can also include so-called context specializers, introduced by\n`&context' (which should appear right after the mandatory arguments,\nbefore any &optional or &rest).  They have the form (EXPR TYPE) where\nEXPR is an Elisp expression whose value should match TYPE for the\nmethod to be applicable.\n\nThe set of acceptable TYPEs (also called \"specializers\") is defined\n(and can be extended) by the various methods of `cl-generic-generalizers'." #<bytecode -0x14a917dddeb62920>)(forge--submit-create-pullreq ((_ forge-github-repository) repo) (let-alist (forge--topic-parse-buffer) (when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(,base-remote \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(,head-remote \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, (if ... head-branch ...)) (draft \, (if ... forge-buffer-draft-p \.draft)) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback)))))
  macroexpand((cl-defmethod forge--submit-create-pullreq ((_ forge-github-repository) repo) (let-alist (forge--topic-parse-buffer) (when (and \.yaml (local-variable-p 'forge-buffer-draft-p)) (user-error "Cannot use yaml frontmatter and set `%s' at the sa..." 'forge-buffer-draft-p)) (pcase-let* ((`(... \, base-branch) (magit-split-branch-name forge--buffer-base-branch)) (`(... \, head-branch) (magit-split-branch-name forge--buffer-head-branch)) (head-repo (forge-get-repository 'stub head-remote)) (url-mime-accept-string "application/vnd.github.shadow-cat-preview+json")) (forge--ghub-post repo "/repos/:owner/:repo/pulls" `((title \, \.title) (body \, \.body) (base \, base-branch) (head \, ...) (draft \, ...) (maintainer_can_modify . t)) :callback (forge--post-submit-callback) :errorback (forge--post-submit-errorback))))))
  elisp--eval-defun()
  eval-defun(nil)
  funcall-interactively(eval-defun nil)
  command-execute(eval-defun)