]> code.delx.au - gnu-emacs/blobdiff - lisp/calendar/calendar.el
; Merge from origin/emacs-25
[gnu-emacs] / lisp / calendar / calendar.el
index fd2580e385edd375be2a78415d0ae663f9f02818..ccdae484fa60870d15acad422594c19f4d59360e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; calendar.el --- calendar functions
 
-;; Copyright (C) 1988-1995, 1997, 2000-2015 Free Software Foundation,
+;; Copyright (C) 1988-1995, 1997, 2000-2016 Free Software Foundation,
 ;; Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
@@ -42,7 +42,7 @@
 ;; can be translated from the (usual) Gregorian calendar to the day of
 ;; the year/days remaining in year, to the ISO commercial calendar, to
 ;; the Julian (old style) calendar, to the Hebrew calendar, to the
-;; Islamic calendar, to the Bahá'í calendar, to the French
+;; Islamic calendar, to the Baháí calendar, to the French
 ;; Revolutionary calendar, to the Mayan calendar, to the Chinese
 ;; calendar, to the Coptic calendar, to the Ethiopic calendar, and to
 ;; the astronomical (Julian) day number.  Times of sunrise/sunset can
@@ -53,7 +53,7 @@
 ;; The following files are part of the calendar/diary code:
 
 ;;    appt.el                    Appointment notification
-;;    cal-bahai.el               Bahá'í calendar
+;;    cal-bahai.el               Baháí calendar
 ;;    cal-china.el               Chinese calendar
 ;;    cal-coptic.el              Coptic/Ethiopic calendars
 ;;    cal-dst.el                 Daylight saving time rules
@@ -190,6 +190,16 @@ movement commands will not work correctly."
          (calendar-redraw))
   :group 'calendar)
 
+(defcustom calendar-weekend-days '(0 6)
+  "Days of the week considered weekend days.
+0 means Sunday, 1 means Monday, and so on.
+
+Determines which day headers are fontified with
+`calendar-weekend-header'."
+  :type '(repeat integer)
+  :version "25.1"
+  :group 'calendar)
+
 (defcustom calendar-view-diary-initially-flag nil
   "Non-nil means display current date's diary entries on entry to calendar.
 The diary is displayed in another window when the calendar is first displayed,
@@ -350,7 +360,7 @@ See also `calendar-today-visible-hook'."
   "List of functions called whenever the cursor moves in the calendar.
 For example,
 
-  (add-hook 'calendar-move-hook (lambda () (diary-view-entries 1)))
+  (add-hook \\='calendar-move-hook (lambda () (diary-view-entries 1)))
 
 redisplays the diary for whatever date the cursor is moved to."
   :type 'hook
@@ -365,7 +375,7 @@ When this expression is evaluated, DAY, MONTH, and YEAR are
 integers appropriate to the relevant date.  For example, to
 display the ISO date:
 
-  (setq calendar-date-echo-text '(format \"ISO date: %s\"
+  (setq calendar-date-echo-text \\='(format \"ISO date: %s\"
                                          (calendar-iso-date-string
                                           (list month day year))))
 Changing this variable without using customize has no effect on
@@ -540,12 +550,12 @@ For example, to display the ISO week numbers:
 
   (setq calendar-week-start-day 1
         calendar-intermonth-text
-        '(propertize
+        \\='(propertize
           (format \"%2d\"
                   (car
                    (calendar-iso-from-absolute
                     (calendar-absolute-from-gregorian (list month day year)))))
-          'font-lock-face 'font-lock-function-name-face))
+          \\='font-lock-face \\='font-lock-function-name-face))
 
 See also `calendar-intermonth-header'."
   :group 'calendar
@@ -645,7 +655,7 @@ causes the diary entry \"Vacation\" to appear from November 1 through
 November 10, 1990.  See the documentation for the function
 `diary-list-sexp-entries' for more details.
 
-Diary entries based on the Hebrew, the Islamic and/or the Bahá'í
+Diary entries based on the Hebrew, the Islamic and/or the Baháí
 calendar are also possible, but because these are somewhat slow, they
 are ignored unless you set the `diary-nongregorian-listing-hook' and
 the `diary-nongregorian-marking-hook' appropriately.  See the
@@ -680,7 +690,7 @@ details, see the documentation for the variable `diary-list-entries-hook'."
   :group 'diary)
 
 (defcustom diary-bahai-entry-symbol "B"
-  "Symbol indicating a diary entry according to the Bahá'í calendar."
+  "Symbol indicating a diary entry according to the Baháí calendar."
   :type 'string
   :group 'diary)
 
@@ -840,6 +850,7 @@ For examples of three common styles, see `diary-american-date-forms',
 Normally you should not customize this, but `calendar-date-display-form'
 \(which see)."
   :type 'sexp
+  :risky t
   :version "23.1"
   :group 'calendar)
 
@@ -849,6 +860,7 @@ Normally you should not customize this, but `calendar-date-display-form'
 Normally you should not customize this, but `calendar-date-display-form'
 \(which see)."
   :type 'sexp
+  :risky t
   :group 'calendar)
 
 (defcustom calendar-american-date-display-form
@@ -857,6 +869,7 @@ Normally you should not customize this, but `calendar-date-display-form'
 Normally you should not customize this, but `calendar-date-display-form'
 \(which see)."
   :type 'sexp
+  :risky t
   :group 'calendar)
 
 (defcustom calendar-date-display-form
@@ -871,17 +884,18 @@ is a list of expressions that can involve the keywords `month', `day',
 and `year' (all numbers in string form), and `monthname' and `dayname'
 \(both alphabetic strings).  For example, a typical American form would be
 
-       '(month \"/\" day \"/\" (substring year -2))
+       (month \"/\" day \"/\" (substring year -2))
 
 whereas
 
-       '((format \"%9s, %9s %2s, %4s\" dayname monthname day year))
+       ((format \"%9s, %9s %2s, %4s\" dayname monthname day year))
 
 would give the usual American style in fixed-length fields.  The variables
 `calendar-iso-date-display-form', `calendar-european-date-display-form', and
 `calendar-american-date-display-form' provide some defaults for three common
 styles."
   :type 'sexp
+  :risky t
   :set-after '(calendar-date-style calendar-iso-date-display-form
                                    calendar-european-date-display-form
                                    calendar-american-date-display-form)
@@ -1003,9 +1017,9 @@ calendar."
   :group 'holidays)
 
 (defcustom calendar-bahai-all-holidays-flag nil
-  "If nil, show only major holidays from the Bahá'í calendar.
+  "If nil, show only major holidays from the Baháí calendar.
 These are the days on which work and school must be suspended.
-Otherwise, show all the holidays that would appear in a complete Bahá'í
+Otherwise, show all the holidays that would appear in a complete Baháí
 calendar."
   :type 'boolean
   :group 'holidays)
@@ -1097,11 +1111,11 @@ with disabled undo.  Leaves point at point-min, displays BUFFER."
      (setq buffer-read-only nil
            buffer-undo-list t)
      (erase-buffer)
+     (display-buffer ,buffer)
      ,@body
      (goto-char (point-min))
      (set-buffer-modified-p nil)
-     (setq buffer-read-only t)
-     (display-buffer ,buffer)))
+     (setq buffer-read-only t)))
 
 ;; The following are in-line for speed; they can be called thousands of times
 ;; when looking up holidays or processing the diary.  Here, for example, are
@@ -1174,8 +1188,8 @@ A negative year is interpreted as BC; -1 being 1 BC, and so on."
 
 (defsubst calendar-day-number (date)
   "Return the day number within the year of the date DATE.
-For example, (calendar-day-number '(1 1 1987)) returns the value 1,
-while (calendar-day-number '(12 31 1980)) returns 366."
+For example, (calendar-day-number \\='(1 1 1987)) returns the value 1,
+while (calendar-day-number \\='(12 31 1980)) returns 366."
   (let* ((month (calendar-extract-month date))
          (day (calendar-extract-day date))
          (year (calendar-extract-year date))
@@ -1454,7 +1468,7 @@ line."
      (insert
       (truncate-string-to-width
        (propertize (calendar-day-name j 'header t)
-                   'font-lock-face (if (memq j '(0 6))
+                   'font-lock-face (if (memq j calendar-weekend-days)
                                        'calendar-weekend-header
                                      'calendar-weekday-header))
        calendar-day-header-width nil ?\s)
@@ -1698,13 +1712,13 @@ remaining in the year, and the ISO week/year numbers:
 
   (list
    \"\"
-   '(calendar-hebrew-date-string date)
-   '(let* ((year (calendar-extract-year date))
+   \\='(calendar-hebrew-date-string date)
+   \\='(let* ((year (calendar-extract-year date))
            (d (calendar-day-number date))
            (days-remaining
             (- (calendar-day-number (list 12 31 year)) d)))
       (format \"%d/%d\" d days-remaining))
-   '(let* ((d (calendar-absolute-from-gregorian date))
+   \\='(let* ((d (calendar-absolute-from-gregorian date))
            (iso-date (calendar-iso-from-absolute d)))
       (format \"ISO week %d of %d\"
         (calendar-extract-month iso-date)
@@ -2561,7 +2575,7 @@ DATE is (month day year).  Calendars that do not apply are omitted."
            (unless (string-equal
                     (setq odate (calendar-bahai-date-string date))
                     "")
-             (format "Bahá'í date: %s" odate))
+             (format "Baháí date: %s" odate))
            (format "Chinese date: %s"
                    (calendar-chinese-date-string date))
            (unless (string-equal
@@ -2625,7 +2639,6 @@ If called by a mouse-event, pops up a menu with the result."
 
 ;; Local variables:
 ;; byte-compile-dynamic: t
-;; coding: utf-8
 ;; End:
 
 ;;; calendar.el ends here