reddit / emacs

julia in comint is not respecting TERM=dumb? In inferior julia, TERM=vt50 instead

1nc0ns1st3nt · 2022-12-08 15:56
I was investigating why inferior julia is showing no prompt at all. My investigation leads to me submit this issue: https://github.com/JuliaLang/julia/issues/47837. The solution is to set TERM = dumb, however, I have used `setenv` `process-environment` to set TERM to dumb, still inside the inferior julia, `ENV["TERM"]` is `vt50`. Opening a terminal and type `TERM=linux julia`, this change is reflected inside the process, i.e. `ENV["TERM"]` is `linux`. Is this a case of processes started with comint not respecting TERM environmental variable?? I am confused about this behaviour.
ieure · 2022-12-08 16:36
The environment of a child process is inherited from the parent process *at the time the process is started.* You have to set `TERM` before starting Julia, using `process-environment`.
1nc0ns1st3nt · 2022-12-08 16:50
The bizarre things is `TERM=dumb` is in `process-environment` before starting julia, yet inside julia `TERM` is `vt50`. This is beyond reasons and logic at this point.
1nc0ns1st3nt · 2022-12-09 01:41
The culprit is `comint-terminfo-terminal`, setting that to `dumb` fixes the issue. See my comment here for a bit more information: https://github.com/JuliaEditorSupport/julia-emacs/issues/144#issuecomment-1343722278
1nc0ns1st3nt · 2022-12-09 01:43
Hey, I just figured that it was `comint-terminfo-terminal`, its `vt50` and that overrides the emacs `TERM` environmental variable setting
7890yuiop · 2022-12-09 11:55
startup.el sets `TERM` to `dumb` because that's the sane default for inferior processes started by Emacs.