--- ORIG--org.el 2011-03-30 00:02:17.304180280 +0100 +++ NEW--org.el 2011-03-30 00:04:31.191679300 +0100 @@ -14442,20 +14442,22 @@ (prompt (concat (if prompt (concat prompt " ") "") (format "Date+time [%s]: " timestr))) ans (org-ans0 "") org-ans1 org-ans2 final) (cond (from-string (setq ans from-string)) (org-read-date-popup-calendar (save-excursion (save-window-excursion (calendar) + (unwind-protect + (progn (calendar-forward-day (- (time-to-days def) (calendar-absolute-from-gregorian (calendar-current-date)))) (org-eval-in-calendar nil t) (let* ((old-map (current-local-map)) (map (copy-keymap calendar-mode-map)) (minibuffer-local-map (copy-keymap minibuffer-local-map))) (org-defkey map (kbd "RET") 'org-calendar-select) (org-defkey map [mouse-1] 'org-calendar-select-mouse) (org-defkey map [mouse-2] 'org-calendar-select-mouse) @@ -14517,21 +14519,22 @@ (setq org-ans0 (read-string prompt default-input 'org-read-date-history nil)) ;; org-ans0: from prompt ;; org-ans1: from mouse click ;; org-ans2: from calendar motion (setq ans (concat org-ans0 " " (or org-ans1 org-ans2)))) (remove-hook 'post-command-hook 'org-read-date-display) (use-local-map old-map) (when org-read-date-overlay (delete-overlay org-read-date-overlay) - (setq org-read-date-overlay nil))))))) + (setq org-read-date-overlay nil))))) + (bury-buffer "*Calendar*"))))) (t ; Naked prompt only (unwind-protect (setq ans (read-string prompt default-input 'org-read-date-history timestr)) (when org-read-date-overlay (delete-overlay org-read-date-overlay) (setq org-read-date-overlay nil))))) (setq final (org-read-date-analyze ans def defdecode))