diff --git a/extra/fuel/fuel.factor b/extra/fuel/fuel.factor index 7ce7c2b779..51f04450c3 100644 --- a/extra/fuel/fuel.factor +++ b/extra/fuel/fuel.factor @@ -122,8 +122,8 @@ M: source-file fuel-pprint path>> fuel-pprint ; fuel-forget-result fuel-forget-output ; -: (fuel-end-eval) ( quot -- ) - with-string-writer fuel-eval-output set-global fuel-retort +: (fuel-end-eval) ( result -- ) + fuel-eval-output set-global fuel-retort pop-fuel-status ; inline : (fuel-eval) ( lines -- ) @@ -141,11 +141,9 @@ M: source-file fuel-pprint path>> fuel-pprint ; [ dup "IN: " prepend 1vector (fuel-eval) in set ] when* ; inline : fuel-eval-in-context ( lines in usings -- ) - (fuel-begin-eval) [ - (fuel-eval-usings) - (fuel-eval-in) - (fuel-eval) - ] (fuel-end-eval) ; + (fuel-begin-eval) + [ (fuel-eval-usings) (fuel-eval-in) (fuel-eval) ] with-string-writer + (fuel-end-eval) ; : fuel-run-file ( path -- ) run-file ; inline diff --git a/misc/fuel/fuel-debug.el b/misc/fuel/fuel-debug.el index 91811f62c2..995200af6a 100644 --- a/misc/fuel/fuel-debug.el +++ b/misc/fuel/fuel-debug.el @@ -106,11 +106,11 @@ (when err (fuel-debug--display-restarts err) (delete-blank-lines) - (newline) - (let ((hstr (fuel-debug--help-string err file))) - (if fuel-debug-show-short-help - (insert "-----------\n" hstr "\n") - (message "%s" hstr)))) + (newline)) + (let ((hstr (fuel-debug--help-string err file))) + (if fuel-debug-show-short-help + (insert "-----------\n" hstr "\n") + (message "%s" hstr))) (setq fuel-debug--last-ret ret) (setq fuel-debug--file file) (goto-char (point-max)) @@ -174,16 +174,16 @@ (defun fuel-debug-goto-error () (interactive) - (let* ((err (or (fuel-debug--buffer-error) - (error "No errors reported"))) + (let* ((err (fuel-debug--buffer-error)) (file (or (fuel-debug--buffer-file) - (error "No file associated with error"))) - (l/c (fuel-eval--error-line/column err)) + (error "No file associated with compilation"))) + (l/c (and err (fuel-eval--error-line/column err))) (line (or (car l/c) 1)) (col (or (cdr l/c) 0))) (find-file-other-window file) - (goto-line line) - (forward-char col))) + (when line + (goto-line line) + (when col (forward-char col))))) (defun fuel-debug--read-restart-no () (let ((rs (fuel-debug--buffer-restarts))) @@ -219,9 +219,11 @@ (unless (re-search-forward (format "^%s" info) nil t) (error "%s information not available" info)) (message "Retrieving %s info ..." info) - (unless (fuel-debug--display-retort - (fuel-eval--send/wait `(:fuel ((:factor ,info)))) - "" (fuel-debug--buffer-file)) + (unless (fuel-debug--display-retort (fuel-eval--send/wait + `(:fuel ((:factor ,info)))) + "" + nil + (fuel-debug--buffer-file)) (error "Sorry, no %s info available" info))))