jsoftware/jsource

jconsole unicode support

bugsbugsbux opened this issue · 7 comments

hi, when i type in jconsole in the terminal i cannot enter äöü etc. they just do not appear.

i know you cannot use them as identifiers but thats not the issue, i want to be able to use them in strings.

it is possible to do so in jqt and jandroid, so i would consider this a bug.

note too, that it is not a problem with my terminal, as i can type them without any issue as long as i am not in the jconsole repl.

i really need this to work, because i want to write my code in neovim and send it to the repl from there - i cannot send it to jqt.

thanks for the awesone work,

kind regards

bilam commented

You didn't tell which platform and terminal you are using.
I think it depends on platform and terminal.
I have no problem entering accent characters or chinese on macbook jconsole.

sorry, I use an

  • up-to-date archlinux (uname -a: Linux *** 6.2.9-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 30 Mar 2023 14:51:14 +0000 x86_64 GNU/Linux)
  • with sway version 1.8.1, meaning wayland not x11,
  • and j version: Engine: j903/j64/linux, Release-b: commercial/2022-01-28T04:07:43, Library: 9.03.08

and tested

  • gnome-terminal (GNOME Terminal 3.46.8 using VTE 0.72.0 +BIDI +GNUTLS +ICU +SYSTEMD),
  • alacritty (alacritty 0.12.0 (5a728195)),
  • foot (foot version: 1.14.0 +pgo +ime +graphemes -assertions),
  • wezterm (wezterm 20230326-111934-3666303c),

with

  • fish (fish, version 3.6.1),
  • bash (GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)),
  • with and without tmux (tmux 3.3a),
  • as well as neovim's builtin terminal (NVIM v0.9.0-dev-1305+g83bfd94d1)
bilam commented

jconsole use libedit to implement readline functions. Apparently libedit in Linux doesn't support unicode or it needs special interface to do it.
As a workaround you can disable readline function with the -norl parameter, eg
$ jconsole -norl

very weired as libedit should now support unicode by default. anyhow, the workaround seems to work, thanks!

bilam commented

what is the version of your libedit.so ? Is it 2.x or 3.x ?

my the version my packagemanager tells me is 20221030_3.1-1, so i guess 3.1

bilam commented

j9.4.2 has a commit
jconsole -noel to disable libedit but not linenoise
which enable linux jconsole to handle unicode and readline functions.