   (save-excursion
     (when (or (looking-at "^[0-9]")
               (re-search-backward "^[0-9]" nil t))
-      (skip-chars-forward "0-9./=")
+      (skip-chars-forward "0-9./=\\-")
       (skip-syntax-forward " ")
       (cond ((looking-at "!\\s-*") 'pending)
             ((looking-at "\\*\\s-*") 'cleared)

                      (insert (make-string width ? ))))))
            (forward-line))
          (goto-char (car bounds))
          (skip-chars-forward "0-9./= \t")
          (insert (ledger-char-from-state state) " ")
	  (setq new-status state)
          (if (re-search-forward "\\(\t\\| [ \t]\\)"

    (save-excursion  ;; this excursion checks state of entire
		     ;; transaction and unclears if marked
      (goto-char (car bounds))  ;; beginning of xact
      (skip-chars-forward "0-9./=\\- \t") ;; skip the date
      (setq cur-status (and (member (char-after) '(?\* ?\!))
			    (ledger-state-from-char (char-after))))
      ;;if cur-status if !, or * then delete the marker
