]> code.delx.au - gnu-emacs/blobdiff - lisp/calendar/cal-x.el
from trunk
[gnu-emacs] / lisp / calendar / cal-x.el
index 522b4c5f79021fc0a1c762cb7de1a0fce45c3f28..90a4c5d33b8489d2f43160f705ce7ae4acc3a279 100644 (file)
@@ -1,7 +1,7 @@
 ;;; cal-x.el --- calendar windows in dedicated frames
 
 ;; Copyright (C) 1994, 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-;;   2008  Free Software Foundation, Inc.
+;;   2008, 2009, 2010  Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.sunysb.edu>
 ;;         Edward M. Reingold <reingold@cs.uiuc.edu>
@@ -90,21 +90,25 @@ Runs `calendar-after-frame-setup-hook', selects frame, iconifies if needed."
       (iconify-or-deiconify-frame)))
 
 ;; c-d-d is only called after (diary) has been run.
-(defvar diary-display-hook)
+(defvar diary-display-function)
 
 (defun calendar-dedicate-diary ()
   "Display and dedicate the window associated with the diary buffer."
   (set-window-dedicated-p
    (display-buffer
-    (if (not (or (memq 'diary-fancy-display diary-display-hook)
-                 (memq 'fancy-diary-display diary-display-hook)))
-        (get-file-buffer diary-file)
-      ;; If there are no diary entries, there won't be a fancy-diary
-      ;; to dedicate, so make a basic one.
-      (or (get-buffer diary-fancy-buffer)
-          (calendar-in-read-only-buffer diary-fancy-buffer
-            (calendar-set-mode-line "Diary Entries")))
-      diary-fancy-buffer))
+    (if (if (listp diary-display-function)
+            (or (memq 'diary-fancy-display diary-display-function)
+                (memq 'fancy-diary-display diary-display-function))
+          (memq diary-display-function '(diary-fancy-display
+                                         fancy-diary-display)))
+        (progn
+          ;; If there are no diary entries, there won't be a fancy-diary
+          ;; to dedicate, so make a basic one.
+          (or (get-buffer diary-fancy-buffer)
+              (calendar-in-read-only-buffer diary-fancy-buffer
+                (calendar-set-mode-line "Diary Entries")))
+          diary-fancy-buffer)
+      (get-file-buffer diary-file)))
    t))
 
 ;;;###cal-autoload