Ввод данных в 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)))
Другие вопросы по тегам