Ввод данных в OCaml для запуска на верхнем уровне под Emacs
При интерактивном запуске верхнего уровня OCaml в Emacs (через режим Tuareg), оценка выражения, которое вводится из стандартного входного канала, не заканчивается.
Например, когда я ввожу следующее выражение в *ocaml-toplevel*
буфер и нажмите ввод
let x = read_int ();;
и введите целое число и нажмите ENTER
чтобы закончить, оценка не закончена, как ожидалось.
Следующий скриншот демонстрирует ситуацию.
Как правильно вводить данные из стандартного входного канала в буфер верхнего уровня OCaml в Emacs?
1 ответ
Решение
Просто введите как использованиеM-x comint-send-input
напрямую, поэтому туарег не будет проверять на прекращение ;;
изменить: конечно, вы можете определить сочетание клавиш для него, если вам это нужно регулярно; например
(add-hook 'tuareg-interactive-mode-hook
'(lambda ()
(local-set-key (kbd "C-n") 'comint-send-input)))