diff options
author | Bastien Guerry <bzg@altern.org> | 2012-08-30 13:23:29 +0200 |
---|---|---|
committer | Bastien Guerry <bzg@altern.org> | 2012-08-30 13:23:29 +0200 |
commit | 93fcfe4d36b4f26b213a56bcb0f908f3eef29fb9 (patch) | |
tree | 9e5b2d24839a02ab9620738386c5044e3ed6ccc7 | |
parent | 4f601b6748736b3b26c1e1730ba0a48571774b7d (diff) | |
download | org-mode-93fcfe4d36b4f26b213a56bcb0f908f3eef29fb9.tar.gz |
org-agenda.el: Fix ̀org-agenda-goto-date' again
* org-agenda.el (org-agenda-span-to-ndays): Make the second
argument `starting-day' optional.
(org-agenda-goto-date): Keep parameters of custom agendas.
-rw-r--r-- | lisp/org-agenda.el | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index d437b6d..ba97d7f 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -4036,8 +4036,8 @@ given in `org-agenda-start-on-weekday'." ((= n 7) 'week) (t n))) -(defun org-agenda-span-to-ndays (span start-day) - "Return ndays from SPAN starting at START-DAY." +(defun org-agenda-span-to-ndays (span &optional start-day) + "Return ndays from SPAN, possibly starting at START-DAY." (cond ((numberp span) span) ((eq span 'day) 1) ((eq span 'week) 7) @@ -6982,21 +6982,29 @@ Negative selection means regexp must not match for selection of an entry." (defun org-add-to-string (var string) (set var (concat (symbol-value var) string))) -(defun org-agenda-goto-date (date) +(defun org-agenda-goto-date (span) "Jump to DATE in agenda." - (interactive (list (let ((org-read-date-prefer-future - (eval org-agenda-jump-prefer-future))) - (org-read-date)))) - (let ((org-agenda-sticky-orig org-agenda-sticky) - (org-agenda-buffer-tmp-name (buffer-name)) - org-agenda-sticky) - (org-agenda-list nil date) + (interactive "P") + (let* ((org-read-date-prefer-future + (eval org-agenda-jump-prefer-future)) + (date (org-read-date)) + (org-agenda-sticky-orig org-agenda-sticky) + (org-agenda-buffer-tmp-name (buffer-name)) + (args (get-text-property (point) 'org-last-args)) + (0-arg (or current-prefix-arg (car args))) + (2-arg (nth 2 args)) + (newcmd (list 'org-agenda-list 0-arg date + (org-agenda-span-to-ndays 2-arg))) + (newargs (cdr newcmd)) + (inhibit-read-only t) + org-agenda-sticky) + (if (not (org-agenda-check-type t 'agenda)) + (error "Not available in non-agenda blocks") + (add-text-properties (point-min) (point-max) + `(org-redo-cmd ,newcmd org-last-args ,newargs)) + (org-agenda-redo) (setq org-agenda-sticky org-agenda-sticky-orig - org-agenda-this-buffer-is-sticky org-agenda-sticky)) - (let ((inhibit-read-only t)) - (add-text-properties (point-min) (point-max) - `(org-last-cmd - (org-agenda-list nil ,date))))) + org-agenda-this-buffer-is-sticky org-agenda-sticky)))) (defun org-agenda-goto-today () "Go to today." |