Subject: [sup-devel] [PATCH] ruby 1.9: use String#ord in ask_getch and ask_yes_or_no

From: Rich Lane <[email-masked]>
Date: Fri, 1 Jan 2010 12:47:07 -0800

In Ruby 1.9, character literals and the return value from string index
accesses are now themselves strings and need to be converted to integers with
String#ord. This was breaking ask_getch. Integer#ord is defined on Ruby 1.8 so
this won't cause problems there.
---
 lib/sup/buffer.rb |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/sup/buffer.rb b/lib/sup/buffer.rb
index 4498b08..c826ab9 100644
--- a/lib/sup/buffer.rb
+++ b/lib/sup/buffer.rb
@@ -611,7 +611,7 @@ EOS
   def ask_getch question, accept=nil
     raise "impossible!" if @asking
 
-    accept = accept.split(//).map { |x| x[0] } if accept
+    accept = accept.split(//).map { |x| x.ord } if accept
 
     status, title = get_status_and_title @focus_buf
     Ncurses.sync do
@@ -647,7 +647,7 @@ EOS
   ## returns true (y), false (n), or nil (ctrl-g / cancel)
   def ask_yes_or_no question
     case(r = ask_getch question, "ynYN")
-    when ?y, ?Y
+    when ?y.ord, ?Y.ord
       true
     when nil
       nil
-- 
1.6.3.3

_______________________________________________
Sup-devel mailing list
[email-masked]
http://rubyforge.org/mailman/listinfo/sup-devel

---

From: William Morgan <[email-masked]>
Date: Sun, 03 Jan 2010 06:59:09 -0800

Applied to ruby-1.9.encodings and remerged into next. Thanks!
-- 
William <[email-masked]>
_______________________________________________
Sup-devel mailing list
[email-masked]
http://rubyforge.org/mailman/listinfo/sup-devel