diff options
author | Bastien Guerry <bzg@altern.org> | 2014-05-27 16:51:33 +0200 |
---|---|---|
committer | Bastien Guerry <bzg@altern.org> | 2014-05-27 16:51:33 +0200 |
commit | 5fbdbb2bd51df774a0e254c17540d2f083d4e1ae (patch) | |
tree | d3ded7134000e01630da55835d78ec1ef80f3f3a | |
parent | c9ecc225acaef812bf142f1bc4f2f5164aa5b93b (diff) | |
download | org-mode-5fbdbb2bd51df774a0e254c17540d2f083d4e1ae.tar.gz |
org-agenda.el (org-agenda-limit-interactively): Enhance
* org-agenda.el (org-agenda-finalize-entries): Remove spurious
variable in the (let ...) construct.
(org-agenda-limit-interactively): Allow to remove the
limitation by passing a universal prefix argument. Enhance
the prompt.
-rw-r--r-- | lisp/org-agenda.el | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index fc417eb..dafccc0 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -6791,7 +6791,7 @@ The optional argument TYPE tells the agenda type." (t org-agenda-max-tags))) (max-entries (cond ((listp org-agenda-max-entries) (cdr (assoc type org-agenda-max-entries))) - (t org-agenda-max-entries))) l) + (t org-agenda-max-entries)))) (when org-agenda-before-sorting-filter-function (setq list (delq nil @@ -6826,19 +6826,29 @@ The optional argument TYPE tells the agenda type." list))) list))) -(defun org-agenda-limit-interactively () +(defun org-agenda-limit-interactively (remove) "In agenda, interactively limit entries to various maximums." - (interactive) - (let* ((max (read-char "Number of [e]ntries [t]odos [T]ags [E]ffort? ")) - (num (string-to-number (read-from-minibuffer "How many? ")))) - (cond ((equal max ?e) - (let ((org-agenda-max-entries num)) (org-agenda-redo))) - ((equal max ?t) - (let ((org-agenda-max-todos num)) (org-agenda-redo))) - ((equal max ?T) - (let ((org-agenda-max-tags num)) (org-agenda-redo))) - ((equal max ?E) - (let ((org-agenda-max-effort num)) (org-agenda-redo))))) + (interactive "P") + (if remove + (progn (setq org-agenda-max-entries nil + org-agenda-max-todos nil + org-agenda-max-tags nil + org-agenda-max-effort nil) + (org-agenda-redo)) + (let* ((max (read-char "Number of [e]ntries [t]odos [T]ags [E]ffort? ")) + (msg (cond ((= max ?E) "How many minutes? ") + ((= max ?e) "How many entries? ") + ((= max ?t) "How many TODO entries? ") + ((= max ?T) "How many tagged entries? "))) + (num (string-to-number (read-from-minibuffer msg)))) + (cond ((equal max ?e) + (let ((org-agenda-max-entries num)) (org-agenda-redo))) + ((equal max ?t) + (let ((org-agenda-max-todos num)) (org-agenda-redo))) + ((equal max ?T) + (let ((org-agenda-max-tags num)) (org-agenda-redo))) + ((equal max ?E) + (let ((org-agenda-max-effort num)) (org-agenda-redo)))))) (org-agenda-fit-window-to-buffer)) (defun org-agenda-highlight-todo (x) |