;ELC   
;;; Compiled
;;; in Emacs version 29.3
;;; with all optimizations.



(byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\301\313\314&	\210\302\315\304\305\316DD\317\310\320\312\301\313\305&	\207" [require forge custom-declare-variable forge-add-pullreq-refspec funcall function #[0 "\300\207" [t] 1 #1=""] "Whether the pull-request refspec is added when setting up a repository.\n\nThis controls whether running `forge-pull' for the first time in\na repository also adds a refspec that fetches all pull-requests.\nIn repositories with huge numbers of pull-requests you might want\nto not do so, in which case you should set this option to `ask'.\n\nYou can also set this to nil and later add the refspec explicitly\nfor a repository using the command `forge-add-pullreq-refspec'." :package-version (forge . "0.2.0") :group :type (choice (const :tag "Always add refspec" t) (const :tag "Ask every time" ask) (const :tag "Never add refspec" nil)) forge-checkout-worktree-read-directory-function #[0 "\300\207" [forge-checkout-worktree-default-read-directory-function] 1 #1#] "Function used by `forge-checkout-worktree' to read worktree directory.\nTakes the pull-request as only argument and must return a directory." (forge . "0.4.0")] 10)
(defalias 'forge-dispatch #[0 "\300\301!\207" [transient-setup forge-dispatch] 2 nil nil])
(byte-code "\301\302\303\304#\210\301\302\305\306#\210\301\302\307\310\311\302\312\313\314\304\315\316\317&\n#\210\320\302\321\322\323\324\321\325\326\327D\330\331\332\326\333\311\334\257\330\331\335\326\336\311\337\257\330\331\340\326\341\311\342\257E#\321\325\326\343\344\345F\330\331\346\326\347\311\350\257\330\331\351\326\352\311\353\257\330\331\354\326\355\311\356\257\330\331\357\326\360\311\361\257\330\331\362\326\363\311\364\257\257#\321\325\326\365D\330\331\366\311\367\326\370\257\330\331\362\326\371\311\364\372\373\257	\330\331\374\326\375\311\376\344\377\201@ \201A \257E#F#\321\322\323\201B \321\325\326\201C \201D \201E F\330\331\201F \326\201G \311\201H \257\330\331\201I \326\201J \311\201K \201@ \201L \257	\330\331\201M \326\347\311\201N \257\330\331\201O \326\352\311\201P \257\330\331\201Q \326\355\311\201R \257\257#\321\325\326\201S D\330\331\201T \326\201G \311\201U \201D \201V \257	\330\331\201W \326\352\311\201X \201D \201Y \257	\330\331\201Z \326\355\311\201[ \201D \201\\ \257	\330\331\201] \326\201^ \311\201_ \257\330\331\201` \326\201a \311\201b \257\330\331\201c \326\201d \311\201e \257\201f \257#\321\325\326\201g D\330\331\201h \311\201i \201D \201j \257\330\331\201k \311\201l \257D#F#\321\322\323\201m C#E\"\207" [forge--topic-menus-column-widths put forge-dispatch interactive-only t function-documentation "Dispatch a forge command." transient--prefix transient-prefix :command :transient-non-suffix transient--do-call :refresh-suffixes :environment forge--menu-environment :column-widths transient--set-layout vector transient-columns nil forge--topic-menus-group transient-column :description "Fetch" transient-suffix :key "f f" "all topics" forge-pull "f t" "one topic" forge-pull-topic "f n" "notifications" forge-pull-notifications "Create" :if #[0 "\300\301!\207" [forge-get-repository :tracked?] 2] "c d" "discussion" forge-create-discussion "c i" "issue" forge-create-issue "c p" "pull-request" forge-create-pullreq "c u" "pr from issue" forge-create-pullreq-from-issue "c f" "fork or remote" forge-fork #[0 "\300\301!\203 \302\207\303 \204 \304 \203 \305\207\306\207" [forge-get-repository :tracked? "Actions" magit-gitdir forge-repository-at-point "Forge does not yet track this repository" "Not inside a Git repository"] 2] "/ a" forge-add-repository #[0 "\300\301!\211\203 \302\303\"\304=\203 \305\207\306\207" [forge-get-repository :stub? eieio-oref condition :tracked "track some repo" "track this repository"] 4] "fork this repository" :if-not #[0 "\300\301!\207" [forge-get-repository :tracked?] 2] "/ M" "merge with api" forge-merge #[0 "\300\301!\207" [forge-get-repository :tracked?] 2] :level 7 forge--lists-group "Visit" :inapt-if-not #[0 "\300\301!\207" [forge-get-repository :tracked?] 2] "v t" "topic" forge-visit-topic "v u" "topic from url" forge-visit-topic-from-url 0 "v d" forge-visit-discussion "v i" forge-visit-issue "v p" forge-visit-pullreq "Browse" "b t" forge-browse-topic #[0 "\300\301!\207" [forge-get-repository :tracked?] 2] "b i" forge-browse-issue #[0 "\300\301!\207" [forge-get-repository :tracked?] 2] "b p" forge-browse-pullreq #[0 "\300\301!\207" [forge-get-repository :tracked?] 2] "b r" "remote" forge-browse-remote "b I" "issues" forge-browse-issues "b P" "pull-requests" forge-browse-pullreqs "" "Display" "-S" forge-toggle-display-in-status-buffer forge--buffer-with-topics-sections-p "-H" forge-toggle-topic-legend forge--topic-legend-group] 24)
(byte-code "\300\301\302\303\304\301\305\306\307\310\311\312&#\207" [put forge-dispatch transient--suffix transient-suffix :command :transient transient--do-replace :inapt-if #[0 "\301\302\"\303=\207" [transient--prefix eieio-oref command forge-dispatch] 3] :inapt-face forge-suffix-active] 12)
(defalias 'forge-configure #[0 "\300\301!\207" [transient-setup forge-configure] 2 nil nil])
(byte-code "\301\302\303\304#\210\301\302\305\306#\210\301\302\307\310\311\302\312\313\314\304\315\316\317&\n#\210\320\302\321\322\323\324\321\325\326\327D\330\331\332\311\333\257\330\331\334\311\335\257\330\331\336\311\337\257E#D#C\"\210\301\302\340\330\311\302\341\342\343\344\345\346&#\207" [forge--topic-menus-column-widths put forge-configure interactive-only t function-documentation "Configure current repository and global settings." transient--prefix transient-prefix :command :transient-non-suffix transient--do-call :refresh-suffixes :environment forge--menu-environment :column-widths transient--set-layout vector transient-columns nil forge--topic-menus-group transient-column :description "Configure" transient-suffix :key "R  " forge-add-pullreq-refspec "s r" forge-forge.remote "s l" forge-forge.graphqlItemLimit transient--suffix :transient transient--do-replace :inapt-if #[0 "\301\302\"\303=\207" [transient--prefix eieio-oref command forge-configure] 3] :inapt-face forge-suffix-active] 16)
(defalias 'forge-pull #[0 "\300\301\302!\211\262\203 \303!\207\304\305\300\211\306\307 %\207" [nil forge-get-repository :tracked? forge--pull transient-setup forge-add-repository :scope forge-add-repository--scope] 7 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put forge-pull interactive-only t function-documentation "Pull forge topics for the current repository if it is already tracked.\nIf the current repository is still untracked locally, or the current\nrepository cannot be determined, instead invoke `forge-add-repository'." transient--suffix transient-suffix :command :description #[0 "\300\301!\203 \302\207\303\207" [forge-get-repository :tracked? "forge topics" "new forge repository"] 2]] 8)#@15 

(fn PROMPT)
(defalias 'forge-read-date #[257 "\300\301\302\"\210\303\304!\203 \304\302\211\211$\207\3052G \306!\211\307\230\203( \310\305\302\"\266\202< \311\302\312\313$\266\203\203; \310\305\"\210\210\314\315!\210\316\317!\210\202 \207" [require org nil fboundp org-read-date --cl-block-nil-- read-from-minibuffer "" throw "\\`[0-9]\\{4\\}[-/][0-9]\\{2\\}[-/][0-9]\\{2\\}\\'" string-match t message "Please enter a date in the format YYYY-MM-DD." sit-for 1] 10 (#$ . 7004)])
(byte-code "\300\301\302\303\302\304%\210\300\301\302\305\302\306%\207" [cl-generic-define-method forge--pull nil ((repo forge-noapi-repository) &rest _) #[385 "\300\301\211\302$\207" [forge--msg t "Pulling from REPO is not supported"] 7 "\n\n(fn REPO &rest ##)"] ((repo forge-unusedapi-repository) &rest _) #[385 "\300\301\302\"\303 \"\207" [magit-git-fetch eieio-oref remote magit-fetch-arguments] 6 "\n\n(fn REPO &rest ##)"]] 6)#@30 

(fn REPO &optional BUFFER)
(defalias 'forge--maybe-git-fetch #[513 "\3022K \303!\2034 \304\302rq\210\305\306!\203/ \307\310\311!\"\203/ \312 \203/ \313\314\315\"\316 \"\2021 \317 )\"\210\320!\211\205H \211\321\313\314\315\"\316 \"*\2620\207" [magit-inhibit-refresh default-directory #1=#::cond-let657 buffer-live-p throw derived-mode-p magit-mode forge-repository-equal forge-get-repository :stub? magit-toplevel magit-git-fetch eieio-oref remote magit-fetch-arguments magit-refresh-buffer forge-get-worktree t] 8 (#$ . 7932)])
(defalias 'forge-pull-notifications #[0 "\300\301\302!\211\262\203# \303!\211\304=\203 \305\306\307\"\"\207\310\311\306\312\"\"\207\305\304\313\"\207" [nil forge-get-repository :stub? eieio-object-class forge-github-repository forge--pull-notifications eieio-oref githost user-error "Fetching notifications not supported for forge %S" forge "github.com"] 7 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put forge-pull-notifications interactive-only t function-documentation "Fetch notifications for all repositories from the current forge." transient--suffix transient-suffix :command :description "forge notifications"] 8)#@15 

(fn NUMBER)
(defalias 'forge-pull-topic #[257 "\300\301\302!\"\207" [forge--pull-topic forge-get-repository :tracked] 4 (#$ . 9165) (byte-code "\300\301\302 \211\205\f \303\304\"\262\"C\207" [read-number "Pull topic: " forge-current-topic eieio-oref number] 6)])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put forge-pull-topic interactive-only t function-documentation "Read a topic TYPE and NUMBER pull data about it from its forge." transient--suffix transient-suffix :command :inapt-if-not #[0 "\300\301!\205 \302 \207" [forge-get-repository :tracked? forge--get-github-repository] 2]] 8)
(defalias 'forge-pull-this-topic #[0 "\300\301!\302\303!\"\207" [forge-current-topic t forge--pull-topic forge-get-repository] 4 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314&#\210\315\316\317\320\317\321%\207" [put forge-pull-this-topic interactive-only t function-documentation "Pull data about the topic at point from its forge." transient--suffix transient-suffix :command :inapt-if-not forge--get-github-repository :description "fetch" cl-generic-define-method forge--pull-topic nil ((repo forge-repository) _topic) #[514 "\300\301\302!\"\207" [error "Fetching an individual topic not implemented for %s" eieio-object-class] 6 "\n\n(fn REPO TOPIC)"]] 10)#@61 Visit the current repository's discussions using a browser.
(defalias 'forge-browse-discussions #[0 "\300\301\302\303!\304\"!\207" [browse-url forge--format forge-get-repository :stub discussions-url-format] 4 (#$ . 10543) nil])#@56 Visit the current repository's issues using a browser.
(defalias 'forge-browse-issues #[0 "\300\301\302\303!\304\"!\207" [browse-url forge--format forge-get-repository :stub issues-url-format] 4 (#$ . 10777) nil])#@63 Visit the current repository's pull-requests using a browser.
(defalias 'forge-browse-pullreqs #[0 "\300\301\302\303!\304\"!\207" [browse-url forge--format forge-get-repository :stub pullreqs-url-format] 4 (#$ . 10996) nil])#@143 Read a TOPIC and visit it using a browser.
By default only offer open topics but with a prefix argument
also offer closed topics.

(fn TOPIC)
(defalias 'forge-browse-topic #[257 "\300!\207" [forge--browse-topic] 3 (#$ . 11227) (byte-code "\300\301!C\207" [forge-read-topic "Browse topic"] 2)])#@158 Read a DISCUSSION and visit it using a browser.
By default only offer open discussions but with a prefix argument
also offer closed issues.

(fn DISCUSSION)
(defalias 'forge-browse-discussion #[257 "\300!\207" [forge--browse-topic] 3 (#$ . 11528) (byte-code "\300\301!C\207" [forge-read-discussion "Browse discussion"] 2)])#@144 Read an ISSUE and visit it using a browser.
By default only offer open issues but with a prefix argument
also offer closed issues.

(fn ISSUE)
(defalias 'forge-browse-issue #[257 "\300!\207" [forge--browse-topic] 3 (#$ . 11859) (byte-code "\300\301!C\207" [forge-read-issue "Browse issue"] 2)])#@171 Read a PULL-REQUEST and visit it using a browser.
By default only offer open pull-requests but with a prefix
argument also offer closed pull-requests.

(fn PULL-REQUEST)
(defalias 'forge-browse-pullreq #[257 "\300!\207" [forge--browse-topic] 3 (#$ . 12161) (byte-code "\300\301!C\207" [forge-read-pullreq "Browse pull-request"] 2)])#@14 

(fn TOPIC)
(defalias 'forge--browse-topic #[257 "\300!\301\302!!\210\303!\207" [forge-get-topic browse-url forge-get-url forge-topic-mark-read] 5 (#$ . 12500)])#@58 Read a COMMIT and visit it using a browser.

(fn COMMIT)
(defalias 'forge-browse-commit #[257 "\300\301\302\"!\207" [browse-url forge-get-url :commit] 5 (#$ . 12671) (byte-code "\300\301\302 \303\211\211\304\305 &\206 \306\307!C\207" [magit-completing-read "Browse commit" magit-list-branch-names nil magit-revision-history magit-branch-or-commit-at-point user-error "Nothing selected"] 8)])#@58 Read a BRANCH and visit it using a browser.

(fn BRANCH)
(defalias 'forge-browse-branch #[257 "\300\301\302\"!\207" [browse-url forge-get-url :branch] 5 (#$ . 13071) (byte-code "\300\301!C\207" [magit-read-branch "Browse branch"] 2)])#@58 Read a REMOTE and visit it using a browser.

(fn REMOTE)
(defalias 'forge-browse-remote #[257 "\300\301\302\"!\207" [browse-url forge-get-url :remote] 5 (#$ . 13312) (byte-code "\300\301\302\303#C\207" [magit-read-remote "Browse remote" nil t] 4)])#@66 Read a REPOSITORY and visit it using a browser.

(fn REPOSITORY)
(defalias 'forge-browse-repository #[257 "\300\301!!\207" [browse-url forge-get-url] 4 (#$ . 13567) (byte-code "\300\301!C\207" [forge-read-repository "Browse repository"] 2)])#@864 Visit a blob using a browser.

When invoked from a blob- or file-visiting buffer, visit that blob
without prompting.  If the region is active, try to jump to the marked
line or lines, and highlight them in the browser.  To what extend that
is possible depends on the forge.  When the region is not active just
visit the blob, without trying to jump to the current line.  When
jumping to a line, always use a commit hash as part of the URL.  From
a file in the worktree with no active region, instead use the branch
name as part of the URL, unless a prefix argument is used.

When invoked from a Dired buffer, visit the blob at point without
prompting. If a prefix argument is used, the commit hash is included
in the URL.

When invoked from any other buffer, prompt the user for a branch or
commit, and for a file.

(fn COMMIT FILE &optional LINE END FORCE-HASH)
(defalias 'forge-browse-blob #[1282 "\300\301\302&!\207" [browse-url forge-get-url :blob] 13 (#$ . 13816) (forge--browse-blob-args)])
(defalias 'forge-browse-this-topic #[0 "\300\301\302!!\207" [forge-browse-topic forge-current-topic t] 3 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put forge-browse-this-topic interactive-only t function-documentation "Visit the topic at point using a browser." transient--suffix transient-suffix :command :description "browse"] 8)#@48 Visit the repository at point using a browser.
(defalias 'forge-browse-this-repository #[0 "\300\301\302!!\207" [forge-browse-repository forge-repository-at-point t] 3 (#$ . 15223) nil])#@76 Copy the url of thing at point or the thing visited in the current buffer.
(defalias 'forge-copy-url-at-point-as-kill #[0 "\300\301 \211\262\203 \211;\203 \211\202 \302!\303!\210\304\305\"\207\306\307!\207" [nil forge--browse-target forge-get-url kill-new message "Copied \"%s\"" user-error "Nothing at point with a URL"] 5 (#$ . 15415) nil])#@43 Visit the thing at point using a browser.
(defalias 'forge-browse #[0 "\300\301 \211\262\203\" \211;\203 \302!\207\302\303!!\210\304!\205% \305!\207\306\307!\207" [nil forge--browse-target browse-url forge-get-url forge-topic--eieio-childp forge-topic-mark-read user-error "Nothing to browse here"] 4 (#$ . 15770) nil])
(defalias 'forge--browse-target #[0 "\303 \211\205\n \304\305\"\262\206{ \306 \211\205 \304\307\"\262\206{ \310 \211\205( \304\305\"\262\206{ \311 \211\2057 \304\312\"\262\206{ \313 \211\205G \304\314\315#\262\206{ \316 \206{ \317 \206{ \204d 	\204d \320\321!\203m \322\304\314\323 #\206{ \n\203x \304\307\n\"\206{ \324\325!\207" [magit-buffer-file-name buffer-file-name magit-buffer-revision magit--painted-branch-at-point forge-get-url :branch magit-commit-at-point :commit magit-branch-at-point magit-remote-at-point :remote magit-file-at-point :blob nil forge-post-at-point forge-current-topic derived-mode-p dired-mode apply forge--browse-blob-args forge-get-repository :stub?] 5])
(defalias 'forge--browse-blob-args #[0 "\203 	\206	 \n\305!\306\307 \206 \310\211DC\"BB\207\f\2032 \310\305\f!\306\307 \206, \310\211DC\"BB\207\311\312!\203C \310\305\313 !\310\211\257\207\314\315!\211\316\317\"D\207" [magit-buffer-file-name magit-buffer-refname magit-buffer-revision current-prefix-arg buffer-file-name magit-file-relative-name append magit-file-region-line-numbers nil derived-mode-p dired-mode dired-get-filename magit-read-local-branch-or-commit "Browse file from commit" magit-read-file-from-rev "Browse file"] 5])
(byte-code "\300\301\302\301\303\304#\305#\210\306\301\304\307\304\310%\210\306\301\304\311\304\312%\210\306\301\304\313\304\314%\210\306\301\304\315\304\316%\210\306\301\304\317\304\320%\210\306\301\304\321\304\322%\210\306\301\304\323\304\324%\210\306\301\304\325\304\326%\210\306\301\304\327\304\330%\210\306\301\304\331\304\332%\210\333\334!\210\306\335\304\336\304\337%\207" [defalias forge-get-url cl-generic-define (obj) nil "Return the URL for a forge object.\n\n(fn OBJ)" cl-generic-define-method ((disc forge-discussion)) #[257 "\300\301\"\207" [forge--format discussion-url-format] 4 "\n\n(fn DISC)"] ((issue forge-issue)) #[257 "\300\301\"\207" [forge--format issue-url-format] 4 "\n\n(fn ISSUE)"] ((pullreq forge-pullreq)) #[257 "\300\301\"\207" [forge--format pullreq-url-format] 4 "\n\n(fn PULLREQ)"] ((repo forge-repository)) #[257 "\300\301\"\207" [forge--format remote-url-format] 4 "\n\n(fn REPO)"] ((_ (eql :commit)) commit) #[514 "\211\300\235\203 \301 \206\f \302\262\303\304!\3052M \306\307\310\311\"\312P#\211\203( \313\305\"\210\210\306\307\"@\211\2056 \314!@\211\203E \313\305\303\304\"\211\262\"\210\266\315\316\317#0\210\320\321\322\323!BC#\207" [(nil "{worktree}" "{index}") magit-get-current-branch "HEAD" forge-get-repository :stub #::cond-let*661 magit-list-containing-branches "-r" eieio-oref remote "/*" throw magit-split-branch-name message "%s does not appear to be available on any remote.  %s" "You might have to push it first." forge--format commit-url-format 114 magit-commit-p] 10 "\n\n(fn _ COMMIT)"] ((_ (eql :blob)) commit file &optional line end force-hash) #[1539 ";\204	 \300\301!\210\302\235\203 \303 \206 \304\262\305!\203$ \306!A\206: \307!\206: \2047 \211\2047 \303 \206: \310\304!\311\312!\313\314\"\315!\203V \305!\203Q \316\202R \317P\262\320\321B\322BD#\205w \323\211	\232?\205v #P\207" [cl--assertion-failed (stringp file) (nil "{worktree}" "{index}") magit-get-current-branch "HEAD" magit-branch-p magit-split-branch-name magit-commit-p magit-rev-parse forge-get-repository :stub eieio-oref blob-url-format forge-gitweb-repository--eieio-childp "hb=" "h=" forge--format 114 102 forge-format-blob-lines] 15 "\n\n(fn _ COMMIT FILE &optional LINE END FORCE-HASH)"] ((_ (eql :branch)) branch) #[514 "\211;\204	 \300\301!\210\302\303!\203! \304!\211\242\243\262\262\266\2025 \305!\206* \306!\211\262\2045 \307\310\"\210\311\312\313\"\314\315BC#\207" [cl--assertion-failed (stringp branch) nil magit-remote-branch-p magit-split-branch-name magit-get-push-remote magit-get-upstream-remote user-error "Cannot determine remote for %s" forge--format forge-get-repository :stub branch-url-format 114] 8 "\n\n(fn _ BRANCH)"] ((_ (eql :remote)) remote) #[514 "\211;\204	 \300\301!\210\302\303\304\"\305\"\207" [cl--assertion-failed (stringp remote) forge--format forge-get-repository :stub remote-url-format] 6 "\n\n(fn _ REMOTE)"] ((post forge-post)) #[257 "\300\301!\302\303!\203 \303!\203 \304\2022 \302\305!\203% \305!\203% \306\2022 \302\307!\2052 \307!\2052 \310\262\"\207" [forge--format forge-get-parent fboundp forge-discussion--eieio-childp discussion-post-url-format forge-issue--eieio-childp issue-post-url-format forge-pullreq--eieio-childp pullreq-post-url-format] 6 "\n\n(fn POST)"] ((notify forge-notification)) #[257 "\300\301\"\207" [eieio-oref url] 4 "\n\n(fn NOTIFY)"] require forge-forgejo forge-format-blob-lines ((repo forge-repository) line end) #[771 "\300!\204 \301!\204 \302!\204 \303!\204 \304!\203, \305\203' \306\202( \307#\207\310!\203@ \305\203; \311\202< \312#\207\313!\204R \314!\204R \315!\203W \305\316\"\207\317!\204i \320!\204i \321!\203n \305\322\"\207\323!\203y \305\307\"\207\324\325\326#\205\202 \327\207" [forge-github-repository--eieio-childp forge-gitlab-repository--eieio-childp forge-forgejo-repository--eieio-childp forge-gitea-repository--eieio-childp forge-gogs-repository--eieio-childp format "#L%s-L%s" "#L%s" forge-bitbucket-repository--eieio-childp "#lines-%s:%s" "#lines-%s" forge-cgit-repository--eieio-childp forge-cgit*-repository--eieio-childp forge-cgit**-repository--eieio-childp "#n%s" forge-gitweb-repository--eieio-childp forge-repoorcz-repository--eieio-childp forge-stagit-repository--eieio-childp "#l%s" forge-srht-repository--eieio-childp error "cl-etypecase failed: %s, %s" ((or forge-github-repository forge-gitlab-repository forge-forgejo-repository forge-gitea-repository forge-gogs-repository) forge-bitbucket-repository (or forge-cgit-repository forge-cgit*-repository forge-cgit**-repository) (or forge-gitweb-repository forge-repoorcz-repository forge-stagit-repository) forge-srht-repository) nil] 7 "\n\n(fn REPO LINE END)"]] 6)#@272 Read a TOPIC and visit it.
By default only offer active topics for completion.  With a prefix
argument offer all topics.  While completion is in progress, \<forge-read-topic-minibuffer-map>\[forge-read-topic-lift-limit] lifts
the limitation to active topics.

(fn TOPIC)
(defalias 'forge-visit-topic #[257 "\300\301!!\207" [forge-topic-setup-buffer forge-get-topic] 4 (#$ . 22094) (byte-code "\300\301!C\207" [forge-read-topic "View topic"] 2)])#@282 Read a DISCUSSION and visit it.
By default only offer active topics for completion.  With a prefix
argument offer all topics.  While completion is in progress, \<forge-read-topic-minibuffer-map>\[forge-read-topic-lift-limit] lifts
the limitation to active topics.

(fn DISCUSSION)
(defalias 'forge-visit-discussion #[257 "\300\301!!\207" [forge-topic-setup-buffer forge-get-discussion] 4 (#$ . 22547) (byte-code "\300\301!C\207" [forge-read-discussion "View discussion"] 2)])#@273 Read an ISSUE and visit it.
By default only offer active issues for completion.  With a prefix
argument offer all topics.  While completion is in progress, \<forge-read-topic-minibuffer-map>\[forge-read-topic-lift-limit] lifts
the limitation to active issues.

(fn ISSUE)
(defalias 'forge-visit-issue #[257 "\300\301!!\207" [forge-topic-setup-buffer forge-get-issue] 4 (#$ . 23030) (byte-code "\300\301!C\207" [forge-read-issue "View issue"] 2)])#@300 Read a PULL-REQUEST and visit it.
By default only offer active pull-requests for completion.  With a
prefix argument offer all topics.  While completion is in progress,
\<forge-read-topic-minibuffer-map>\[forge-read-topic-lift-limit] lifts the limitation to active pull-requests.

(fn PULL-REQUEST)
(defalias 'forge-visit-pullreq #[257 "\300\301!!\207" [forge-topic-setup-buffer forge-get-pullreq] 4 (#$ . 23484) (byte-code "\300\301!C\207" [forge-read-pullreq "View pull-request"] 2)])#@49 Visit the topic specified by web URL.

(fn URL)
(defalias 'forge-visit-topic-from-url #[257 "\300\301\"\203 \302\303\304\305\306\224O\307\310#\311\312\313\"!\"!\207\314\315\"\207" [string-match "/\\(issues\\|pull\\|discussions\\|merge_requests\\)/\\([0-9]+\\)\\'" forge-topic-setup-buffer forge-get-topic forge-get-repository 0 1 nil :tracked string-to-number match-string 2 user-error "Not recognized as a topic URL: %s"] 8 (#$ . 23977) (byte-code "\300\301!C\207" [read-string "Topic URL: "] 2)])#@101 Visit the topic at point.
With prefix argument MENU, also show the topic menu.

(fn &optional MENU)
(defalias 'forge-visit-this-topic #[256 "\302\303 !\210\304=\203 \305\211\207\211\204 \306>\205 \307\304!\207" [transient-current-command forge--quit-keep-topic-menu forge-topic-setup-buffer forge-topic-at-point forge-topic-menu t (forge-topics-menu forge-notifications-menu) transient-setup] 3 (#$ . 24488) (list current-prefix-arg)])#@32 Visit the repository at point.
(defalias 'forge-visit-this-repository #[0 "\301 \302!\303=\2031 \304\305\306#\2031 \3072H \310\311!!\211\203+ \312\307\313!\210\314\315!\"\210\210\316!0\207\211\2039 \317!\207\304\305\306#\203E \316!\207\320\321!\207" [transient-current-command forge-repository-at-point forge-get-worktree forge-repositories-menu forge-get-repository nil :tracked? #1=#::cond-let665 get-buffer forge-topics-buffer-name throw switch-to-buffer transient-setup forge-topics-menu forge-list-topics magit-status-setup-buffer user-error "Not tracked and location of clone is unknown"] 7 (#$ . 24935) nil])#@68 Create a new discussion for the current repository.

(fn CATEGORY)
(defalias 'forge-create-discussion #[257 "\300\301\302\303\304\305DC%\207" [forge--setup-post-buffer new-discussion forge--submit-create-discussion "new-discussion" "Create new discussion on %p" forge--buffer-category] 8 (#$ . 25565) (byte-code "\300\301\302\"C\207" [forge-read-topic-category nil "Category for new discussion"] 3)])#@63 Create a new issue for the current repository.

(fn TEMPLATE)
(defalias 'forge-create-issue #[257 "\300\236A\301\236A\302\236A\303\267\202& \304!\207\305!\207\306\307\310\311\312\313	DC%\207\314\315\"\207" [type url category #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (redirect 18 forge-discussion 22 forge-issue 26)) browse-url forge-create-discussion forge--setup-post-buffer new-issue forge--submit-create-issue "new-issue" "Create new issue on %p" forge--buffer-template error "No clause matching `%S'"] 11 (#$ . 25973) (byte-code "\300\301\302\"C\207" [forge--topic-template nil forge-issue] 3)])#@75 Create a new pull-request for the current repository.

(fn SOURCE TARGET)
(defalias 'forge-create-pullreq #[514 "\300\301\302\303\304\305D\306D\307\310\311\312\"DE%\207" [forge--setup-post-buffer new-pullreq forge--submit-create-pullreq "new-pullreq" "Create new pull-request on %p" forge--buffer-base-branch forge--buffer-head-branch forge--buffer-template forge--topic-template nil forge-pullreq] 13 (#$ . 26630) (forge-create-pullreq--read-args)])#@28 

(fn ISSUE SOURCE TARGET)
(defalias 'forge-create-pullreq-from-issue #[771 "\300!\262\301\302!$\207" [forge-get-issue forge--create-pullreq-from-issue forge-get-repository] 8 (#$ . 27090) (byte-code "\300\301!\302 B\207" [forge-read-open-issue "Convert issue" forge-create-pullreq--read-args] 2)])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314&#\207" [put forge-create-pullreq-from-issue interactive-only t function-documentation "Convert an existing ISSUE into a pull-request." transient--suffix transient-suffix :command :description "convert to pull-request" :if #[0 "\300 \205 \301 \211\205 \302\303\"\304=\205 \211\262\207" [forge--get-github-repository forge-current-issue eieio-oref state open] 4]] 10)
(defalias 'forge-create-pullreq--read-args #[0 "\301\302!\303\304\"\204 \305\306!\210\307\310\311\312 \307\313\307\314\315 \211\205+ \316!\203' \211\202+ \317\313\"\262\206F \320 \211\205D \316!\203@ \211\202D \317\313\"\262&\303\321\"\322\312!\"\310\323\307\313\307\314\324\n!A\211\205k \325!\205k \326!\211\205| \316!\203y \211\202| \326!\211\205\205 \211\235@\266\203\206\234 \327\330\331\n\f#\332\303\333\"B!\"&D\207" [magit-main-branch-names forge-get-repository :tracked eieio-oref worktree user-error "Cannot create pull-request without working tree" nil magit-completing-read "Source branch" magit-list-remote-branch-names t magit-revision-history magit-branch-at-point magit-remote-branch-p magit-get-push-branch magit-get-current-branch remote delete "Target branch" magit-split-branch-name magit-branch-p magit-get-upstream-branch seq-some make-closure #[257 "\301\302Q\300\235@\207" [V0 V1 "/"] 4 "\n\n(fn %)"] delete-dups default-branch] 18])#@202 Create a new post on an existing topic.
If the region is active, then quote that part of the post.
Otherwise and with a prefix argument quote the post that
point is currently on.

(fn &optional QUOTE)
(defalias 'forge-create-post #[256 "\301\302!\204\n \303\304!\210\305\306!\204 \307\2026 \310 \203\" \311\312 \313 \"\2026 \211\2056 \314 \315\311\316\317\"\316\320\"\"!\262\211\205> \321\322\"\323!\203I \324 \202J \325!\203[ \326\327\330\331\307&\207\332!\203l \326\327\333\334\307&\207\326\327\335\334\307&\207" [forge-buffer-topic derived-mode-p forge-topic-mode user-error "This command is only available from topic buffers" magit-section-match post nil use-region-p forge--buffer-substring-no-properties region-beginning region-end magit-current-section string-trim slot-value content end make-closure #[0 "db\210o\204\n \301c\210\302\303\304\300#c\210\305c\207" [V0 "\n" replace-regexp-in-string "^" "> " "\n\n"] 4] forge-discussion-p forge--select-discussion-reply-target forge-discussion-post--eieio-childp forge--setup-post-buffer forge--submit-create-post "%i;%I;new-reply" "New comment on #%i;%I of %p" forge-discussion--eieio-childp "%i;new-answer" "New comment on #%i of %p" "%i;new-comment"] 11 (#$ . 28853) (list current-prefix-arg)])
(defalias 'forge-approve-pullreq #[0 "\300\301!\302\303!!\204 \304\305!\210\306\307\310\311$\207" [forge-current-pullreq t forge-github-repository-p forge-get-repository user-error "This command is only available for Github" forge--setup-post-buffer forge--submit-approve-pullreq "%i;new-approval" "Approve pull-request #%i of %p"] 6 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314\315\316&#\207" [put forge-approve-pullreq interactive-only t function-documentation "Approve the current pull-request." transient--suffix transient-suffix :command :description "approve pull-request" :inapt-if-not forge-current-pullreq :transient nil] 12)
(defalias 'forge-request-changes #[0 "\300\301!\302\303!!\204 \304\305!\210\306\307\310\311$\207" [forge-current-pullreq t forge-github-repository-p forge-get-repository user-error "This command is only available for Github" forge--setup-post-buffer forge--submit-request-changes "%i;new-request" "Request changes for pull-request #%i of %p"] 6 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314\315\316&#\207" [put forge-request-changes interactive-only t function-documentation "Request changes to the current pull-request." transient--suffix transient-suffix :command :description "request changes" :inapt-if-not forge-current-pullreq :transient nil] 12)#@24 Edit the current post.
(defalias 'forge-edit-post #[0 "\300\301!\302!\203 \303\304\305\306\307\310\311\"&\207\312!\205* \303\304\313\314\307\310\315\"&\207" [forge-post-at-point t forge-topic--eieio-childp forge--setup-post-buffer forge--submit-edit-post "%i" "Edit #%i of %p" nil make-closure #[0 "\301\302\300\303\"\304\261\210\302\300\305\"c\207" [V0 "# " eieio-oref title "\n\n" body] 4] forge-post--eieio-childp "%i;%I" "Edit comment on #%i of %p" #[0 "\301\300\302\"c\207" [V0 eieio-oref body] 3]] 10 (#$ . 31545) nil])
(defalias 'forge-edit-topic-note #[0 "\30122 \302\303!\211\205 \304!\211\205 \305!\211\203+ \306\301\307\310\311\312\313\314\315\"&\"\210)\266\316\317!0\207" [default-directory #1=#::if-let*667 forge-current-topic t forge-get-repository forge-get-worktree throw forge--setup-post-buffer forge--save-note "%i;note" "New note on #%i of %p" nil make-closure #[0 "\301\300\302\"\211\205 \212\211\303\261)\207" [V0 eieio-oref note 10] 3] message "Cannot determine topic or worktree"] 14 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314\315\316&#\207" [put forge-edit-topic-note interactive-only t function-documentation "Edit your private note about the current topic." transient--suffix transient-suffix :command :transient transient--do-quit-all :inapt-if-not forge-current-topic :description #[0 "\300\301 \211\262\2033 \302\300\303\304\"\211\262\203* \305\306\307\300\310\311$\266\203O\312\313#\202/ \305\314\312\315#\262P\207\316\207" [nil forge-current-topic "note " eieio-oref note propertize 0 "$" string-match t face font-lock-string-face "none" magit-dimmed "note"] 14]] 12)
(defalias 'forge-delete-comment #[0 "\300\301!\302\303!\205 \304\305\306!\"\207" [forge-comment-at-point t yes-or-no-p "Really delete the current comment? " forge--delete-comment forge-get-repository :tracked] 4 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314&#\207" [put forge-delete-comment interactive-only t function-documentation "Delete the comment at point." transient--suffix transient-suffix :command :description "delete comment" :inapt-if-not forge-comment-at-point] 10)#@114 Create and configure a new branch from a pull-request.
Please see the manual for more information.

(fn PULLREQ)
(defalias 'forge-branch-pullreq #[257 "\300!\301\302!\211\262\203 \211\303\304\"\210\207\305!\210\306 \207" [forge-get-pullreq nil forge--pullreq-branch-active message "Branch %S already exists and is configured" forge--branch-pullreq forge-refresh-buffer] 7 (#$ . 33789) (byte-code "\300\301!C\207" [forge-read-pullreq "Branch pull request"] 2)])
(byte-code "\300\301\302\303\302\304%\210\300\301\302\305\302\306%\210\300\301\302\307\302\310%\207" [cl-generic-define-method forge--branch-pullreq nil ((pullreq forge-pullreq)) #[257 "\300\301!\"\207" [forge--branch-pullreq forge-get-repository] 4 "\n\n(fn PULLREQ)"] ((_repo forge-unusedapi-repository) pullreq) #[514 "\300\301\"\302\303\"\304!\203 \305\306\"\210\307\310\311!#\210\312\310\313#\210\314\315!\310\316$\210\207" [eieio-oref number format "pr-%s" magit-branch-p user-error "Branch `%s' already exists" magit-git "branch" forge--pullreq-ref magit-call-git "--set-upstream-to=master" magit-set number-to-string "pullRequest"] 9 "\n\n(fn REPO PULLREQ)"] ((repo forge-repository) pullreq) #[514 "\302\303\"\304\305\"\306!\206 \211\304\307\"\302\310\"\211\205 \311\312\"\262\203, \313\314\315\"\210\202\302\316\"\317=\204? \320\321\322$\210\202\302\323\"\302\324\"\302\310\"\302\325\"\204\205 \326Q\327!\204e \330\331\"\210\332\"\210\333\"\210\334\321\335$\210\334\321\336$\266\202\334 \211\204\237 \337\262\262\332\"\210\334\321\335$\210\202\334 \235\203\256 \327!\203\256 \262\340!\210\332\326Q\"\210\302\341\"\203\324 \232\203\324 \334\321\335$\210\202\334 \334\321\335$\210\203\350 \334\321\336$\210\334\342\321\343$\210\320\321\302\344\"\345	\204\327!\204\f\326Q\202P\262#\266\334\346!\321\347$\210\334\302\350\"\321\351$\210\207" [magit-main-branch-names magit-branch-prefer-remote-upstream eieio-oref number format "pr-%s" forge--pullreq-branch-internal "refs/pullreqs/%s" head-ref string-search ":" error "Cannot check out this merge-request because %s" "an old Gitlab version discarded the source branch" state open magit-git "branch" "--force" remote head-user cross-repo-p "/" magit-branch-p magit-call-git "fetch" forge--setup-pullreq-branch magit-branch-maybe-adjust-upstream magit-set "pushRemote" "pullRequestRemote" nil forge--setup-pullreq-remote editable-p "true" "rebase" base-ref "--set-upstream-to=" number-to-string "pullRequest" title "description"] 17 "\n\n(fn REPO PULLREQ)"]] 6)#@24 

(fn BRANCH TRACKING)
(defalias 'forge--setup-pullreq-branch #[514 "\300!\203 \301\"?\205 \302\303#\207\304\305#\207" [magit-branch-p magit-rev-equal message "Existing branch %s diverged from %s" magit-git "branch"] 6 (#$ . 36387)])#@16 

(fn PULLREQ)
(defalias 'forge--setup-pullreq-remote #[257 "\300\301\"\300\302\"\303!\300\304\"\300\301\"\300\305\"\306!\203l \307\310\311#\312\310\313#\314!GT\315OE\232\204C \316\317	#\210\320\321	\"\235\206X \320\322\n\n$\235?\205k \323\310\324\325%\210\323\313	\"\207\307\310\311\300\326\"#\323\310\327\330\331\332\333\334\n\"\204\217 \333\335\n\"\203\231 \320\336\f#\202\324 \333\337\n\"\203\253 \320\340\f#\202\324 \333\341\n\"\203\275 \320\342\f#\202\324 \333\343\n\"\203\317 \320\344\f#\202\324 \345\346\n\"&\207" [eieio-oref head-user head-ref forge-get-repository githost head-repo magit-remote-p magit-git-string "remote" "get-url" magit-get-all "fetch" forge--split-forge-url nil user-error "Remote `%s' already exists but does not point to %s" format "+refs/heads/*:refs/remotes/%s/*" "+refs/heads/%s:refs/remotes/%s/%s" magit-git "set-branches" "--add" remote "add" "-f" "--no-tags" "-t" string-prefix-p "git@" "ssh://git@" "git@%s:%s.git" "https://" "https://%s/%s.git" "git://" "git://%s/%s.git" "http://" "http://%s/%s.git" error "%s has an unexpected format"] 20 (#$ . 36635)])#@124 Create, configure and checkout a new branch from a pull-request.
Please see the manual for more information.

(fn PULLREQ)
(defalias 'forge-checkout-pullreq #[257 "\300\301\302!!!\210\303 \207" [magit--checkout forge--branch-pullreq forge-get-pullreq forge-refresh-buffer] 5 (#$ . 37795) (byte-code "\300\301!C\207" [forge-read-pullreq "Checkout pull request"] 2)])
(defalias 'forge-checkout-this-pullreq #[0 "\300\301\302!!\207" [forge-checkout-pullreq forge-current-topic t] 3 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314&#\207" [put forge-checkout-this-pullreq interactive-only t function-documentation "Checkout the current pull-request.\nIf the branch for that pull-request does not exist yet, then create and\nconfigure it first." transient--suffix transient-suffix :command :description "checkout" :inapt-if-not forge-current-pullreq] 10)#@215 Create, configure and checkout a new worktree from a pull-request.
This is like `forge-checkout-pullreq', except that it also
creates a new worktree.  Please see the manual for more
information.

(fn PATH PULLREQ)
(defalias 'forge-checkout-worktree #[514 "\300!\203 \301!\203 \302\303!\304\"\204 \305\306\"\210\307\310\311!!\"\207" [file-exists-p file-directory-p length= directory-files 2 user-error "%s already exists and isn't empty" magit-worktree-checkout forge--branch-pullreq forge-get-pullreq] 7 (#$ . 38709) (byte-code "\301\302!\303!!D\207" [forge-checkout-worktree-read-directory-function forge-read-pullreq "Checkout pull request" forge-get-pullreq] 4)])#@16 

(fn PULLREQ)
(defalias 'forge-checkout-worktree-default-read-directory-function #[257 "\301!\210\302\303\"\302\304\"\305\306\307\"\310\311!!\312\211\313!\314\312\315\316$\266\203\2031 \317!\202< \306\320	\321\322\323\f##\262%\211\324\232\203I \325\326!\210\207" [default-directory eieio-object-p eieio-oref number head-ref read-directory-name format "Checkout #%s in new worktree: " file-name-directory directory-file-name nil forge--pullreq-branch-internal "\\`pr-[0-9]+\\'" string-match t number-to-string "%s-%s" string-replace "/" "-" "" user-error "The empty string isn't a valid path"] 17 (#$ . 39393)])#@13 

(fn ARGS)
(defalias 'forge-push-to-unnamed-pullreq #[257 "\3002; \301 \211\205 \302\303\"\211\2035 \304\300\305\306!\210\307\310\311\312\313\312\314\"\"\315\316\"\317\320\n\315\321\"#%\"\210\266\322\323!0\207" [#1=#::cond-let*673 magit-get-current-branch forge-get-pullreq :branch throw run-hooks magit-credential-hook magit-run-git-async "push" "-v" delete "--tags" "--follow-tags" eieio-oref head-user format "%s:%s" head-ref error "Checked out branch is not an unnamed pull-request branch"] 16 (#$ . 40026) (byte-code "\300 C\207" [magit-push-arguments] 1)])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314&#\207" [put forge-push-to-unnamed-pullreq interactive-only t function-documentation "Push the current branch to the branch on the contributor's fork.\n\nUsually a maintainer would use `magit-push-current-to-pushremote' to\npush to the branch, the contributor asks to be merged.  That does not\nwork if they did not create a dedicated branch and instead committed\ndirectly to \"main\", or some other branch, that also exists in the\nupstream repository.\n\nIf this is the case then the branch, which is used to check out the\npull-request locally, is named \"pr-N\" (where N is the pull-request\nnumber) and this command is made available as a substitute in the\n`magit-push' menu." transient--suffix transient-suffix :command :if #[0 "\300 \211\205 \301\302\"\205 \303\304\305\306$\266\203\207" [magit-get-current-branch forge-get-pullreq :branch "\\`pr-[0-9]+\\'" nil string-match t] 9] :description #[0 "\300 \211\205\n \301\302\"\211\205! \303\304\305\303\306\307\310\"\307\311\"#\312\"\"\207" [magit-get-current-branch forge-get-pullreq :branch format "contributor's %s branch" magit--propertize-face "%s/%s" eieio-oref head-user head-ref magit-branch-remote] 11]] 10)#@79 Define a new mark that topics can be marked with.

(fn NAME FACE DESCRIPTION)
(defalias 'forge-create-mark #[771 "\300\301\302\303\304 %\"\207" [forge-sql [:insert-into mark :values $v1] vector nil forge--uuid] 11 (#$ . 41887) (byte-code "\301\302!\303\304\305D\306\244\307\310!\311\312\313#\266\202\314\315!@\316\260\262\317\"\211\320\267\2026 \321\322!\2027 \323\324\325\326$\2027 \306\262\327\330!\210\301\331!\211\330\232?\205H \211\262E\207" [read-expression-map read-string "Name: " read-char-choice "a face [n]ame" "face [s]exp" nil "Set appearance using " butlast ", " mapconcat identity ", or " last " " (110 115) #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (110 39 115 45)) read-face-name "Face name: " read-from-minibuffer "Face sexp: " "(:background \"\" :foreground \"\" :box t)" t message "" "Description: "] 10)])#@82 Define a new mark that topics can be marked with.

(fn ID NAME FACE DESCRIPTION)
(defalias 'forge-edit-mark #[1028 "\300\301\302##\207" [forge-sql [:update mark :set (= [name face description] $v1) :where (= id $s2)] vector] 10 (#$ . 42777) (byte-code "\301\302!\303\304\305\306\307\"\310\311$\"\211\242\243\211\242\243\211\242\243\211\242\243\312\313\n\"\314\315\316D\310\244\317\320!\321\322\323#\266\202\324\325!@\326\260\262\327\"\211\330\267\202n \331\3329\205S \"\202o \333\334<\203g \335\336\n\"\202h \337\311$\202o \310\262\340\341!\210\312\342\310\211$\211\341\232?\205\204 \211\262F\207" [read-expression-map forge-sql [:select [name id face description] :from mark] assoc completing-read "Edit mark" mapcar car nil t read-string "Name: " read-char-choice "a face [n]ame" "face [s]exp" "Set appearance using " butlast ", " mapconcat identity ", or " last " " (110 115) #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (110 73 115 87)) read-face-name "Face name: " read-from-minibuffer "Face sexp: " format "%S" "(:background \"\" :foreground \"\" :box t)" message "" "Description: "] 21)])#@346 Fork the current repository to FORK and add it as a REMOTE.

If the fork already exists, then that isn't an error; the remote
is added anyway.  Currently this only supports Github and Gitlab.

With prefix argument ALL, fork all branches, not just the default
branch.  On Gitlab it is not possible to fork only the default.

(fn FORK REMOTE ALL)
(defalias 'forge-fork #[771 "\300\301!\302#\210\303\304\305\306\"\305\307\"#\310C#\207" [forge-get-repository :stub forge--fork-repository magit-remote-add magit-clone--format-url eieio-oref githost name "--fetch"] 12 (#$ . 43950) (byte-code "\302\303\304\305\"\"\211\306\307\310\311\"A\312\"\206 \"	E\207" [forge-owned-accounts current-prefix-arg magit-completing-read "Fork to" mapcar car read-string "Remote name: " plist-get assoc remote-name] 8)])#@23 

(fn PULLREQ METHOD)
(defalias 'forge-merge #[514 "\300!\301\302!\303\304!!$\207" [forge-get-pullreq forge--merge-pullreq forge-get-repository magit-commit-oid forge--pullreq-branch-internal] 9 (#$ . 44767) (byte-code "\300\301!\302 D\207" [forge-read-pullreq "Merge pull-request" forge-select-merge-method] 2)])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\"#\207" [put forge-merge interactive-only nil function-documentation "Merge the current pull-request using METHOD using the forge's API.\n\nIf there is no current pull-request or with a prefix argument,\nthen read pull-request PULLREQ to visit instead.\n\nUse of this command is discouraged.  Unless the remote repository\nis configured to disallow that, you should instead merge locally\nand then push the target branch.  Forges detect that you have\ndone that and respond by automatically marking the pull-request\nas merged." transient--suffix transient-suffix :command] 6)
(defalias 'forge-select-merge-method #[0 "\300\301!\203C \301\302\303!!\203C \304\305\306D\307C\244\310\311!\312\313\314#\266\202\315\316!@\317\260\262\320\"\211\321\267\202; \322\202< \323\202< \324\262\325\326!\210\207\304\305\306\327E\307C\244\310\311!\312\313\314#\266\202\315\316!@\317\260\262\330\"\211\331\267\202u \322\202v \323\202v \332\202v \324\262\325\326!\210\207" [fboundp forge-gitlab-repository--eieio-childp forge-get-repository :tracked read-char-choice "[m]erge" "[s]quash" "[C-g] to abort" "Merge method " butlast ", " mapconcat identity ", or " last " " (109 115) #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (109 51 115 55)) merge squash nil message "" "[r]ebase" (109 115 114) #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (109 105 115 109 114 113)) rebase] 9])#@128 Change the default branch on the upstream remote and locally.
Also update the upstream branches of local branches accordingly.
(defalias 'forge-set-default-branch #[0 "\300 \211\242\243\211\242\243\301\302\303\"\304\305 \"\306\211\307%\310\311!\210\312\"\210\313\"\210\314 \210\310\315!\207" [forge--set-default-branch-read-args magit-read-remote-branch format "Set default branch (was: %s)" delete forge--get-remote nil t message "Changing default branch..." forge--set-default-branch magit--set-default-branch forge-refresh-buffer "Changing default branch...done"] 11 (#$ . 46627) nil])#@128 Rename the default branch on the upstream remote and locally.
Also update the upstream branches of local branches accordingly.
(defalias 'forge-rename-default-branch #[0 "\300 \211\242\243\211\242\243\301\232?\205 \301\302\303\304\203\" \303\305\"\202# \306#\307\211$\310\311!\210\312#\210\313\"\210\314\315\316\317\320\n\321\"$\210\322 \210\310\323!\207" [forge--set-default-branch-read-args "main" read-string format "Rename default branch `%s' to%s: " " (default: %s)" "" nil message "Renaming default branch..." forge--rename-branch magit--set-default-branch magit-git "remote" "set-head" "--auto" eieio-oref remote forge-refresh-buffer "Renaming default branch...done"] 14 (#$ . 47230) nil])
(defalias 'forge--set-default-branch-read-args #[0 "\300\301!\302!\204 \303\304\305\306\"\"\210\307\310\311!\203 \311 \206% \312 \206% \303\313!\314\315\"\316\317!\210\320\321\322\"\210\320\323\324\325$\210\316\326!\210\327\330\331#\203N \332!A\202Q \333\334!D\207" [forge-get-repository :tracked forge-github-repository-p user-error "Updating default branch not supported for forge `%s'" eieio-oref forge nil fboundp forge--get-remote magit-get-some-remote "No remote configured" format "refs/remotes/%s/HEAD" message "Determining old default branch..." magit-git "fetch" "--prune" "remote" "set-head" "--auto" "Determining old default branch...done" magit-git-string "symbolic-ref" "--short" magit-split-branch-name error "Cannot determine old default branch"] 9])
(defalias 'forge-forge.remote #[0 "\301 \302\303!\"\266\203  \304\305\"\306=\203  \307 \310\311 \312#\207\313 \207" [transient--prefix transient-suffix-object transient-infix-set transient-infix-read eieio-oref command forge-add-repository forge-add-repository--scope eieio-oset transient-prefix-object scope transient--show] 5 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314\315\316&#\210\317\320\321\"\210\300\320\302\303#\210\300\320\322\323#\210\300\320\304\324#\210\300\320\306\325\310\320\326\327\311\330\331\332\315\333&\n#\207" [put forge-forge.remote interactive-only t function-documentation "Change the local value of the `forge.remote' Git variable." transient--suffix magit--git-variable:choices :command :variable "forge.remote" :choices magit-list-remotes :default #[257 "\300\301\211\"\207" [forge--get-remote t] 4 "\n\n(fn _)"] defalias forge-forge.graphqlItemLimit transient--default-infix-command completion-predicate transient--suffix-only "Change the maximum number of GraphQL entities to pull at once." magit--git-variable :if forge--get-github-repository "forge.graphqlItemLimit" :reader read-string #[0 "\301!\207" [ghub-graphql-items-per-request number-to-string] 2]] 14)
(defalias 'forge-toggle-display-in-status-buffer #[0 "\301\302\303\302\"?\205\f \304#\210\305 \207" [forge--buffer-topics-spec eieio-oset type eieio-oref topic forge-refresh-buffer] 6 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314\315\316&#\207" [put forge-toggle-display-in-status-buffer interactive-only t function-documentation "Toggle whether to display topics in the current status buffer." transient--suffix transient-suffix :command :if-mode magit-status-mode :inapt-if-not forge--buffer-with-topics-sections-p :description #[0 "\203 \301\302\"\203 \303\207\304\207" [forge--buffer-topics-spec eieio-oref type "hide topics" "display topics"] 3]] 12)
(defalias 'forge--buffer-with-topics-sections-p #[0 "\205 	\302=?\205 \303\304!\207" [forge--buffer-topics-spec major-mode forge-topics-mode forge-get-repository :tracked?] 2])
(defalias 'forge-add-pullreq-refspec #[0 "\300\301!\302\303\"\304\305\306#\302\307\"\211\235\203 \310\311!\207\312\313\314\315\316\"$\210\317\320 \"\207" [forge-get-repository :stub eieio-oref remote magit-get-all "remote" "fetch" pullreq-refspec message "Pull-request refspec is already active" magit-call-git "config" "--add" format "remote.%s.fetch" magit-git-fetch magit-fetch-arguments] 10 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314&#\207" [put forge-add-pullreq-refspec interactive-only t function-documentation "Configure Git to fetch all pull-requests.\nThis is done by adding \"+refs/pull/*/head:refs/pullreqs/*\"\nto the value of `remote.REMOTE.fetch', where REMOTE is the\nupstream remote." transient--suffix transient-suffix :command :if-not forge--pullreq-refspec :description "add pull-request refspec"] 10)
(defalias 'forge--pullreq-refspec #[0 "\300\301!\302\303\"\304\305\306#\302\307\"\211\235@\207" [forge-get-repository :stub eieio-oref remote magit-get-all "remote" "fetch" pullreq-refspec] 6])#@29 

(fn &optional REPO LIMIT)
(defalias 'forge-add-repository #[512 "\204 \302\303\304\211\305\306 %\207;\203 \302\303\304\211\305\306!%\207\211\307=?\211\205) \310\311\312\"\211\2051 \313\314\"\211\2059 \313\315\"\211\205A \316!\211\205c \211\317\320\321#\235?\205c 	\312=\206c 	\322=\205c \323\324\325\"!\211\203r \326\327\330\324\331\"$\210)\266\332\304\333#\262\211\307=\203\213 \334\335\312#\210\304\262\336\316!?\205\225 \337#\207" [default-directory forge-add-pullreq-refspec transient-setup forge-add-repository nil :scope forge-add-repository--scope :selective magit-git-config-p "forge.autoPull" t eieio-oref remote pullreq-refspec forge-get-worktree magit-get-all "remote" "fetch" ask y-or-n-p format "Also add %S refspec? " magit-call-git "config" "--add" "remote.%s.fetch" forge-get-repository :insert! eieio-oset selective-p forge--pull ignore] 14 (#$ . 51982) nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\210\313\301\314\315\303\314\316\317\320D\321\322\323\324\325\257C#\314\316\326\327D\321\322\330\324\325\257C#\314\316\317\331\322\332F\333\334\335\310\336\324\337\340\341\257	\333\334\342\322\343\310\300\344\302\312#\210\300\344\345\346#\210\347\344\350\"\210\344\257\333\334\351\322\352\310\300\353\302\312#\210\300\353\345\346#\210\347\353\354\"\210\353\257\333\334\355\322\356\310\300\357\302\312#\210\300\357\345\346#\210\347\357\360\"\210\357\257F#\314\316\317\361\322\362F\333\334\335\310\336\324\363\340\364\257	\333\334\365\322\366\310\300\367\302\312#\210\300\367\345\346#\210\347\367\370\"\210\367\257\333\334\371\322\372\310\300\373\302\312#\210\300\373\345\346#\210\347\373\374\"\210\373\257\333\334\375\322\376\310\300\377\302\312#\210\300\377\345\346#\210\347\377\201@ \"\210\377\257F#\314\316\303\333\334\201A \322\201B \310\201C \257\333\201D \201E \334\201F \322\201G \310\201H \257	\333\201D \201E \334\201I \322\201J \310\201K \257	E#\257#C\"\207" [put forge-add-repository interactive-only nil function-documentation "Add a repository to the database." transient--prefix transient-prefix :command :refresh-suffixes t transient--set-layout vector transient-subgroups transient-column :if #[0 "\300\301!\207" [forge--scope :tracked] 2] transient-information* :description #[0 "\300\301\302\303\304#\301\305\306!\303\307#\"\207" [format propertize "%s is already being tracked" face transient-heading forge--scope url bold] 6] :format "%d" :if-not #[0 "\300\301!\207" [forge--scope topdir] 2] #[0 "\301\302\303\304\305#\302\304\306#\"\207" [default-directory format propertize "%s is not inside a Git repository" face transient-heading bold] 6] #[0 "\300\301!?\205\n \300\302!\207" [forge--scope repo topdir] 2] #[0 "\300\301\302\303\304#\301\305\306!\303\307#\"\31029 \311 \211\205 \312\313\314#\211\2031 \315\310\300\301\316\303\304#\301\303\307#\"\"\210\266\301\317\303\304#0P\207" [format propertize "Cannot determine forge host for %s\n" face transient-heading forge--scope topdir bold #::if-let*699 forge--get-remote magit-git-string "remote" "get-url" throw "because %s is not on a host known to Forge." "because no suitable remote was detected."] 11] transient-suffix :key "r" forge-forge.remote " %k Try another %d %v" :face 'bold "h" "Learn how to configure another Github host" transient:forge-add-repository::690 completion-predicate transient--suffix-only defalias #[0 "\300\301!\207" [info "(forge)Setup for Another Github Instance"] 2 nil nil] "l" "Learn how to configure another Gitlab host" transient:forge-add-repository::691 #[0 "\300\301!\207" [info "(forge)Setup for Another Gitlab Instance"] 2 nil nil] "p" "Learn how to configure partially supported host" transient:forge-add-repository::692 #[0 "\300\301!\207" [info "(forge)Setup a Partially Supported Host"] 2 nil nil] #[0 "\300\301!\207" [forge--scope :untracked] 2] #[0 "\300\301\302\303\304#\301\305\306!\303\307#\"\207" [format propertize "Adding %s to database," face transient-heading forge--scope url bold] 6] " %k from %d %v," 'bold "a" "pulling all topics" transient:forge-add-repository::693 #[257 "\300!\207" [forge-add-repository] 3 "\n\n(fn REPO)" (byte-code "\300\301!C\207" [forge--scope repo] 2)] "s" "pulling only topics since <date>" transient:forge-add-repository::694 #[514 "\300\"\207" [forge-add-repository] 5 "\n\n(fn REPO DATE)" (byte-code "\300\301!\302\303!D\207" [forge--scope repo forge-read-date "Limit pulling to topics updated since: "] 3)] "i" "to allow pulling of individual topics" transient:forge-add-repository::695 #[257 "\300\301\"\207" [forge-add-repository :selective] 4 "\n\n(fn REPO)" (byte-code "\300\301!C\207" [forge--scope repo] 2)] "o" "Add another repository" forge-add-some-repository :level 7 "U" "Add all source repositories belonging to a user" forge-add-user-repositories "O" "Add all source repositories belonging to an organization" forge-add-organization-repositories] 24)#@28 

(fn &optional DIRECTORY)
(defalias 'forge-add-repository--scope #[256 "\211\203\f \300\301\302#\202 \300\302!\211\205 \303!\205 \304\305\"\306B\307B\305B\310\310=B\311\312>B\313\2069 \314 B\315	\205D \316\n!B\257\207" [forge-get-repository nil :stub? forge-get-worktree eieio-oref condition repo wtree :tracked :untracked (:known :stub) topdir magit-toplevel url forge-get-url] 13 (#$ . 56920)])#@22 

(fn &optional KEY)
(defalias 'forge--scope #[256 "\300 \203 \301\"\207\207" [transient-scope alist-get] 5 (#$ . 57340)])#@57 Read a repository and add it to the database.

(fn URL)
(defalias 'forge-add-some-repository #[257 "\300!\207" [forge-add-repository] 3 (#$ . 57472) (byte-code "\300\211\204U \301\302\"\262\303\300\304\305$\266\203\204 \306!\262\307\300\310#\2037 \311\312\313\314\315#\"\210\316\317!\210\202 \307\300\320#\204O \311\321\313\314\315#\"\210\316\317!\210\202 \211\262\202 C\207" [nil magit-read-string-ns "Add repository to database (url, owner/name, or name)" "\\(://\\|@\\)" string-match t magit-clone--name-to-url forge-get-repository :tracked? message "%s is already being tracked locally" propertize face bold sit-for 3 :valid? "%s does not exist or is inaccessible"] 10)])#@139 Add all of USER's repositories from HOST to the database.
This may take a while.  Only Github is supported at the moment.

(fn HOST USER)
(defalias 'forge-add-user-repositories #[514 "\300\301#\207" [forge--add-user-repos forge-github-repository] 6 (#$ . 58174) (byte-code "\300\301\302\"\303\304!D\207" [forge-read-host "Add repositories from Github host" forge-github-repository read-string "User: "] 3)])#@155 Add all of ORGANIZATION's repositories from HOST to the database.
This may take a while.  Only Github is supported at the moment.

(fn HOST ORGANIZATION)
(defalias 'forge-add-organization-repositories #[514 "\300\301#\207" [forge--add-organization-repos forge-github-repository] 6 (#$ . 58590) (byte-code "\300\301\302\"\303\304!D\207" [forge-read-host "Add repositories from Github host" forge-github-repository read-string "Organization: "] 3)])#@57 Remove a repository from the database.

(fn REPOSITORY)
(defalias 'forge-remove-repository #[257 "\300!\210\301 \207" [closql-delete forge-refresh-buffer] 3 (#$ . 59045) (byte-code "\300\301!\302!\210\303\304\"\303\305\"\303\306\"\307\310\311\312%!\203# C\207\313\314!\207" [forge-read-repository "Remove repository from db" eieio-object-p eieio-oref githost owner name yes-or-no-p format "Do you really want to remove \"%s/%s @%s\" %s? " "from the database" user-error "Abort"] 11)])#@632 Remove a topic from the local database only.

When the region marks multiple topics, then offer to remove them all.

The topic is not removed from the forge and, if it is later modified,
then it will be added to the database again when fetching all topics.

This is useful for users who only fetch individual topics and want to
remove the topics they are no longer interested in.  This can also be
used to remove topics locally, which have already been removed on the
forge (the service).  Forge (the package) cannot automatically detect
when that happens, because given how the APIs work, this would be too
expensive.

(fn TOPIC)
(defalias 'forge-remove-topic-locally #[257 "\211<\203 \301\302\"\210\303 \207\304!\262\302!\210\305\306!\203, \307\310\"\307\310\"\232\203, \311p!\207\303 \207" [forge-buffer-topic mapc closql-delete forge-refresh-buffer forge-get-topic derived-mode-p forge-topic-mode eieio-oref id kill-buffer] 5 (#$ . 59546) (byte-code "\3002& \301\302\303\"\211\205 \304\305\306\307\306\310\311\"%\211\203  \312\300\"\210\266\313\314!0C\207" [#1=#::if-let*704 magit-region-values (issue pullreq) t magit-confirm remove-topics-locally nil "Delete %d topics locally" mapcar forge--format-topic-line throw forge-read-topic "Delete topic LOCALLY only"] 9)])#@194 Move the current database file to the trash.
This is useful after the database scheme has changed, which will
happen a few times while the forge functionality is still under
heavy development.
(defalias 'forge-reset-database #[0 "\301!\205 \302\303!\205 \304\305!\211\203 \306!\210\210\307\305\"\210\310 \207" [forge-database-file file-exists-p yes-or-no-p "Really trash Forge's database file? " forge-db t emacsql-close delete-file forge-refresh-buffer] 3 (#$ . 60837) nil])#@25 

(fn &optional EXPAND)
(defalias 'forge-jump-to-pullreqs #[256 "\3032= \304\305C\306!B!\211\2038 \307\303\310\311\"b\210\2056 \3121+ \313\314!)0\210\2023 \210\315\316\317\315\"\210\320\321!\"\210\210\322\323!0\207" [magit-root-section inhibit-quit quit-flag #1=#::cond-let705 magit-get-section pullreqs magit-section-ident throw eieio-oref start (quit) nil magit-section-show t eval (ignore nil) recenter 0 message "Section \"Pull requests\" wasn't found"] 7 (#$ . 61324) "P"])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314&#\207" [put forge-jump-to-pullreqs interactive-only t function-documentation "Jump to the section \"Pull requests\".\nWith a prefix argument also expand it." transient--suffix transient-suffix :command :description "Pull requests" :inapt-if-not #[0 "\301\302C\303!B!\207" [magit-root-section magit-get-section pullreqs magit-section-ident] 4]] 10)#@25 

(fn &optional EXPAND)
(defalias 'forge-jump-to-issues #[256 "\3032= \304\305C\306!B!\211\2038 \307\303\310\311\"b\210\2056 \3121+ \313\314!)0\210\2023 \210\315\316\317\315\"\210\320\321!\"\210\210\322\323!0\207" [magit-root-section inhibit-quit quit-flag #1=#::cond-let706 magit-get-section issues magit-section-ident throw eieio-oref start (quit) nil magit-section-show t eval (ignore nil) recenter 0 message "Section \"Issues\" wasn't found"] 7 (#$ . 62259) "P"])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314&#\210\315\316!\207" [put forge-jump-to-issues interactive-only t function-documentation "Jump to the section \"Issues\".\nWith a prefix argument also expand it." transient--suffix transient-suffix :command :description "Issues" :inapt-if-not #[0 "\301\302C\303!B!\207" [magit-root-section magit-get-section issues magit-section-ident] 4] provide forge-commands] 10)
