From: Michal Suchanek Date: 2007-12-13T03:52:10+09:00 Subject: multibyte characters in curses ------=_Part_1998_22262529.1197485529405 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello Am I the only one who wishes this worked? Or does it work for everybody and it's broken only for me? I tried to look at a ncurses sample program, and made a simple patch that makes utf-8 sort of work with ncursesw provided that you run in utf-8 locale. Probably works on Linux/OS X,... The curses on Windows are different. Thanks Michal ------=_Part_1998_22262529.1197485529405 Content-Type: text/x-patch; name=ruby-ncursesw.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_fa47vqw7 Content-Disposition: attachment; filename=ruby-ncursesw.patch ZGlmZiAtdXIgcnVieS0xLjguNi1wMTExL2V4dC9jdXJzZXMvY3Vyc2VzLmMgcnVieS0xLjguNi1w MTExLm5jdXJzZXN3L2V4dC9jdXJzZXMvY3Vyc2VzLmMKLS0tIHJ1YnktMS44LjYtcDExMS9leHQv Y3Vyc2VzL2N1cnNlcy5jCTIwMDctMDItMTMgMDA6MDE6MTkuMDAwMDAwMDAwICswMTAwCisrKyBy dWJ5LTEuOC42LXAxMTEubmN1cnNlc3cvZXh0L2N1cnNlcy9jdXJzZXMuYwkyMDA3LTEyLTEyIDE5 OjM1OjM2LjAwMDAwMDAwMCArMDEwMApAQCAtMTYsNyArMTYsMTIgQEAKICNpbmNsdWRlICJydWJ5 LmgiCiAjaW5jbHVkZSAicnVieWlvLmgiCiAKLSNpZiBkZWZpbmVkKEhBVkVfTkNVUlNFU19IKQor I2lmIGRlZmluZWQoSEFWRV9OQ1VSU0VTV19OQ1VSU0VTX0gpCisjIGRlZmluZSBfUlVCWV9DVVJT RVNfV0lERQorIyBkZWZpbmUgX1hPUEVOX1NPVVJDRV9FWFRFTkRFRAorIyBpbmNsdWRlIDxuY3Vy c2Vzdy9uY3Vyc2VzLmg+CisjIGluY2x1ZGUgPGxvY2FsZS5oPgorI2VsaWYgZGVmaW5lZChIQVZF X05DVVJTRVNfSCkKICMgaW5jbHVkZSA8bmN1cnNlcy5oPgogI2VsaWYgZGVmaW5lZChIQVZFX05D VVJTRVNfQ1VSU0VTX0gpCiAjIGluY2x1ZGUgPG5jdXJzZXMvY3Vyc2VzLmg+CkBAIC0xMTksNiAr MTI0LDE4IEBACiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gbW9kdWxlIEN1cnNlcyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKKy8qIGRlZiB3aWRlPyAqLworc3RhdGljIFZB TFVFCitjdXJzZXNfd2lkZShvYmopCisgIFZBTFVFIG9iajsKK3sKKyNpZmRlZiBfUlVCWV9DVVJT RVNfV0lERQorICByZXR1cm4gUXRydWU7CisjZWxzZQorICByZXR1cm4gUWZhbHNlOworI2VuZGlm Cit9CisKIC8qIGRlZiBpbml0X3NjcmVlbiAqLwogc3RhdGljIFZBTFVFCiBjdXJzZXNfaW5pdF9z Y3JlZW4oKQpAQCAtMzg4LDYgKzQwNSwyMCBAQAogICAgIHJldHVybiBRbmlsOwogfQogCisjaWZk ZWYgX1JVQllfQ1VSU0VTX1dJREUKKy8qIGRlZiBhZGR3Y2ggKi8KK3N0YXRpYyBWQUxVRQorY3Vy c2VzX2FkZHdjaChvYmosIGNoKQorICBWQUxVRSBvYmo7CisgIFZBTFVFIGNoOworeworICB3Y2hh cl90IHdjaD1OVU0yQ0goY2gpOworICBjdXJzZXNfc3Rkc2NyKCk7CisgIGFkZG53c3RyKCZ3Y2gs MSk7CisgIHJldHVybiBRbmlsOworfQorI2VuZGlmCisKIC8qIGRlZiBpbnNjaChjaCkgKi8KIHN0 YXRpYyBWQUxVRQogY3Vyc2VzX2luc2NoKG9iaiwgY2gpCkBAIC0xNDQxLDYgKzE0NzIsOSBAQAog dm9pZAogSW5pdF9jdXJzZXMoKQogeworI2lmZGVmIF9SVUJZX0NVUlNFU19XSURFCisgICBzZXRs b2NhbGUoTENfQUxMLCAiIik7CisjZW5kaWYKICAgICBtQ3Vyc2VzICAgID0gcmJfZGVmaW5lX21v ZHVsZSgiQ3Vyc2VzIik7CiAgICAgbUtleSAgICAgICA9IHJiX2RlZmluZV9tb2R1bGVfdW5kZXIo bUN1cnNlcywgIktleSIpOwogCkBAIC0xNDU2LDYgKzE0OTAsNyBAQAogICAgIHJiX2RlZmluZV9t ZXRob2QoY01vdXNlRXZlbnQsICJic3RhdGUiLCBjdXJzX21vdXNlX2JzdGF0ZSwgMCk7CiAjZW5k aWYgLyogVVNFX01PVVNFICovCiAKKyAgICByYl9kZWZpbmVfbW9kdWxlX2Z1bmN0aW9uKG1DdXJz ZXMsICJ3aWRlPyIsIGN1cnNlc193aWRlLCAwKTsKICAgICByYl9kZWZpbmVfbW9kdWxlX2Z1bmN0 aW9uKG1DdXJzZXMsICJpbml0X3NjcmVlbiIsIGN1cnNlc19pbml0X3NjcmVlbiwgMCk7CiAgICAg cmJfZGVmaW5lX21vZHVsZV9mdW5jdGlvbihtQ3Vyc2VzLCAiY2xvc2Vfc2NyZWVuIiwgY3Vyc2Vz X2Nsb3NlX3NjcmVlbiwgMCk7CiAgICAgcmJfZGVmaW5lX21vZHVsZV9mdW5jdGlvbihtQ3Vyc2Vz LCAiY2xvc2VkPyIsIGN1cnNlc19jbG9zZWQsIDApOwpAQCAtMTQ4Miw2ICsxNTE3LDkgQEAKICAg ICByYl9kZWZpbmVfbW9kdWxlX2Z1bmN0aW9uKG1DdXJzZXMsICJzdGFuZGVuZCIsIGN1cnNlc19z dGFuZGVuZCwgMCk7CiAgICAgcmJfZGVmaW5lX21vZHVsZV9mdW5jdGlvbihtQ3Vyc2VzLCAiaW5j aCIsIGN1cnNlc19pbmNoLCAwKTsKICAgICByYl9kZWZpbmVfbW9kdWxlX2Z1bmN0aW9uKG1DdXJz ZXMsICJhZGRjaCIsIGN1cnNlc19hZGRjaCwgMSk7CisjaWZkZWYgX1JVQllfQ1VSU0VTX1dJREUK KyAgICByYl9kZWZpbmVfbW9kdWxlX2Z1bmN0aW9uKG1DdXJzZXMsICJhZGR3Y2giLCBjdXJzZXNf YWRkd2NoLCAxKTsKKyNlbmRpZgogICAgIHJiX2RlZmluZV9tb2R1bGVfZnVuY3Rpb24obUN1cnNl cywgImluc2NoIiwgY3Vyc2VzX2luc2NoLCAxKTsKICAgICByYl9kZWZpbmVfbW9kdWxlX2Z1bmN0 aW9uKG1DdXJzZXMsICJhZGRzdHIiLCBjdXJzZXNfYWRkc3RyLCAxKTsKICAgICByYl9kZWZpbmVf bW9kdWxlX2Z1bmN0aW9uKG1DdXJzZXMsICJnZXRjaCIsIGN1cnNlc19nZXRjaCwgMCk7CmRpZmYg LXVyIHJ1YnktMS44LjYtcDExMS9leHQvY3Vyc2VzL2V4dGNvbmYucmIgcnVieS0xLjguNi1wMTEx Lm5jdXJzZXN3L2V4dC9jdXJzZXMvZXh0Y29uZi5yYgotLS0gcnVieS0xLjguNi1wMTExL2V4dC9j dXJzZXMvZXh0Y29uZi5yYgkyMDA3LTAyLTEzIDAwOjAxOjE5LjAwMDAwMDAwMCArMDEwMAorKysg cnVieS0xLjguNi1wMTExLm5jdXJzZXN3L2V4dC9jdXJzZXMvZXh0Y29uZi5yYgkyMDA3LTEyLTEy IDE5OjI3OjEyLjAwMDAwMDAwMCArMDEwMApAQCAtNyw3ICs3LDkgQEAKIG1ha2U9ZmFsc2UKIGhh dmVfbGlicmFyeSgibXl0aW5mbyIsICJ0Z2V0ZW50IikgaWYgL2Jvdy8gPX4gUlVCWV9QTEFURk9S TQogaGF2ZV9saWJyYXJ5KCJ0aW5mbyIsICJ0Z2V0ZW50Iikgb3IgaGF2ZV9saWJyYXJ5KCJ0ZXJt Y2FwIiwgInRnZXRlbnQiKQotaWYgaGF2ZV9oZWFkZXIoKmN1cnNlcz0ldyJuY3Vyc2VzLmgiKSBh bmQgaGF2ZV9saWJyYXJ5KCJuY3Vyc2VzIiwgImluaXRzY3IiKQoraWYgaGF2ZV9oZWFkZXIoKmN1 cnNlcz0ldyJuY3Vyc2Vzdy9uY3Vyc2VzLmgiKSBhbmQgaGF2ZV9saWJyYXJ5KCJuY3Vyc2VzdyIs ICJpbml0c2NyIikKKyAgbWFrZT10cnVlCitlbHNpZiBoYXZlX2hlYWRlcigqY3Vyc2VzPSV3Im5j dXJzZXMuaCIpIGFuZCBoYXZlX2xpYnJhcnkoIm5jdXJzZXMiLCAiaW5pdHNjciIpCiAgIG1ha2U9 dHJ1ZQogZWxzaWYgaGF2ZV9oZWFkZXIoKmN1cnNlcz0ldyJuY3Vyc2VzL2N1cnNlcy5oIikgYW5k IGhhdmVfbGlicmFyeSgibmN1cnNlcyIsICJpbml0c2NyIikKICAgbWFrZT10cnVlCmRpZmYgLXVy IHJ1YnktMS44LjYtcDExMS9leHQvY3Vyc2VzL2hlbGxvLnJiIHJ1YnktMS44LjYtcDExMS5uY3Vy c2Vzdy9leHQvY3Vyc2VzL2hlbGxvLnJiCi0tLSBydWJ5LTEuOC42LXAxMTEvZXh0L2N1cnNlcy9o ZWxsby5yYgkyMDA3LTAyLTEzIDAwOjAxOjE5LjAwMDAwMDAwMCArMDEwMAorKysgcnVieS0xLjgu Ni1wMTExLm5jdXJzZXN3L2V4dC9jdXJzZXMvaGVsbG8ucmIJMjAwNy0xMi0xMiAxOTozODozMC4w MDAwMDAwMDAgKzAxMDAKQEAgLTIwLDEwICsyMCwxMSBAQAogICBjcm1vZGUKICMgIHNob3dfbWVz c2FnZSgiSGl0IGFueSBrZXkiKQogICBzZXRwb3MoKGxpbmVzIC0gNSkgLyAyLCAoY29scyAtIDEw KSAvIDIpCisgICMoIuS7iuaXpeOBryEgIikudW5wYWNrKCJVKiIpLmVhY2h7fGN8IGFkZHdjaCBj fQogICBhZGRzdHIoIkhpdCBhbnkga2V5IikKICAgcmVmcmVzaAogICBnZXRjaAotICBzaG93X21l c3NhZ2UoIkhlbGxvLCBXb3JsZCEiKQorICBzaG93X21lc3NhZ2UoIuS7iuaXpeOBryEiKQogICBy ZWZyZXNoCiBlbnN1cmUKICAgY2xvc2Vfc2NyZWVuCg== ------=_Part_1998_22262529.1197485529405--