aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/calendar/cal-islam.el42
1 files changed, 22 insertions, 20 deletions
diff --git a/lisp/calendar/cal-islam.el b/lisp/calendar/cal-islam.el
index 9ca2861e6b7..c4eb50b4773 100644
--- a/lisp/calendar/cal-islam.el
+++ b/lisp/calendar/cal-islam.el
@@ -1,6 +1,6 @@
1;;; cal-islam.el --- calendar functions for the Islamic calendar 1;;; cal-islam.el --- calendar functions for the Islamic calendar
2 2
3;; Copyright (C) 1995, 1997, 2001 Free Software Foundation, Inc. 3;; Copyright (C) 1995, 1997, 2001, 2003 Free Software Foundation, Inc.
4 4
5;; Author: Edward M. Reingold <reingold@cs.uiuc.edu> 5;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
6;; Keywords: calendar 6;; Keywords: calendar
@@ -40,11 +40,15 @@
40 40
41;;; Code: 41;;; Code:
42 42
43(defvar displayed-month)
44(defvar displayed-year)
45
43(require 'cal-julian) 46(require 'cal-julian)
44 47
45(defvar calendar-islamic-month-name-array 48(defvar calendar-islamic-month-name-array
46 ["Muharram" "Safar" "Rabi I" "Rabi II" "Jumada I" "Jumada II" 49 ["Muharram" "Safar" "Rabi I" "Rabi II" "Jumada I" "Jumada II"
47 "Rajab" "Sha'ban" "Ramadan" "Shawwal" "Dhu al-Qada" "Dhu al-Hijjah"]) 50 "Rajab" "Sha'ban" "Ramadan" "Shawwal" "Dhu al-Qada" "Dhu al-Hijjah"]
51"Array of strings giving the names of the Islamic months.")
48 52
49(defvar calendar-islamic-epoch (calendar-absolute-from-julian '(7 16 622)) 53(defvar calendar-islamic-epoch (calendar-absolute-from-julian '(7 16 622))
50 "Absolute date of start of Islamic calendar = August 29, 284 A.D. (Julian).") 54 "Absolute date of start of Islamic calendar = August 29, 284 A.D. (Julian).")
@@ -221,9 +225,9 @@ not be marked in the calendar. This function is provided for use with the
221 (car d))) 225 (car d)))
222 (backup (equal (car (car d)) 'backup)) 226 (backup (equal (car (car d)) 'backup))
223 (dayname 227 (dayname
224 (concat 228 (format "%s\\|%s\\.?"
225 (calendar-day-name gdate) "\\|" 229 (calendar-day-name gdate)
226 (substring (calendar-day-name gdate) 0 3) ".?")) 230 (calendar-day-name gdate 'abbrev)))
227 (calendar-month-name-array 231 (calendar-month-name-array
228 calendar-islamic-month-name-array) 232 calendar-islamic-month-name-array)
229 (monthname 233 (monthname
@@ -269,7 +273,8 @@ not be marked in the calendar. This function is provided for use with the
269 gdate 273 gdate
270 (buffer-substring-no-properties entry-start (point)) 274 (buffer-substring-no-properties entry-start (point))
271 (buffer-substring-no-properties 275 (buffer-substring-no-properties
272 (1+ date-start) (1- entry-start))))))) 276 (1+ date-start) (1- entry-start))
277 (copy-marker entry-start))))))
273 (setq d (cdr d)))) 278 (setq d (cdr d))))
274 (setq gdate 279 (setq gdate
275 (calendar-gregorian-from-absolute 280 (calendar-gregorian-from-absolute
@@ -293,11 +298,11 @@ provided for use as part of the nongregorian-diary-marking-hook."
293 ((date-form (if (equal (car (car d)) 'backup) 298 ((date-form (if (equal (car (car d)) 'backup)
294 (cdr (car d)) 299 (cdr (car d))
295 (car d)));; ignore 'backup directive 300 (car d)));; ignore 'backup directive
296 (dayname (diary-name-pattern calendar-day-name-array)) 301 (dayname (diary-name-pattern calendar-day-name-array
302 calendar-day-abbrev-array))
297 (monthname 303 (monthname
298 (concat 304 (format "%s\\|\\*"
299 (diary-name-pattern calendar-islamic-month-name-array t) 305 (diary-name-pattern calendar-islamic-month-name-array)))
300 "\\|\\*"))
301 (month "[0-9]+\\|\\*") 306 (month "[0-9]+\\|\\*")
302 (day "[0-9]+\\|\\*") 307 (day "[0-9]+\\|\\*")
303 (year "[0-9]+\\|\\*") 308 (year "[0-9]+\\|\\*")
@@ -367,19 +372,16 @@ provided for use as part of the nongregorian-diary-marking-hook."
367 (string-to-int y-str))))) 372 (string-to-int y-str)))))
368 (if dd-name 373 (if dd-name
369 (mark-calendar-days-named 374 (mark-calendar-days-named
370 (cdr (assoc-ignore-case (substring dd-name 0 3) 375 (cdr (assoc-ignore-case dd-name
371 (calendar-make-alist 376 (calendar-make-alist
372 calendar-day-name-array 377 calendar-day-name-array
373 0 378 0 nil calendar-day-abbrev-array))))
374 '(lambda (x) (substring x 0 3))))))
375 (if mm-name 379 (if mm-name
376 (if (string-equal mm-name "*") 380 (setq mm (if (string-equal mm-name "*") 0
377 (setq mm 0) 381 (cdr (assoc-ignore-case
378 (setq mm 382 mm-name
379 (cdr (assoc-ignore-case 383 (calendar-make-alist
380 mm-name 384 calendar-islamic-month-name-array))))))
381 (calendar-make-alist
382 calendar-islamic-month-name-array))))))
383 (mark-islamic-calendar-date-pattern mm dd yy))))) 385 (mark-islamic-calendar-date-pattern mm dd yy)))))
384 (setq d (cdr d))))) 386 (setq d (cdr d)))))
385 387