changeset 92606:f49e5129551f

(persian-calendar-month-name-array, persian-calendar-epoch): Make constants. (persian-prompt-for-date): Use zerop.
author Glenn Morris <rgm@gnu.org>
date Sat, 08 Mar 2008 04:18:57 +0000
parents 5fb3b5d72071
children 90e80e5b0c97
files lisp/calendar/cal-persia.el
diffstat 1 files changed, 12 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/calendar/cal-persia.el	Sat Mar 08 04:17:24 2008 +0000
+++ b/lisp/calendar/cal-persia.el	Sat Mar 08 04:18:57 2008 +0000
@@ -1,7 +1,7 @@
 ;;; cal-persia.el --- calendar functions for the Persian calendar
 
-;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-;;   Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+;;   2008  Free Software Foundation, Inc.
 
 ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
 ;; Maintainer: Glenn Morris <rgm@gnu.org>
@@ -32,28 +32,25 @@
 
 ;;; Code:
 
-(defvar date)
-
 (require 'cal-julian)
 
-(defvar persian-calendar-month-name-array
+(defconst persian-calendar-month-name-array
   ["Farvardin" "Ordibehest" "Xordad" "Tir" "Mordad" "Sahrivar" "Mehr" "Aban"
    "Azar" "Dey" "Bahman" "Esfand"])
 
-(defvar persian-calendar-epoch (calendar-absolute-from-julian '(3 19 622))
+(defconst persian-calendar-epoch (calendar-absolute-from-julian '(3 19 622))
   "Absolute date of start of Persian calendar = March 19, 622 A.D. (Julian).")
 
 (defun persian-calendar-leap-year-p (year)
   "True if YEAR is a leap year on the Persian calendar."
   (< (mod (* (mod (mod (if (<= 0 year)
-                           ; No year zero
-                           (+ year 2346)
+                           (+ year 2346) ; no year zero
                          (+ year 2347))
                        2820)
                   768)
-              683)
-           2820)
-      683))
+             683)
+          2820)
+     683))
 
 (defun persian-calendar-last-day-of-month (month year)
   "Return last day of MONTH, YEAR on the Persian calendar."
@@ -177,7 +174,7 @@
   (let* ((today (calendar-current-date))
          (year (calendar-read
                 "Persian calendar year (not 0): "
-                (lambda (x) (/= x 0))
+                (lambda (x) (not (zerop x)))
                 (int-to-string
                  (extract-calendar-year
                   (calendar-persian-from-absolute
@@ -197,6 +194,9 @@
                (lambda (x) (and (< 0 x) (<= x last))))))
     (list (list month day year))))
 
+(defvar date)
+
+;; To be called from list-sexp-diary-entries, where DATE is bound.
 (defun diary-persian-date ()
   "Persian calendar equivalent of date diary entry."
   (format "Persian date: %s" (calendar-persian-date-string date)))