Function: forge--set-field-callback

forge--set-field-callback is a natively compiled function defined in forge-client.el.

Signature

(forge--set-field-callback TOPIC)

Source Code

;; Defined in /nix/store/923zwib42c4qw6x4xps0cv1wi8qcd6lp-emacs-packages-deps/share/emacs/site-lisp/elpa/forge-20261005.753/forge-client.el
(defun forge--set-field-callback (topic)
  (let ((repo (forge-get-repository topic)))
    (cond
      ((forge-gitlab-repository--eieio-childp repo)
       ;; TODO Fetch single topic for Gitlab as well.
       (lambda (&rest _)
         (forge--pull repo (lambda (_) (forge-refresh-buffer)))))
      ((forge-discussion--eieio-childp topic)
       ;; See comment in `forge--update-status'.
       (let ((status (oref topic status)))
         (lambda (&rest _)
           (forge--query repo
             (ghub--graphql-prepare-query
              forge--github-repository-query
              `(repository discussions (discussion . ,(oref topic number))))
             `((owner . ,(oref repo owner))
               (name  . ,(oref repo name)))
             :callback (lambda (data)
                         (forge--update-discussion repo (cdr (cadr (cadr data))))
                         (oset topic status status)
                         (forge-refresh-buffer))))))
      ((lambda (&rest _)
         (forge--pull-topic (forge-get-repository topic) topic))))))