]> git.eshelyaron.com Git - emacs.git/commitdiff
* calendar/diary-lib.el (diary-list-entries): Restore 24.3 display behavior.
authorGlenn Morris <rgm@gnu.org>
Tue, 9 Sep 2014 18:09:54 +0000 (14:09 -0400)
committerGlenn Morris <rgm@gnu.org>
Tue, 9 Sep 2014 18:09:54 +0000 (14:09 -0400)
Fixes: debbugs:18381
lisp/ChangeLog
lisp/calendar/diary-lib.el

index 9f31741a1c53c8759f2b60e757689173097d4cae..7018d3c8abb9bb355286eac5ffa5884f0cc9eef8 100644 (file)
@@ -1,3 +1,8 @@
+2014-09-09  Glenn Morris  <rgm@gnu.org>
+
+       * calendar/diary-lib.el (diary-list-entries):
+       Restore 24.3 display behavior.  (Bug#18381)
+
 2014-09-09  Eli Zaretskii  <eliz@gnu.org>
 
        * mouse.el (mouse-drag-line): On text-mode frames, count the mode
index c609cee7d6ff268c600eab5df123afe5f35890fd..7b07f4f6814d4782ae50e2e2812735b47dca8e00 100644 (file)
@@ -1,7 +1,6 @@
 ;;; diary-lib.el --- diary functions
 
-;; Copyright (C) 1989-1990, 1992-1995, 2001-2014 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1989-1990, 1992-1995, 2001-2014 Free Software Foundation, Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
@@ -901,12 +900,20 @@ LIST-ONLY is non-nil, in which case it just returns the list."
                   ;;;     (diary-include-other-diary-files) ; recurse
                   ;;;   (run-hooks 'diary-list-entries-hook))
                   (unless list-only
-                    (if (and diary-display-function
-                             (listp diary-display-function))
-                        ;; Backwards compatibility.
-                        (run-hooks 'diary-display-function)
-                      (funcall (or diary-display-function
-                                   'diary-simple-display))))
+                    ;; Avoid M-x diary; M-x calendar; M-x diary
+                    ;; clobbering the calendar window.
+                    ;; FIXME this is not the right solution.
+                    (let ((display-buffer-fallback-action
+                           (list (delq
+                                  'display-buffer-in-previous-window
+                                  (copy-sequence
+                                   (car display-buffer-fallback-action))))))
+                      (if (and diary-display-function
+                               (listp diary-display-function))
+                          ;; Backwards compatibility.
+                          (run-hooks 'diary-display-function)
+                        (funcall (or diary-display-function
+                                     'diary-simple-display)))))
                   (run-hooks 'diary-hook)))))
         (and temp-buff (buffer-name temp-buff) (kill-buffer temp-buff)))
       (or d-incp (message "Preparing diary...done"))