                                                     mouse-face ,(if mhc-calendar-use-mouse-highlight
                                                                     'highlight nil)
                                                     help-echo ,(if mhc-calendar-use-help-echo
-                                                                   (mhc-calendar/get-contents cdate) nil))
+                                                                   (mhc-calendar/get-contents cdate dayinfo-cache) nil))
                            day)
       (setq week (cons day week))
       (when (= (mhc-end-day-of-week) (mhc-day-day-of-week (car days)))

                                       (or date today)))))
         (mm (mhc-date-mm (or date today)))
         (days (mhc-db-scan-month (mhc-date-yy (or date today)) mm t))
         (separator (if separator separator mhc-calendar/separator-str))
         (start (mhc-day-day-of-week (car days)))
         (i 0)


(defvar mhc-calendar/date-format nil)

(defun mhc-calendar/get-contents (date dayinfo-alist)
  (unless mhc-calendar/date-format
    (setq mhc-calendar/date-format
          (if (eq mhc-calendar-language 'japanese)
              "%04d年%2d月%2d日(%s)\n"
            "%04d-%02d-%02d (%s)\n")))
  (with-temp-buffer
    (let* ((dayinfo (assoc date dayinfo-alist))
           (schedules (mhc-day-schedules dayinfo))
           schedule begin end subject location)
      (mhc-date-let date
        (insert (format mhc-calendar/date-format
                        yy mm dd
                        (aref mhc-calendar-day-strings ww))))
