Function: dape--update-threads

dape--update-threads is a natively compiled function defined in dape.el.

Signature

(dape--update-threads CONN CB)

Documentation

Update threads for CONN in-place if possible.

See dape-request for expected CB signature.

Source Code

;; Defined in /nix/store/1fiaif8pifqj2jh65rbg3fkhg3i56q42-emacs-packages-deps/share/emacs/site-lisp/elpa/dape-0.27.1/dape.el
(defun dape--update-threads (conn cb)
  "Update threads for CONN in-place if possible.
See `dape-request' for expected CB signature."
  (dape--with-request-bind ((&key threads &allow-other-keys) error)
      (dape-request conn :threads nil)
    (setf (dape--threads conn)
          (mapcar
           (lambda (new-thread)
             (if-let* ((old-thread
                        (cl-find-if (lambda (old-thread)
                                      (eql (plist-get new-thread :id)
                                           (plist-get old-thread :id)))
                                    (dape--threads conn))))
                 (plist-put old-thread :name (plist-get new-thread :name))
               new-thread))
           (append threads nil)))
    (dape--maybe-select-thread conn
                               (cl-some (lambda (thread) (plist-get thread :id))
                                        (dape--threads conn)))
    (dape--request-continue cb error)))