Mercurial > emacs
changeset 103976:a1f42bc54ce3
(cal-menu-set-date-title): Handle calls from non-calendar buffers (Bug#3862).
Restore "not on a date" message.
(cal-menu-context-mouse-menu): Doc fix.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Sun, 19 Jul 2009 00:32:31 +0000 |
parents | dd876e7df455 |
children | 64c2a1f8f15d |
files | lisp/calendar/cal-menu.el |
diffstat | 1 files changed, 13 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/calendar/cal-menu.el Sun Jul 19 00:29:52 2009 +0000 +++ b/lisp/calendar/cal-menu.el Sun Jul 19 00:32:31 2009 +0000 @@ -200,22 +200,28 @@ (read-file-name "Enter diary file name: " default-directory nil t) event)) +;; In 22, the equivalent code gave an error when not called on a date, +;; but easymenu does not seem to allow this (?). +;; The ignore-errors is because `documentation' can end up calling +;; this in a non-calendar buffer where displayed-month is unbound. (Bug#3862) (defun cal-menu-set-date-title (menu) "Convert date of last event to title suitable for MENU." - (easy-menu-filter-return - menu (calendar-date-string (calendar-cursor-to-date t last-input-event) - t nil))) + (let ((date (ignore-errors (calendar-cursor-to-date nil last-input-event)))) + (if date + (easy-menu-filter-return menu (calendar-date-string date t nil)) + (message "Not on a date!") + nil))) (easy-menu-define cal-menu-context-mouse-menu nil - "Pop up menu for Mouse-2 for selected date in the calendar window." - '("cal-menu-mouse2" :filter cal-menu-set-date-title + "Pop up mouse menu for selected date in the calendar window." + '("cal-menu-context-mouse-menu" :filter cal-menu-set-date-title "--" ["Holidays" calendar-cursor-holidays] ["Mark date" calendar-set-mark] ["Sunrise/sunset" calendar-sunrise-sunset] ["Other calendars" calendar-print-other-dates] - ;; FIXME there is a bug (#447) with last-nonmenu-event and submenus. - ;; These currently don't work if called without calendar window selected. + ;; There was a bug (#447; fixed) with last-nonmenu-event and submenus. + ;; These did not work if called without calendar window selected. ("Prepare LaTeX buffer" ["Daily (1 page)" cal-tex-cursor-day] ["Weekly (1 page)" cal-tex-cursor-week]