           (setq xact-list (cons transaction xact-list))))
       xact-list)))
 
-(defun ledger-schedule-replace-brackets ()
-  "Replace all brackets with parens"
-  (goto-char (point-min))
-  (while (search-forward "]" nil t)
-    (replace-match ")" nil t))
-  (goto-char (point-min))
-  (while (search-forward "[" nil t)
-    (replace-match "(" nil t)))
-
-(defvar ledger-schedule-descriptor-regex
-  (concat "\\(20[0-9][0-9]\\|[\*]\\)[/\\-]"  ;; Year slot
-          "\\([\*EO]\\|[01][0-9]\\)[/\\-]" ;; Month slot
-          "\\([\*]\\|\\([0-3][0-9]\\)\\|"
-          "\\([0-5]"
-          "\\(\\(Su\\)\\|"
-          "\\(Mo\\)\\|"
-          "\\(Tu\\)\\|"
-          "\\(We\\)\\|"
-          "\\(Th\\)\\|"
-          "\\(Fr\\)\\|"
-          "\\(Sa\\)\\)\\)\\)"))
-
 (defun ledger-schedule-read-descriptor-tree (descriptor-string)
-  "Take a date DESCRIPTOR-STRING and return a function of date that
-returns true if the date meets the requirements"
-  (with-temp-buffer
-    ;; copy the descriptor string into a temp buffer for manipulation
-    (let (pos)
-      ;; Replace brackets with parens
-      (insert descriptor-string)
-      (ledger-schedule-replace-brackets)
-
-      (goto-char (point-max))
-      ;; double quote all the descriptors for string processing later
-      (while (re-search-backward ledger-schedule-descriptor-regex nil t) ;; Day slot
-        (goto-char
-         (match-end 0))
-        (insert ?\")
-        (goto-char (match-beginning 0))
-        (insert "\"" )))
-
-    ;; read the descriptor string into a lisp object the transform the
-    ;; string descriptor into usable things
-    (ledger-schedule-transform-auto-tree
-     (read (buffer-substring-no-properties (point-min) (point-max))))))
+	(ledger-schedule-transform-auto-tree (split-string (substring descriptor-string 1 -2) " ")))
 
 (defun ledger-schedule-transform-auto-tree (descriptor-string-list)
   "Takes a lisp list of date descriptor strings, TREE, and returns a string with a lambda function of date."

    items))

(defun ledger-schedule-already-entered (candidate buffer)
  (let ((target-date (format-time-string date-format (car candidate)))
        (target-payee (cadr candidate)))
    nil))



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

(defun ledger-schedule-scan-transactions (schedule-file)
  "Scans SCHEDULE-FILE and returns a list of transactions with date predicates.
The car of each item is a function of date that returns true if
the transaction should be logged for that day."
  (interactive "fFile name: ")
