# HG changeset patch # User Richard M. Stallman # Date 1031600239 0 # Node ID 79920a7d801845979c1522da1762490a4a11c75b # Parent 96475604480c61ab3766c7028f56d6f17f10372b (mouse-scroll-calendar-left) (mouse-scroll-calendar-right, mouse-calendar-other-month): New commands. (calendar-mode-line-format): Use them. diff -r 96475604480c -r 79920a7d8018 lisp/calendar/calendar.el --- a/lisp/calendar/calendar.el Mon Sep 09 19:35:57 2002 +0000 +++ b/lisp/calendar/calendar.el Mon Sep 09 19:37:19 2002 +0000 @@ -2044,7 +2044,7 @@ "\\\\[scroll-calendar-left]") 'help-echo "mouse-2: scroll left" 'keymap (make-mode-line-mouse-map 'mouse-2 - #'scroll-calendar-left)) + 'mouse-scroll-calendar-left)) "Calendar" (concat (propertize @@ -2058,11 +2058,7 @@ "\\\\[calendar-other-month] other") 'help-echo "mouse-2: choose another month" 'keymap (make-mode-line-mouse-map - 'mouse-2 - (lambda () - (interactive) - (call-interactively - 'calendar-other-month)))) + 'mouse-2 'mouse-calendar-other-month)) "/" (propertize (substitute-command-keys @@ -2074,7 +2070,7 @@ "\\\\[scroll-calendar-right]") 'help-echo "mouse-2: scroll right" 'keymap (make-mode-line-mouse-map - 'mouse-2 #'scroll-calendar-right))) + 'mouse-2 'mouse-scroll-calendar-right))) "The mode line of the calendar buffer. This must be a list of items that evaluate to strings--those strings are @@ -2102,6 +2098,31 @@ \"\")) ") +(defun mouse-scroll-calendar-left (event) + "Scroll the displayed calendar left by one month. +Maintains the relative position of the cursor +with respect to the calendar as well as possible." + (interactive "e") + (save-selected-window + (select-window (posn-window (event-start event))) + (scroll-calendar-left 1))) + +(defun mouse-scroll-calendar-right (event) + "Scroll the displayed calendar right by one month. +Maintains the relative position of the cursor +with respect to the calendar as well as possible." + (interactive "e") + (save-selected-window + (select-window (posn-window (event-start event))) + (scroll-calendar-right 1))) + +(defun mouse-calendar-other-month (event) + "Display a three-month calendar centered around a specified month and year." + (interactive "e") + (save-selected-window + (select-window (posn-window (event-start event))) + (call-interactively 'calendar-other-month))) + (defun calendar-goto-info-node () "Go to the info node for the calendar." (interactive)