summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2018-03-01 10:56:01 +0100
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2018-03-01 10:56:01 +0100
commita1659053d51357ef7d7dc096c8687c730e4cc9ef (patch)
tree1bb23d6aeaa69551f84042940d99fe3bffa0911c
parent09af7f18b2f018465a55fceae4e6db014955d757 (diff)
parent428ab7942a1d7ea377b2c747484a39c9714a73a4 (diff)
downloadorg-mode-a1659053d51357ef7d7dc096c8687c730e4cc9ef.tar.gz
Merge branch 'maint'
-rw-r--r--lisp/org-agenda.el49
1 files changed, 25 insertions, 24 deletions
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index b9c19a5..a8f3deb 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -9925,32 +9925,33 @@ The prefix arg is passed through to the command if possible."
(org-agenda-set-tags ,tag
,(if (eq action ?+) ''on ''off))))))
- (?s
- (let ((time
- (and (not arg)
- (org-read-date nil nil nil "(Re)Schedule to"
- org-overriding-default-time))))
+ ((and (or ?s ?d) c)
+ (let* ((schedule? (eq c ?s))
+ (prompt (if schedule? "(Re)Schedule to" "(Re)Set Deadline to"))
+ (time
+ (and (not arg)
+ (let ((new (org-read-date
+ nil nil nil prompt org-overriding-default-time)))
+ ;; A "double plus" answer applies to every
+ ;; scheduled time. Do not turn it into
+ ;; a fixed date yet.
+ (if (string-match-p "\\`[ \t]*\\+\\+"
+ org-read-date-final-answer)
+ org-read-date-final-answer
+ new)))))
;; Make sure to not prompt for a note when bulk
- ;; rescheduling as Org cannot cope with simultaneous notes.
- ;; Besides, it could be annoying depending on the number of
- ;; items re-scheduled.
+ ;; rescheduling/resetting deadline as Org cannot cope with
+ ;; simultaneous notes. Besides, it could be annoying
+ ;; depending on the number of marked items.
(setq cmd
- `(lambda ()
- (let ((org-log-reschedule (and org-log-reschedule 'time)))
- (org-agenda-schedule arg ,time))))))
- (?d
- (let ((time
- (and (not arg)
- (org-read-date nil nil nil "(Re)Set Deadline to"
- org-overriding-default-time))))
- ;; Make sure to not prompt for a note when bulk
- ;; rescheduling as Org cannot cope with simultaneous
- ;; notes. Besides, it could be annoying depending on the
- ;; number of items re-scheduled.
- (setq cmd
- `(lambda ()
- (let ((org-log-redeadline (and org-log-redeadline 'time)))
- (org-agenda-deadline arg ,time))))))
+ (if schedule?
+ `(lambda ()
+ (let ((org-log-reschedule
+ (and org-log-reschedule 'time)))
+ (org-agenda-schedule arg ,time)))
+ `(lambda ()
+ (let ((org-log-redeadline (and org-log-redeadline 'time)))
+ (org-agenda-deadline arg ,time)))))))
(?S
(unless (org-agenda-check-type nil 'agenda 'todo)