changeset 60528:952103a61e35

(redraw-calendar): Preserve point. Reported by Matt Hodges <MPHodges@member.fsf.org>. (calendar-week-start-day): Move after definition of redraw-calendar. Delete buffer test, since redraw-calendar has that now.
author Glenn Morris <rgm@gnu.org>
date Wed, 09 Mar 2005 00:28:22 +0000
parents 0590353a779b
children 4358de407410
files lisp/calendar/calendar.el
diffstat 1 files changed, 20 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/calendar/calendar.el	Wed Mar 09 00:27:33 2005 +0000
+++ b/lisp/calendar/calendar.el	Wed Mar 09 00:28:22 2005 +0000
@@ -145,24 +145,6 @@
   "Name of the buffer used for the calendar.")
 
 ;;;###autoload
-(defcustom calendar-week-start-day 0
-  "*The day of the week on which a week in the calendar begins.
-0 means Sunday (default), 1 means Monday, and so on.
-
-If you change this variable directly (without using customize)
-after starting `calendar', you should call `redraw-calendar' to
-update the calendar display to reflect the change, otherwise
-movement commands will not work correctly."
-  :type 'integer
-  :set (lambda (sym val)
-         (set sym val)
-         (let ((buffer (get-buffer calendar-buffer)))
-           (when (buffer-live-p buffer)
-             (with-current-buffer buffer
-               (redraw-calendar)))))
-  :group 'calendar)
-
-;;;###autoload
 (defcustom calendar-offset 0
   "*The offset of the principal month from the center of the calendar window.
 0 means the principal month is in the center (default), -1 means on the left,
@@ -2172,10 +2154,26 @@
   "Redraw the calendar display, if `calendar-buffer' is live."
   (interactive)
   (if (get-buffer calendar-buffer)
-      (with-current-buffer calendar-buffer
-        (let ((cursor-date (calendar-cursor-to-nearest-date)))
-          (generate-calendar-window displayed-month displayed-year)
-          (calendar-cursor-to-visible-date cursor-date)))))
+      (save-excursion
+        (with-current-buffer calendar-buffer
+          (let ((cursor-date (calendar-cursor-to-nearest-date)))
+            (generate-calendar-window displayed-month displayed-year)
+            (calendar-cursor-to-visible-date cursor-date))))))
+
+;;;###autoload
+(defcustom calendar-week-start-day 0
+  "*The day of the week on which a week in the calendar begins.
+0 means Sunday (default), 1 means Monday, and so on.
+
+If you change this variable directly (without using customize)
+after starting `calendar', you should call `redraw-calendar' to
+update the calendar display to reflect the change, otherwise
+movement commands will not work correctly."
+  :type 'integer
+  :set (lambda (sym val)
+         (set sym val)
+         (redraw-calendar))
+  :group 'calendar)
 
 (defcustom calendar-debug-sexp nil
   "*Turn debugging on when evaluating a sexp in the diary or holiday list."