mirror of
https://github.com/org-roam/org-roam
synced 2025-08-03 12:27:23 -05:00
(fix):org-roam-refile: Don't try to refile a node into itself (#1928)
This commit is contained in:
@ -827,48 +827,50 @@ If region is active, then use it instead of the node at point."
|
|||||||
(nbuf (or (find-buffer-visiting file)
|
(nbuf (or (find-buffer-visiting file)
|
||||||
(find-file-noselect file)))
|
(find-file-noselect file)))
|
||||||
level reversed)
|
level reversed)
|
||||||
(if regionp
|
(if (equal (org-roam-node-at-point) node)
|
||||||
|
(user-error "Target is the same as current node")
|
||||||
|
(if regionp
|
||||||
|
(progn
|
||||||
|
(org-kill-new (buffer-substring region-start region-end))
|
||||||
|
(org-save-markers-in-region region-start region-end))
|
||||||
(progn
|
(progn
|
||||||
(org-kill-new (buffer-substring region-start region-end))
|
(if (org-before-first-heading-p)
|
||||||
(org-save-markers-in-region region-start region-end))
|
(org-roam-demote-entire-buffer))
|
||||||
(progn
|
(org-copy-subtree 1 nil t)))
|
||||||
(if (org-before-first-heading-p)
|
(with-current-buffer nbuf
|
||||||
(org-roam-demote-entire-buffer))
|
(org-with-wide-buffer
|
||||||
(org-copy-subtree 1 nil t)))
|
(goto-char (org-roam-node-point node))
|
||||||
(with-current-buffer nbuf
|
(setq level (org-get-valid-level (funcall outline-level) 1)
|
||||||
(org-with-wide-buffer
|
reversed (org-notes-order-reversed-p))
|
||||||
(goto-char (org-roam-node-point node))
|
(goto-char
|
||||||
(setq level (org-get-valid-level (funcall outline-level) 1)
|
(if reversed
|
||||||
reversed (org-notes-order-reversed-p))
|
(or (outline-next-heading) (point-max))
|
||||||
(goto-char
|
(or (save-excursion (org-get-next-sibling))
|
||||||
(if reversed
|
(org-end-of-subtree t t)
|
||||||
(or (outline-next-heading) (point-max))
|
(point-max))))
|
||||||
(or (save-excursion (org-get-next-sibling))
|
(unless (bolp) (newline))
|
||||||
(org-end-of-subtree t t)
|
(org-paste-subtree level nil nil t)
|
||||||
(point-max))))
|
(and org-auto-align-tags
|
||||||
(unless (bolp) (newline))
|
(let ((org-loop-over-headlines-in-active-region nil))
|
||||||
(org-paste-subtree level nil nil t)
|
(org-align-tags)))
|
||||||
(and org-auto-align-tags
|
(when (fboundp 'deactivate-mark) (deactivate-mark))))
|
||||||
(let ((org-loop-over-headlines-in-active-region nil))
|
(if regionp
|
||||||
(org-align-tags)))
|
(delete-region (point) (+ (point) (- region-end region-start)))
|
||||||
(when (fboundp 'deactivate-mark) (deactivate-mark))))
|
(org-preserve-local-variables
|
||||||
(if regionp
|
(delete-region
|
||||||
(delete-region (point) (+ (point) (- region-end region-start)))
|
(and (org-back-to-heading t) (point))
|
||||||
(org-preserve-local-variables
|
(min (1+ (buffer-size)) (org-end-of-subtree t t) (point)))))
|
||||||
(delete-region
|
;; If the buffer end-up empty after the refile, kill it and delete its
|
||||||
(and (org-back-to-heading t) (point))
|
;; associated file.
|
||||||
(min (1+ (buffer-size)) (org-end-of-subtree t t) (point)))))
|
(when (eq (buffer-size) 0)
|
||||||
;; If the buffer end-up empty after the refile, kill it and delete its
|
(if (buffer-file-name)
|
||||||
;; associated file.
|
(delete-file (buffer-file-name)))
|
||||||
(when (eq (buffer-size) 0)
|
(set-buffer-modified-p nil)
|
||||||
(if (buffer-file-name)
|
;; In this was done during capture, abort the capture process.
|
||||||
(delete-file (buffer-file-name)))
|
(when (and org-capture-mode
|
||||||
(set-buffer-modified-p nil)
|
(buffer-base-buffer (current-buffer)))
|
||||||
;; In this was done during capture, abort the capture process.
|
(org-capture-kill))
|
||||||
(when (and org-capture-mode
|
(kill-buffer (current-buffer))))))
|
||||||
(buffer-base-buffer (current-buffer)))
|
|
||||||
(org-capture-kill))
|
|
||||||
(kill-buffer (current-buffer)))))
|
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun org-roam-extract-subtree ()
|
(defun org-roam-extract-subtree ()
|
||||||
|
Reference in New Issue
Block a user