diff --git a/misc/fuel/fuel-listener.el b/misc/fuel/fuel-listener.el index d7fbfb2e74..2c3e46695d 100644 --- a/misc/fuel/fuel-listener.el +++ b/misc/fuel/fuel-listener.el @@ -147,6 +147,10 @@ buffer." ;;; Fuel listener mode: +(defun fuel-listener--bol () + (interactive) + (when (= (point) (comint-bol)) (beginning-of-line))) + ;;;###autoload (define-derived-mode fuel-listener-mode comint-mode "Fuel Listener" "Major mode for interacting with an inferior Factor listener process. @@ -160,6 +164,7 @@ buffer." (define-key fuel-listener-mode-map "\C-cz" 'run-factor) (define-key fuel-listener-mode-map "\C-c\C-z" 'run-factor) +(define-key fuel-listener-mode-map "\C-a" 'fuel-listener--bol) (define-key fuel-listener-mode-map "\C-ca" 'fuel-autodoc-mode) (define-key fuel-listener-mode-map "\C-ch" 'fuel-help) (define-key fuel-listener-mode-map "\C-cs" 'fuel-stack-mode) diff --git a/misc/fuel/fuel-syntax.el b/misc/fuel/fuel-syntax.el index 794381cb47..f5e9cb31d2 100644 --- a/misc/fuel/fuel-syntax.el +++ b/misc/fuel/fuel-syntax.el @@ -123,6 +123,12 @@ (format "\\(%s\\)\\|\\(%s .*\\)" fuel-syntax--end-of-def-line-regex fuel-syntax--single-liner-regex)) + +(defconst fuel-syntax--defun-signature-regex + (format "\\(%s\\|%s\\)" + (format ":[^ ]* [^ ]+\\(%s\\)*" fuel-syntax--stack-effect-regex) + "M[^:]*: [^ ]+ [^ ]+")) + ;;; Factor syntax table @@ -261,11 +267,6 @@ (re-search-forward fuel-syntax--end-of-def-regex nil t) (point))) -(defconst fuel-syntax--defun-signature-regex - (format "\\(%s\\|%s\\)" - (format ":[^ ]* [^ ]+\\(%s\\)*" fuel-syntax--stack-effect-regex) - "M[^:]*: [^ ]+ [^ ]+")) - (defun fuel-syntax--beginning-of-body () (let ((p (point))) (and (fuel-syntax--beginning-of-defun)