I have a special need of customizing date string in agenda (the date format string is even not enough because I'd like other date format than Gregorian). So I add a custom variable org-agenda-date-string-function, bind it to org-agenda-date-string to preserve current org behaviour.
Then in my org conf file, I add: (defun my-org-agenda-date-string (date) (...)) (setq org-agenda-date-string-function 'my-org-agenda-date-string) Hope it helps. -- Levin diff --git a/lisp/org/org.el b/lisp/org/org.el index 97bde49..3f6c9b5 100644 --- a/lisp/org/org.el +++ b/lisp/org/org.el @@ -2322,6 +2322,15 @@ FIXME: Not used currently, because of timezone problem." :group 'org-agenda-daily/weekly :type 'string) +(defcustom org-agenda-date-string-function + 'org-agenda-date-string + "Function that obtains a string for displaying date in the agenda. +Used by the daily/weekly agenda and by the timeline. + +This function is passed a date and should return a string." + :group 'org-agenda-daily/weekly + :type 'function) + (defcustom org-agenda-include-diary nil "If non-nil, include in the agenda entries from the Emacs Calendar's diary." :group 'org-agenda-daily/weekly @@ -17565,6 +17574,12 @@ When a buffer is unmodified, it is just killed. When modified, it is saved (or (cdar tbl) (cdr (nth (1- (length org-category-table)) org-category-table)))))) ;;; Agenda timeline +(defun org-agenda-date-string (date) + (format "%-9s %2d %s %4d\n" + (calendar-day-name date) + (extract-calendar-day date) + (calendar-month-name (extract-calendar-month date)) + (extract-calendar-year date))) (defun org-timeline (&optional include-all) "Show a time-sorted view of the entries in the current org file. @@ -17626,10 +17641,8 @@ dates." entry date args))) (if (or rtn (equal d today) org-timeline-show-empty-dates) (progn - (insert (calendar-day-name date) " " - (number-to-string (extract-calendar-day date)) " " - (calendar-month-name (extract-calendar-month date)) " " - (number-to-string (extract-calendar-year date)) "\n") + (insert (funcall org-agenda-date-string-function date) + "\n") ; FIXME: this gives a timezone problem ; (insert (format-time-string org-agenda-date-format ; (calendar-time-from-absolute d 0)) @@ -17806,11 +17819,8 @@ NDAYS defaults to `org-agenda-ndays'." (setq rtnall (append rtnall rtn)))) (if (or rtnall org-agenda-show-all-dates) (progn - (insert (format "%-9s %2d %s %4d\n" - (calendar-day-name date) - (extract-calendar-day date) - (calendar-month-name (extract-calendar-month date)) - (extract-calendar-year date))) + (insert (funcall org-agenda-date-string-function date) + "\n") ; FIXME: this gives a timezone problem ; (insert (format-time-string org-agenda-date-format ; (calendar-time-from-absolute d 0)) "\n") _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode