diff --git a/extra/fuel/fuel.factor b/extra/fuel/fuel.factor index 7f6af22df8..00d9983b46 100644 --- a/extra/fuel/fuel.factor +++ b/extra/fuel/fuel.factor @@ -17,13 +17,13 @@ SYMBOL: fuel-status-stack V{ } clone fuel-status-stack set-global SYMBOL: fuel-eval-result -f clone fuel-eval-result set-global +f fuel-eval-result set-global SYMBOL: fuel-eval-output -f clone fuel-eval-result set-global +f fuel-eval-result set-global SYMBOL: fuel-eval-res-flag -t clone fuel-eval-res-flag set-global +t fuel-eval-res-flag set-global : fuel-eval-restartable? ( -- ? ) fuel-eval-res-flag get-global ; inline @@ -105,12 +105,11 @@ M: source-file fuel-pprint path>> fuel-pprint ; : fuel-forget-error ( -- ) f error set-global ; inline : fuel-forget-result ( -- ) f fuel-eval-result set-global ; inline : fuel-forget-output ( -- ) f fuel-eval-output set-global ; inline +: fuel-forget-status ( -- ) + fuel-forget-error fuel-forget-result fuel-forget-output ; inline : (fuel-begin-eval) ( -- ) - fuel-push-status - fuel-forget-error - fuel-forget-result - fuel-forget-output ; + fuel-push-status fuel-forget-status ; inline : (fuel-end-eval) ( output -- ) fuel-eval-output set-global fuel-retort fuel-pop-status ; inline diff --git a/misc/fuel/fuel-autodoc.el b/misc/fuel/fuel-autodoc.el index a1c1d19b98..151631eea1 100644 --- a/misc/fuel/fuel-autodoc.el +++ b/misc/fuel/fuel-autodoc.el @@ -31,8 +31,9 @@ :group 'fuel-autodoc :type 'boolean) + -;;; Autodoc mode: +;;; Highlighting for autodoc messages: (defvar fuel-autodoc--font-lock-buffer (let ((buffer (get-buffer-create " *fuel help minibuffer messages*"))) @@ -48,6 +49,11 @@ (let ((font-lock-verbose nil)) (font-lock-fontify-buffer)) (buffer-string)) + +;;; Eldoc function: + +(defvar fuel-autodoc--timeout 200) + (defun fuel-autodoc--word-synopsis (&optional word) (let ((word (or word (fuel-syntax-symbol-at-point))) (fuel-log--inhibit-p t)) @@ -55,7 +61,7 @@ (let* ((cmd (if (fuel-syntax--in-using) `(:fuel* (,word fuel-vocab-summary) :in t) `(:fuel* (((:quote ,word) synopsis :get)) :in))) - (ret (fuel-eval--send/wait cmd 20)) + (ret (fuel-eval--send/wait cmd fuel-autodoc--timeout)) (res (fuel-eval--retort-result ret))) (when (and ret (not (fuel-eval--retort-error ret)) (stringp res)) (if fuel-autodoc-minibuffer-font-lock @@ -70,6 +76,9 @@ (funcall fuel-autodoc--fallback-function)) (fuel-autodoc--word-synopsis))) + +;;; Autodoc mode: + (make-variable-buffer-local (defvar fuel-autodoc-mode-string " A" "Modeline indicator for fuel-autodoc-mode")) diff --git a/misc/fuel/fuel-help.el b/misc/fuel/fuel-help.el index 9216a9fd02..325e2971be 100644 --- a/misc/fuel/fuel-help.el +++ b/misc/fuel/fuel-help.el @@ -140,6 +140,7 @@ "Notes" "Parent topics:" "See also" + "Side effects" "Syntax" "Variable description" "Variable value"