Function: dape-breakpoint-save

dape-breakpoint-save is an interactive and natively compiled function defined in dape.el.

Signature

(dape-breakpoint-save &optional FILENAME)

Documentation

Save all breakpoints to FILE for later restoration.

Will use dape-default-breakpoints-file if FILENAME is nil.

Key Bindings

This command is not in any keymaps.

Source Code

;; Defined in /nix/store/1fiaif8pifqj2jh65rbg3fkhg3i56q42-emacs-packages-deps/share/emacs/site-lisp/elpa/dape-0.27.1/dape.el
(defun dape-breakpoint-save (&optional filename)
  "Save all breakpoints to FILE for later restoration.
Will use `dape-default-breakpoints-file' if FILENAME is nil."
  (interactive
   (list
    (read-file-name "Save breakpoints to file: ")))
  (setq filename (or filename dape-default-breakpoints-file))
  (with-temp-buffer
    (insert
     ";; Generated by `dape-breakpoint-save'\n"
     ";; Load breakpoints with `dape-breakpoint-load'\n\n")
    (cl-loop for breakpoint in dape--breakpoints
             for filename = (dape--breakpoint-file-name breakpoint)
             when filename collect
             `(,filename ,(dape--breakpoint-line breakpoint)
                         ,(dape--source-breakpoint-type breakpoint)
                         ,(dape--source-breakpoint-value breakpoint))
             into serialized finally do
             (prin1 serialized (current-buffer)))
    ;; Skip write if nothing has changed since last save
    (unless (and (file-exists-p filename)
                 (equal (buffer-string)
                        (with-temp-buffer
                          (insert-file-contents filename)
                          (buffer-string))))
      (write-region (point-min) (point-max) filename nil
                    (unless (called-interactively-p 'interactive) 'quiet)))))