From 61fb2c5312b9ec6f6f7112ea1bc1044e8369e0bb Mon Sep 17 00:00:00 2001 From: Michel Martens Date: Tue, 3 Apr 2012 12:52:39 -0300 Subject: [PATCH] Quick fix for shellsplit function. --- lib/interactive/session.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/interactive/session.rb b/lib/interactive/session.rb index 88dd561d..0c649ab2 100644 --- a/lib/interactive/session.rb +++ b/lib/interactive/session.rb @@ -85,7 +85,7 @@ def shellsplit(line) line.scan(/\G\s*(?>([^\s\\\'\"]+)|'([^\']*)'|"((?:[^\"\\]|\\.)*)"|(\\.?)|(\S))(\s|\z)?/) do |word, sq, dq, esc, garbage, sep| raise ArgumentError, "Unmatched double quote: #{line.inspect}" if garbage - field << (word || sq || (dq || esc)) + field << (word || sq || (dq || esc).gsub(/(\\(x[0-9a-f]{2}|.))/) { eval('"%s"' % $1) }) if sep words << field field = '' @@ -156,7 +156,7 @@ def format_reply(reply, prefix = "") when Bignum "(integer) " + reply.to_s + "\n" when String - %Q{"%s"\n} % reply.force_encoding("ASCII") + reply.force_encoding("ASCII").inspect when NilClass "(nil)\n" when Array