Function: diary-lunar-phases

diary-lunar-phases is an autoloaded and byte-compiled function defined in lunar.el.gz.

Signature

(diary-lunar-phases &optional MARK)

Documentation

Moon phases diary entry.

An optional parameter MARK specifies a face or single-character string to use when highlighting the day in the calendar.

View in manual

Source Code

;; Defined in /usr/src/emacs/lisp/calendar/lunar.el.gz
;;;###diary-autoload
(defun diary-lunar-phases (&optional mark)
  "Moon phases diary entry.
An optional parameter MARK specifies a face or single-character string to
use when highlighting the day in the calendar."
  ;; This function is designed to be used in sexp diary entries, and
  ;; may be present in users' diary files, so suppress the warning
  ;; about this prefix-less dynamic variable.  It's called from
  ;; `diary-list-sexp-entries', which binds the variable.
  (with-suppressed-warnings ((lexical date))
    (defvar date))
  (let* ((index (lunar-index date))
         (phase (lunar-phase index)))
    (while (calendar-date-compare phase (list date))
      (setq index (1+ index)
            phase (lunar-phase index)))
    (if (calendar-date-equal (car phase) date)
        (cons mark (concat (lunar-phase-name (nth 2 phase)) " "
                           (cadr phase))))))