UltraVNCではまった

日本語パッチのあたったUtraVNC Win32 Viewer 1.0.5.2を使ってたんだけど

どうもhaskellλ計算が出来ない。

Prelude> (\x->x+1) 1
<interactive>:1:4: parse error on input `->'

おかしいと思い、別のターミナルで実験すると動く

$ cat > a.txt
・
$ od -tx1 a.txt
0000000 c2 a5 0a
0000003

なんと!\のキーボードが2バイトコードになってる!

xevで調べてみたところ

KeyPress event, serial 28, synthetic NO, window 0x3400001,
    root 0x26, subw 0x3400002, time 924294040, (52,45), root:(115,144),
    state 0x0, keycode 255 (keysym 0xa5, yen), same_screen YES,
    XLookupString gives 2 bytes: (c2 a5) "\"
    XmbLookupString gives 2 bytes: (c2 a5) "\"
    XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x3400001,
    root 0x26, subw 0x3400002, time 924294111, (52,45), root:(115,144),
    state 0x0, keycode 255 (keysym 0xa5, yen), same_screen YES,
    XLookupString gives 2 bytes: (c2 a5) "\"

まいったなぁ。正常に\の出る端末でxmodemapを作成

$ xmodmap -e "keycode 255 = backslash"

だめだ。

$ od -tx1 -w30 vncviewer.exe | grep "c2 a5"
$ od -tx1 -w17 vncviewer.exe | grep "c2 a5"
$ od -tx1 -w18 vncviewer.exe | grep "c2 a5"
$ od -tx1 -w vncviewer.exe | grep "a5 c2"
1323400 00 5b c2 10 00 cc cc cc cc cc cc cc cc cc cc cc 80 f9 40 73 15 80 f9 20 73 06 0f a5 c2 d3 e0 c3
$ od -tx1 -w17 vncviewer.exe | grep "a5 c2"
1323417 cc 80 f9 40 73 15 80 f9 20 73 06 0f a5 c2 d3 e0 c3
$ od -tx1 -w18 vncviewer.exe | grep "a5 c2"
1323432 0f a5 c2 d3 e0 c3 8b d0 33 c0 80 e1 1f d3 e2 c3 33 c0

 Emacsでバイナリファイルを開くには、M-x hexl-find-fileだから C-sで「c2 a5」を検索すると

0005a710: 80f9 4073 1580 f920 7306 0fa5 c2d3 e0c3  ..@s... s.......

修正してみたが変わらない…
winのツールをコンパイルするのはいやなのでこれにて終了。