(defun
    (get-word
	(re-search-forward "\\w\\w\\w*")
	(region-around-match 0)
	(region-to-string)
    )
    (next-typo continue place word
	(setq continue 1)
	(setq place (dot))
	(while continue
	    (if (error-occured (setq word (get-word)))
		(progn
		    (goto-character place)
		    (message "No more typos!")
		    (setq continue 0))
		(if (! (check-spelling word))
		    (setq continue 0))
	    )
	)
	(novalue)
    )
    (load-spelltab conflicts word
	(setq conflicts 0)
	(beginning-of-file)
	(while (! (error-occured (setq word (get-word))))
	    (if (check-spelling word)
		(setq conflicts (+ 1 conflicts)))
	    (assert-spelling word)
	)
	(message conflicts " conflicts")
	(novalue)
    )
    (text-mode
	(remove-all-local-bindings)
	(local-bind-to-key "justify-paragraph" (+ 128 'j'))
	(local-bind-to-key "next-typo" "\^X\^N")
	(setq right-margin 77)
	(setq mode-string "Text")
	(setq case-fold-search 1)
	(use-syntax-table "text-mode")
	(use-abbrev-table "text-mode")
	(setq left-margin 1)
	(novalue)
    )
)
