 (defun factor-see-current-word (&optional word)
   "Echo in the minibuffer information about word at point."
   (interactive)
-  (unless (factor--listener-process)
-    (error "No factor listener running. Try M-x run-factor"))
-  (let ((word (or word (factor--symbol-at-point)))
-        (msg (factor--see-current-word word)))
+  (let* ((proc (factor--listener-process))
+         (word (or word (factor--symbol-at-point)))
+         (msg (factor--see-current-word word)))
     (if msg (message "%s" msg)
       (if word (message "No help found for '%s'" word)
         (message "No word at point")))))

  "Key map used by Factor mode.")

(defsubst factor--beginning-of-defun (times)
  (re-search-backward factor--regex-definition-start nil t times))

(defsubst factor--end-of-defun ()
  (re-search-forward factor--regex-definition-end nil t))

;;;###autoload
(defun factor-mode ()


(defconst factor--regex-stack-effect " ( .* )")

(defconst factor--regex-using-lines "^USING: +\\(\\([^;]\\|[\n\r\f]\\)*\\);")

(defconst factor--regex-use-line "^USE: +\\(.*\\)$")

