   "Return a form that is true for every DAY skipping SKIP, starting on START.
 For example every second Friday, regardless of month."
   (let ((start-day (nth 6 (decode-time (eval start-date)))))
-    (if (eq start-day day-of-week)  ;; good, can proceed
+     (if (eq start-day day-of-week)  ;; good, can proceed
 	`(if (zerop (mod (- (time-to-days date) ,(time-to-days (eval start-date))) ,(* skip 7)))
 	     t
 	     nil)

(defun ledger-schedule-is-holiday (date)
  "Return true if DATE is a holiday.")

(defun ledger-schedule-scan-transactions (auto-file)
  "Scans AUTO_FILE and returns a list of transactions with date predicates.
The car of each item is a fuction of date that returns true if
the transaction should be logged for that day."
  (interactive "fFile name: ")
  (let ((xact-list (list)))
    (with-current-buffer
	(find-file-noselect auto-file)
      (goto-char (point-min))
      (while (re-search-forward "^\\[\\(.*\\)\\] " nil t)
	(let ((date-descriptor "")


(defun ledger-schedule-test-setup ()
  (setq auto-items 
	(ledger-schedule-scan-transactions ledger-schedule-file)))


(defun ledger-schedule-test-predict ()
