]> code.delx.au - gnu-emacs/blobdiff - lisp/calendar/cal-x.el
Require calendar.
[gnu-emacs] / lisp / calendar / cal-x.el
index 61ccc32faa1243e47075a7e73404afff59e6adce..85a011301ed1d026d82fd5807fec51b90ed5d820 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cal-x.el --- calendar windows in dedicated frames in x-windows
 
-;; Copyright (C) 1994 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1995 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.sunysb.edu>
 ;;      Edward M. Reingold <reingold@cs.uiuc.edu>
 ;;; Code:
 
 (require 'calendar)
-(if (not (fboundp 'calendar-basic-setup))
-    (fset 'calendar-basic-setup (symbol-function 'calendar)))
-;;;###autoload
-(defvar calendar-setup 'one-frame
-  "The frame set up of the calendar.
-The choices are `one-frame' (calendar and diary together in one separate,
-dediciated frame) or `two-frames' (calendar and diary in separate, dedicated
-frames); with any other value the current frame is used.")
-
-(defun calendar (&optional arg)
-  "Choose between the one frame, two frame, or basic calendar displays.
-The original function `calendar' has been renamed `calendar-basic-setup'."
-  (interactive "P")
-  (cond ((equal calendar-setup 'one-frame) (calendar-one-frame-setup arg))
-        ((equal calendar-setup 'two-frames) (calendar-two-frame-setup arg))
-        (t (calendar-basic-setup arg))))
 
 (defvar calendar-frame nil "Frame in which to display the calendar.")
 
@@ -103,11 +86,13 @@ Can be used to change frame parameters, such as font, color, location, etc.")
           (set-window-dedicated-p (selected-window) 'calendar)
           (set-window-dedicated-p
            (display-buffer
-            (if (memq 'fancy-diary-display diary-display-hook)
-                fancy-diary-buffer
-              (get-file-buffer diary-file)))
+            (if (not (memq 'fancy-diary-display diary-display-hook))
+                (get-file-buffer diary-file)
+              (if (not (bufferp (get-buffer fancy-diary-buffer)))
+                  (make-fancy-diary-buffer))
+              fancy-diary-buffer))
            'diary))))))
-    
+
 (defun calendar-two-frame-setup (&optional arg)
   "Start calendar and diary in separate, dedicated frames."
   (if (not window-system)
@@ -136,9 +121,11 @@ Can be used to change frame parameters, such as font, color, location, etc.")
         (save-excursion (diary))
         (set-window-dedicated-p
          (display-buffer
-          (if (memq 'fancy-diary-display diary-display-hook)
-              fancy-diary-buffer
-            (get-file-buffer diary-file)))
+          (if (not (memq 'fancy-diary-display diary-display-hook))
+              (get-file-buffer diary-file)
+            (if (not (bufferp (get-buffer fancy-diary-buffer)))
+                (make-fancy-diary-buffer))
+            fancy-diary-buffer))
          'diary)))))
 
 (setq special-display-buffer-names