2010年7月12日 星期一

MacRuby, Python, Ruby 在 OS/X 下, interactive shell 中文輸入的問題

之前不管是 Ruby 或是 Python,在 OS/X 下,interactive shell 輸入中文大部分都會出現問號。今天找了一下 MacRuby 的相關資料,發現原來是 readline 的問題。

雖然說 macirb 可以用 macirb --noreadline 跳過去,可是這樣就失去了豐富的 history 功能,也無法使用 Readline module了。

網路上有些文章建議直接去抓新版的 readline 來改,但是從 MacRuby 的這個看來,是系統內的 libedit 缺乏了 multibyte 支援導致的,所以連帶 python 也會有一樣的問題。於是直接去抓了 libedit 2.6.7 下來,configure 完 make 了以後,丟到 /usr/lib 裡面取代 libedit.2.dylib (當然,要先備份),這樣不管是 python 或是 ruby interactive shell 都可以直接打中文了。

**後記**

話說太滿果然會爆炸,放進去以後有些功能就變得怪怪的,正規的作法還是要先拉 Apple 自己的 libedit-13 下來再說。

沒有留言:

張貼留言