
I took another look. It seems ,input expeditor
doesn’t take any effect.

That was inaccurate. ,input expeditor
doesn’t load expeditor
, it just set the input mode to the plain mode.

By “distro version” you mean the compiled-for-Linux download at http://download.racket-lang.org\|download.racket-lang.org, right? That version is built in a way that is meant to work on most Linux distributions, but that turns out to be especially tricky for terminal libraries. So, my guess is that it’s just not able to recognize your terminal setup because the executable is linked to older libraries.

I wasn’t clear. By distro version, I mean the Racket package I co-maintain for opensuse Tumbleweed. It is built from the source tar ball from the website.

Ah, ok. Is the ncurses library installed when you build?

That is, there’s not a flag to enable, but libncurses or similar needs to be installed at configure
time.

Ah, that should be the culprit. https://build.opensuse.org/package/view_file/devel:languages:misc/racket/racket.spec?expand=1 doesn’t have ncurses as a build requirement

Thanks, @mflatt

A follow-up question @mflatt: is ncurses needed at runtime?

Normally, you’d link to a shared library, so yes in that sense. But a “development” variant of an ncurses package should not be needed.

I see.

Is there a programmable way to check if expeditor
is correctly loaded?

expeditor-open
returns #f
if it cannot initialize; that requires stdin, etc., to be a terminal