  
 ;;; Factor mode font lock:
-
-(defconst factor--regexp-word-start
-  (let ((sws '("" ":" "TUPLE" "MACRO" "MACRO:" "M")))
-    (format "^\\(%s\\)\\(:\\) " (mapconcat 'identity sws "\\|"))))
 
 (defconst factor--parsing-words
   '("{" "}" "^:" "^::" ";" "<<" "<PRIVATE" ">>"

(define-key factor-mode-map "\C-ch" 'factor-help)
(define-key factor-help-mode-map "\C-ch" 'factor-help)
(define-key factor-mode-map "\C-m" 'newline-and-indent)
(define-key factor-mode-map [tab] 'indent-for-tab-command)

(define-key factor-listener-mode-map [f8] 'factor-refresh-all)



;;; Factor mode syntax:

(defconst factor--regexp-word-start
  (let ((sws '("" ":" "TUPLE" "MACRO" "MACRO:" "M")))
    (format "^\\(%s\\)\\(:\\) " (regexp-opt sws))))

(defconst factor--font-lock-syntactic-keywords
  `(("^\\(:\\)\\(:\\)" (1 ".") (2 "(;"))
    (,factor--regexp-word-start (2 "(;"))
