Function: org-agenda-later

org-agenda-later is an interactive and byte-compiled function defined in org-agenda.el.gz.

Signature

(org-agenda-later ARG)

Documentation

Go forward in time by the current span in the agenda buffer.

With prefix ARG, go forward that many times the current span.

See also:
 org-agenda-earlier (M-x org-agenda-earlier (org-agenda-earlier))
 org-agenda-goto-today (M-x org-agenda-goto-today (org-agenda-goto-today))
 org-agenda-goto-date (M-x org-agenda-goto-date (org-agenda-goto-date))

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-agenda.el.gz
(defun org-agenda-later (arg)
  "Go forward in time by the current span in the agenda buffer.
With prefix ARG, go forward that many times the current span.

See also:
 `org-agenda-earlier'    (\\[org-agenda-earlier])
 `org-agenda-goto-today' (\\[org-agenda-goto-today])
 `org-agenda-goto-date'  (\\[org-agenda-goto-date])"
  (interactive "p")
  (org-agenda-check-type t 'agenda)
  (let* ((wstart (window-start))
         (args (get-text-property (min (1- (point-max)) (point)) 'org-last-args))
	 (span (or (nth 2 args) org-agenda-current-span))
	 (sd (or (nth 1 args) (org-get-at-bol 'day) org-starting-day))
	 (greg (calendar-gregorian-from-absolute sd))
	 (cnt (org-get-at-bol 'org-day-cnt))
	 greg2)
    (cond
     ((numberp span)
      (setq sd (+ (* span arg) sd)))
     ((eq span 'day)
      (setq sd (+ arg sd)))
     ((eq span 'week)
      (setq sd (+ (* 7 arg) sd)))
     ((eq span 'fortnight)
      (setq sd (+ (* 14 arg) sd)))
     ((eq span 'month)
      (setq greg2 (list (+ (car greg) arg) (nth 1 greg) (nth 2 greg))
	    sd (calendar-absolute-from-gregorian greg2))
      (setcar greg2 (1+ (car greg2))))
     ((eq span 'year)
      (setq greg2 (list (car greg) (nth 1 greg) (+ arg (nth 2 greg)))
	    sd (calendar-absolute-from-gregorian greg2))
      (setcar (nthcdr 2 greg2) (1+ (nth 2 greg2))))
     (t
      (setq sd (+ (* span arg) sd))))
    (let ((org-agenda-overriding-cmd
	   ;; `cmd' may have been set by `org-agenda-run-series' which
	   ;; uses `org-agenda-overriding-cmd' to decide whether
	   ;; overriding is allowed for `cmd'
	   (get-text-property (min (1- (point-max)) (point)) 'org-series-cmd))
	  (org-agenda-overriding-arguments
	   (list (car args) sd span)))
      (org-agenda-redo)
      (org-agenda-find-same-or-today-or-agenda cnt))
    (set-window-start nil wstart)))