Function: calendar-islamic-read-date

calendar-islamic-read-date is a byte-compiled function defined in cal-islam.el.gz.

Signature

(calendar-islamic-read-date)

Documentation

Interactively read the arguments for an Islamic date command.

Reads a year, month, and day.

Source Code

;; Defined in /usr/src/emacs/lisp/calendar/cal-islam.el.gz
(defun calendar-islamic-read-date ()
  "Interactively read the arguments for an Islamic date command.
Reads a year, month, and day."
  (let* ((today (calendar-current-date))
         (year (calendar-read-sexp
                "Islamic calendar year (>0)"
                (lambda (x) (> x 0))
                (calendar-extract-year
                 (calendar-islamic-from-absolute
                  (calendar-absolute-from-gregorian today)))))
         (month-array calendar-islamic-month-name-array)
         (completion-ignore-case t)
         (month (cdr (assoc-string
                      (completing-read
                       "Islamic calendar month name: "
                       (mapcar 'list (append month-array nil))
                       nil t)
                      (calendar-make-alist month-array 1) t)))
         (last (calendar-islamic-last-day-of-month month year))
         (day (calendar-read-sexp
               "Islamic calendar day (1-%d)"
               (lambda (x) (and (< 0 x) (<= x last)))
               nil
               last)))
    (list (list month day year))))