diff --git a/extra/io/launcher/launcher.factor b/extra/io/launcher/launcher.factor index 350743affa..cbece818c9 100755 --- a/extra/io/launcher/launcher.factor +++ b/extra/io/launcher/launcher.factor @@ -98,7 +98,7 @@ HOOK: run-process* io-backend ( desc -- handle ) TUPLE: process-failed code ; : process-failed ( code -- * ) - process-failed construct-boa throw ; + \ process-failed construct-boa throw ; : try-process ( desc -- ) run-process wait-for-process dup zero? diff --git a/misc/factor.el b/misc/factor.el index a5ba44357f..19b7f28e22 100644 --- a/misc/factor.el +++ b/misc/factor.el @@ -131,10 +131,30 @@ (comint-send-string "*factor*" (format "\"%s\"" (buffer-file-name))) (comint-send-string "*factor*" " run-file\n")) +;; (defun factor-send-region (start end) +;; (interactive "r") +;; (comint-send-region "*factor*" start end) +;; (comint-send-string "*factor*" "\n")) + +(defun factor-send-string (str) + (let ((n (length (split-string str "\n")))) + (save-excursion + (set-buffer "*factor*") + (goto-char (point-max)) + (if (> n 1) (newline)) + (insert str) + (comint-send-input)))) + (defun factor-send-region (start end) (interactive "r") - (comint-send-region "*factor*" start end) - (comint-send-string "*factor*" "\n")) + (let ((str (buffer-substring start end)) + (n (count-lines start end))) + (save-excursion + (set-buffer "*factor*") + (goto-char (point-max)) + (if (> n 1) (newline)) + (insert str) + (comint-send-input)))) (defun factor-see () (interactive) @@ -153,6 +173,10 @@ (comint-send-string "*factor*" "\\ ") (comint-send-string "*factor*" (thing-at-point 'sexp)) (comint-send-string "*factor*" " edit\n")) + +(defun factor-clear () + (interactive) + (factor-send-string "clear")) (defun factor-comment-line () (interactive)