diff options
author | Leo Liu <sdl.web@gmail.com> | 2013-01-14 23:39:04 +0800 |
---|---|---|
committer | Leo Liu <sdl.web@gmail.com> | 2013-01-14 23:39:04 +0800 |
commit | 57dd9e68862eeb452388b07c855a8112c3a7b22f (patch) | |
tree | a1acda09ed0e2d254bb1835f41b49273ea2e9867 | |
parent | 6f24caecb0af095e160afaaa5cd30af223e7113d (diff) | |
download | emacs-57dd9e68862eeb452388b07c855a8112c3a7b22f.tar.gz |
Sync window-point and point in calendar-redraw
Fixes: debbugs:13420
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | 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 <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))) |