# HG changeset patch # User Glenn Morris # Date 1061160586 0 # Node ID 9529ff0804c2b7386805dee70cd726c30bb6054d # Parent 75388c0f3104ddbe165acc8d7c2ac8e855337145 Edward M. Reingold (calendar-goto-day-of-year): New function. diff -r 75388c0f3104 -r 9529ff0804c2 lisp/calendar/cal-move.el --- a/lisp/calendar/cal-move.el Sun Aug 17 22:48:54 2003 +0000 +++ b/lisp/calendar/cal-move.el Sun Aug 17 22:49:46 2003 +0000 @@ -327,6 +327,27 @@ (calendar-cursor-to-visible-date date) (run-hooks 'calendar-move-hook)) +(defun calendar-goto-day-of-year (year day &optional noecho) + "Move cursor to YEAR, DAY number; echo DAY/YEAR unless NOECHO is t. +Negative DAY counts backward from end of year." + (interactive + (let* ((year (calendar-read + "Year (>0): " + (lambda (x) (> x 0)) + (int-to-string (extract-calendar-year + (calendar-current-date))))) + (last (if (calendar-leap-year-p year) 366 365)) + (day (calendar-read + (format "Day number (+/- 1-%d): " last) + '(lambda (x) (and (<= 1 (abs x)) (<= (abs x) last)))))) + (list year day))) + (calendar-goto-date + (calendar-gregorian-from-absolute + (if (< 0 day) + (+ -1 day (calendar-absolute-from-gregorian (list 1 1 year))) + (+ 1 day (calendar-absolute-from-gregorian (list 12 31 year)))))) + (or noecho (calendar-print-day-of-year))) + (provide 'cal-move) ;;; cal-move.el ends here