2011-08-08 38 views
3

工作,我建我的紅寶石像這樣:Readline.completion_append_character不適用於IRB

brew install readline 
rvm install ruby-1.9.2-head -C --with-readline-dir=/usr/local/Cellar/readline/6.2.1/ 

當我做標籤完成這一切後,追加的空間。我在文檔中發現有一個變量叫做completion_append_character。它被設置爲一個空間。如果我將它設置爲零或任何其他字符,它仍然會附加一個空格。如何在完成後停止追加空間?

回答

1

這個問題,是用Ruby 1.9.3-P125的最新版本解決了,你可以在Changelog看到:

週三2月8日10時34分59秒2012 TAKAO口技

  • 分機/readline/readline.c(readline_attempted_completion_function): 中的Readline模塊與GNU的ReadLine 6的情況下,的ReadLine模塊 重置completion_append_character爲 「」,則執行 完成之後。因此,Readline模塊存儲 completion_append_character,並且Readline模塊在Readline模塊執行完成後始終將其設置爲 。 [ruby-dev:43456] [Feature#4635]
2

我剛剛遇到了這個問題,我認爲遲到的答案總比沒有答案好。在做了一些研究之後,這是Ruby或者Readline本身的一個bug,並且似乎出現在我能找到的每個Ruby版本中,這讓我認爲它是Readline。我能有

gem install rb-readline

來解決問題,然後

require 'rb-readline'

在我的腳本

。 Rb-readline(Ruby Readline)是Readline的直接替換,純Ruby實現,不依賴於C擴展,並且Readline.completion_append_character變量有效。

相關問題