diff options
author | Marco Wahl <marcowahlsoft@gmail.com> | 2019-03-21 21:00:43 +0100 |
---|---|---|
committer | Marco Wahl <marcowahlsoft@gmail.com> | 2019-03-21 21:00:43 +0100 |
commit | 77d7fe8e2661e6da3e565812c61b5c4fa0f3c5d8 (patch) | |
tree | cce415fd10f1509fca506d3ba0c4c013d8abf4a9 | |
parent | 07d0c9edbc29ed79e6d16c654b562aefaeeca7cb (diff) | |
parent | 5bee2fc955b7723490ecad6e6f76107277cb702a (diff) | |
download | org-mode-77d7fe8e2661e6da3e565812c61b5c4fa0f3c5d8.tar.gz |
Merge branch 'agenda-subtree-kill-with-subtree-feedback'
-rw-r--r-- | lisp/org-agenda.el | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index baf9c8d..2ccf3a0 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -8477,7 +8477,7 @@ Point is in the buffer where the item originated.") (buffer (marker-buffer marker)) (pos (marker-position marker)) (type (org-get-at-bol 'type)) - dbeg dend (n 0) conf) + dbeg dend (n 0)) (org-with-remote-undo buffer (with-current-buffer buffer (save-excursion @@ -8489,14 +8489,20 @@ Point is in the buffer where the item originated.") dend (min (point-max) (1+ (point-at-eol))))) (goto-char dbeg) (while (re-search-forward "^[ \t]*\\S-" dend t) (setq n (1+ n))))) - (setq conf (or (eq t org-agenda-confirm-kill) - (and (numberp org-agenda-confirm-kill) - (> n org-agenda-confirm-kill)))) - (and conf - (not (y-or-n-p - (format "Delete entry with %d lines in buffer \"%s\"? " - n (buffer-name buffer)))) - (error "Abort")) + (when (or (eq t org-agenda-confirm-kill) + (and (numberp org-agenda-confirm-kill) + (> n org-agenda-confirm-kill))) + (let ((win-conf (current-window-configuration))) + (unwind-protect + (and + (prog2 + (org-agenda-tree-to-indirect-buffer nil) + (not (y-or-n-p + (format "Delete entry with %d lines in buffer \"%s\"? " + n (buffer-name buffer)))) + (kill-buffer org-last-indirect-buffer)) + (error "Abort")) + (set-window-configuration win-conf)))) (let ((org-agenda-buffer-name bufname-orig)) (org-remove-subtree-entries-from-agenda buffer dbeg dend)) (with-current-buffer buffer (delete-region dbeg dend)) |