Merge branch 'maint'

This commit is contained in:
Nicolas Goaziou 2014-04-21 09:22:54 +02:00
commit 881459c6bc
1 changed files with 38 additions and 43 deletions

View File

@ -13609,49 +13609,44 @@ a Show deadlines and scheduled items after a date.
d Show deadlines due within `org-deadline-warning-days'. d Show deadlines due within `org-deadline-warning-days'.
D Show deadlines and scheduled items between a date range." D Show deadlines and scheduled items between a date range."
(interactive "P") (interactive "P")
(let (ans kwd value ts-type) (setq type (or type org-sparse-tree-default-date-type))
(setq type (or type org-sparse-tree-default-date-type)) (setq org-ts-type type)
(setq org-ts-type type) (message "Sparse tree: [/]regexp [t]odo [T]odo-kwd [m]atch [p]roperty
(message "Sparse tree: [/]regexp [t]odo [T]odo-kwd [m]atch [p]roperty\n [d]eadlines [b]efore-date [a]fter-date [D]ates range\n [c]ycle through date types: %s" [d]eadlines [b]efore-date [a]fter-date [D]ates range
(cond ((eq type 'all) "all timestamps") [c]ycle through date types: %s"
((eq type 'scheduled) "only scheduled") (case type
((eq type 'deadline) "only deadline") (all "all timestamps")
((eq type 'active) "only active timestamps") (scheduled "only scheduled")
((eq type 'inactive) "only inactive timestamps") (deadline "only deadline")
((eq type 'scheduled-or-deadline) "scheduled/deadline") (active "only active timestamps")
((eq type 'closed) "with a closed time-stamp") (inactive "only inactive timestamps")
(t "scheduled/deadline"))) (scheduled-or-deadline "scheduled/deadline")
(setq ans (read-char-exclusive)) (closed "with a closed time-stamp")
(cond (otherwise "scheduled/deadline")))
((equal ans ?c) (let ((answer (read-char-exclusive)))
(org-sparse-tree (case answer
arg (cadr (member type '(scheduled-or-deadline (?c
all scheduled deadline active inactive closed))))) (org-sparse-tree
((equal ans ?d) arg
(call-interactively 'org-check-deadlines)) (cadr (memq type '(scheduled-or-deadline all scheduled deadline active
((equal ans ?b) inactive closed)))))
(call-interactively 'org-check-before-date)) (?d (call-interactively #'org-check-deadlines))
((equal ans ?a) (?b (call-interactively #'org-check-before-date))
(call-interactively 'org-check-after-date)) (?a (call-interactively #'org-check-after-date))
((equal ans ?D) (?D (call-interactively #'org-check-dates-range))
(call-interactively 'org-check-dates-range)) (?t (call-interactively #'org-show-todo-tree))
((equal ans ?t) (?T (org-show-todo-tree '(4)))
(call-interactively 'org-show-todo-tree)) (?m (call-interactively #'org-match-sparse-tree))
((equal ans ?T) ((?p ?P)
(org-show-todo-tree '(4))) (let* ((kwd (org-icompleting-read
((member ans '(?T ?m)) "Property: " (mapcar #'list (org-buffer-property-keys))))
(call-interactively 'org-match-sparse-tree)) (value (org-icompleting-read
((member ans '(?p ?P)) "Value: " (mapcar #'list (org-property-values kwd)))))
(setq kwd (org-icompleting-read "Property: " (unless (string-match "\\`{.*}\\'" value)
(mapcar 'list (org-buffer-property-keys)))) (setq value (concat "\"" value "\""))))
(setq value (org-icompleting-read "Value: " (org-match-sparse-tree arg (concat kwd "=" value)))
(mapcar 'list (org-property-values kwd)))) ((?r ?R ?/) (call-interactively #'org-occur))
(unless (string-match "\\`{.*}\\'" value) (otherwise (user-error "No such sparse tree command \"%c\"" answer)))))
(setq value (concat "\"" value "\"")))
(org-match-sparse-tree arg (concat kwd "=" value)))
((member ans '(?r ?R ?/))
(call-interactively 'org-occur))
(t (user-error "No such sparse tree command \"%c\"" ans)))))
(defvar org-occur-highlights nil (defvar org-occur-highlights nil
"List of overlays used for occur matches.") "List of overlays used for occur matches.")