/[emacs]/emacs/lisp/calendar/cal-islam.el
ViewVC logotype

Diff of /emacs/lisp/calendar/cal-islam.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.10.8.1 by miles, Fri Apr 4 06:20:15 2003 UTC revision 1.10.8.2 by miles, Tue Oct 14 23:42:13 2003 UTC
# Line 1  Line 1 
1  ;;; cal-islam.el --- calendar functions for the Islamic calendar  ;;; cal-islam.el --- calendar functions for the Islamic calendar
2    
3  ;; Copyright (C) 1995, 1997, 2001 Free Software Foundation, Inc.  ;; Copyright (C) 1995, 1997, 2001, 2003 Free Software Foundation, Inc.
4    
5  ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>  ;; Author: Edward M. Reingold <reingold@cs.uiuc.edu>
6  ;; Keywords: calendar  ;; Keywords: calendar
# Line 40  Line 40 
40    
41  ;;; Code:  ;;; Code:
42    
43    (defvar displayed-month)
44    (defvar displayed-year)
45    
46  (require 'cal-julian)  (require 'cal-julian)
47    
48  (defvar calendar-islamic-month-name-array  (defvar calendar-islamic-month-name-array
49    ["Muharram" "Safar" "Rabi I" "Rabi II" "Jumada I" "Jumada II"    ["Muharram" "Safar" "Rabi I" "Rabi II" "Jumada I" "Jumada II"
50     "Rajab" "Sha'ban" "Ramadan" "Shawwal" "Dhu al-Qada" "Dhu al-Hijjah"])     "Rajab" "Sha'ban" "Ramadan" "Shawwal" "Dhu al-Qada" "Dhu al-Hijjah"]
51    "Array of strings giving the names of the Islamic months.")
52    
53  (defvar calendar-islamic-epoch (calendar-absolute-from-julian '(7 16 622))  (defvar calendar-islamic-epoch (calendar-absolute-from-julian '(7 16 622))
54    "Absolute date of start of Islamic calendar = August 29, 284 A.D. (Julian).")    "Absolute date of start of Islamic calendar = August 29, 284 A.D. (Julian).")
# Line 221  not be marked in the calendar.  This fun Line 225  not be marked in the calendar.  This fun
225                                   (car d)))                                   (car d)))
226                      (backup (equal (car (car d)) 'backup))                      (backup (equal (car (car d)) 'backup))
227                      (dayname                      (dayname
228                       (concat                       (format "%s\\|%s\\.?"
229                        (calendar-day-name gdate) "\\|"                        (calendar-day-name gdate)
230                        (substring (calendar-day-name gdate) 0 3) ".?"))                        (calendar-day-name gdate 'abbrev)))
231                      (calendar-month-name-array                      (calendar-month-name-array
232                       calendar-islamic-month-name-array)                       calendar-islamic-month-name-array)
233                      (monthname                      (monthname
# Line 269  not be marked in the calendar.  This fun Line 273  not be marked in the calendar.  This fun
273                          gdate                          gdate
274                          (buffer-substring-no-properties entry-start (point))                          (buffer-substring-no-properties entry-start (point))
275                          (buffer-substring-no-properties                          (buffer-substring-no-properties
276                           (1+ date-start) (1- entry-start)))))))                           (1+ date-start) (1- entry-start))
277                            (copy-marker entry-start))))))
278                 (setq d (cdr d))))                 (setq d (cdr d))))
279             (setq gdate             (setq gdate
280                   (calendar-gregorian-from-absolute                   (calendar-gregorian-from-absolute
# Line 293  provided for use as part of the nongrego Line 298  provided for use as part of the nongrego
298            ((date-form (if (equal (car (car d)) 'backup)            ((date-form (if (equal (car (car d)) 'backup)
299                            (cdr (car d))                            (cdr (car d))
300                          (car d)));; ignore 'backup directive                          (car d)));; ignore 'backup directive
301             (dayname (diary-name-pattern calendar-day-name-array))             (dayname (diary-name-pattern calendar-day-name-array
302                                            calendar-day-abbrev-array))
303             (monthname             (monthname
304              (concat              (format "%s\\|\\*"
305               (diary-name-pattern calendar-islamic-month-name-array t)                      (diary-name-pattern calendar-islamic-month-name-array)))
              "\\|\\*"))  
306             (month "[0-9]+\\|\\*")             (month "[0-9]+\\|\\*")
307             (day "[0-9]+\\|\\*")             (day "[0-9]+\\|\\*")
308             (year "[0-9]+\\|\\*")             (year "[0-9]+\\|\\*")
# Line 367  provided for use as part of the nongrego Line 372  provided for use as part of the nongrego
372                           (string-to-int y-str)))))                           (string-to-int y-str)))))
373              (if dd-name              (if dd-name
374                  (mark-calendar-days-named                  (mark-calendar-days-named
375                   (cdr (assoc-ignore-case (substring dd-name 0 3)                   (cdr (assoc-ignore-case dd-name
376                                           (calendar-make-alist                                           (calendar-make-alist
377                                            calendar-day-name-array                                            calendar-day-name-array
378                                            0                                            0 nil calendar-day-abbrev-array))))
                                           '(lambda (x) (substring x 0 3))))))  
379                (if mm-name                (if mm-name
380                    (if (string-equal mm-name "*")                    (setq mm (if (string-equal mm-name "*") 0
381                        (setq mm 0)                               (cdr (assoc-ignore-case
382                      (setq mm                                     mm-name
383                            (cdr (assoc-ignore-case                                     (calendar-make-alist
384                                  mm-name                                      calendar-islamic-month-name-array))))))
                                 (calendar-make-alist  
                                   calendar-islamic-month-name-array))))))  
385                (mark-islamic-calendar-date-pattern mm dd yy)))))                (mark-islamic-calendar-date-pattern mm dd yy)))))
386        (setq d (cdr d)))))        (setq d (cdr d)))))
387    
# Line 495  Prefix arg will make the entry nonmarkin Line 497  Prefix arg will make the entry nonmarkin
497    
498  (provide 'cal-islam)  (provide 'cal-islam)
499    
500    ;;; arch-tag: a951b6c1-6f47-48d5-bac3-1b505cd719f7
501  ;;; cal-islam.el ends here  ;;; cal-islam.el ends here

Legend:
Removed from v.1.10.8.1  
changed lines
  Added in v.1.10.8.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26