summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo Liu <sdl.web@gmail.com>2013-01-14 23:39:04 +0800
committerLeo Liu <sdl.web@gmail.com>2013-01-14 23:39:04 +0800
commit57dd9e68862eeb452388b07c855a8112c3a7b22f (patch)
treea1acda09ed0e2d254bb1835f41b49273ea2e9867
parent6f24caecb0af095e160afaaa5cd30af223e7113d (diff)
downloademacs-57dd9e68862eeb452388b07c855a8112c3a7b22f.tar.gz
Sync window-point and point in calendar-redraw
Fixes: debbugs:13420
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/calendar/calendar.el12
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 <sdl.web@gmail.com>
+
+ * calendar/calendar.el (calendar-redraw): Sync window-point and point.
+ (Bug#13420)
+
2013-01-14 Glenn Morris <rgm@gnu.org>
* 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)))