 
 ;;; 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 "(;"))

(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 font lock:

(defconst factor--parsing-words
  '("{" "}" "^:" "^::" ";" "<<" "<PRIVATE" ">>"
