From 57dd9e68862eeb452388b07c855a8112c3a7b22f Mon Sep 17 00:00:00 2001 From: Leo Liu Date: Mon, 14 Jan 2013 23:39:04 +0800 Subject: [PATCH] Sync window-point and point in calendar-redraw Fixes: debbugs:13420 --- lisp/ChangeLog | 5 +++++ lisp/calendar/calendar.el | 12 +++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9fc6660ce32..d4a81bffd9c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2013-01-14 Leo Liu + + * calendar/calendar.el (calendar-redraw): Sync window-point and point. + (Bug#13420) + 2013-01-14 Glenn Morris * progmodes/compile.el (compilation-error-regexp-alist-alist): diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 9b0eb3e9bff..74d3ce80338 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el @@ -1562,11 +1562,13 @@ line." (defun calendar-redraw () "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))) - (calendar-generate-window displayed-month displayed-year) - (calendar-cursor-to-visible-date cursor-date))))) + (when (get-buffer calendar-buffer) + (with-current-buffer calendar-buffer + (let ((cursor-date (calendar-cursor-to-nearest-date))) + (calendar-generate-window displayed-month displayed-year) + (calendar-cursor-to-visible-date cursor-date)) + (when (window-live-p (get-buffer-window)) + (set-window-point (get-buffer-window) (point)))))) (defvar calendar-mode-map (let ((map (make-keymap))) -- 2.39.5