Emacs on Linux: preventing the Erlang shell buffer from echoing the prompt?

When making erlang-shell start erl or rebar3 shell prompts are echoed; e.g.:


1> 1.
1> 1.
1
2> 2.
2> 2.
2


The problem goes away with erl -oldshell, but I’d rather use rebar3 shell in order to leverage Rebar3’s features.

I’ve tried passing -oldshell to erl via the ERL_FLAGS env var, but then Rebar3 crashes.

Any suggestions? Thank you.


Environment:

  • Erlang/OTP v29.1.2 (includes erlang.el);
  • Rebar3 v3.27;
  • Emacs v30.2 (started as emacs -Q);
  • Linux Mint v21.1.

Configurations:

(setq inferior-erlang-machine "rebar3"
      inferior-erlang-machine-options '("shell"))
(setq inferior-erlang-machine "erl"
      inferior-erlang-machine-options '())
(setq inferior-erlang-machine "erl"
      inferior-erlang-machine-options '("-oldshell"))
(setenv "ERL_FLAGS" "-oldshell")