Unbreak console=readline.
authorsvenpanne@chromium.org <svenpanne@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 25 Nov 2013 08:36:46 +0000 (08:36 +0000)
committersvenpanne@chromium.org <svenpanne@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 25 Nov 2013 08:36:46 +0000 (08:36 +0000)
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/85343002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/d8-readline.cc

index 0226f31..15b1361 100644 (file)
@@ -109,12 +109,9 @@ Handle<String> ReadLineEditor::Prompt(const char* prompt) {
     Unlocker unlock(Isolate::GetCurrent());
     result = readline(prompt);
   }
-  if (result != NULL) {
-    AddHistory(result);
-  } else {
-    return Handle<String>();
-  }
-  return String::New(result);
+  if (result == NULL) return Handle<String>();
+  AddHistory(result);
+  return String::NewFromUtf8(isolate_, result);
 }
 
 
@@ -153,8 +150,13 @@ char* ReadLineEditor::CompletionGenerator(const char* text, int state) {
   HandleScope scope(isolate);
   Handle<Array> completions;
   if (state == 0) {
-    Local<String> full_text = String::New(rl_line_buffer, rl_point);
-    completions = Shell::GetCompletions(isolate, String::New(text), full_text);
+    Local<String> full_text = String::NewFromUtf8(isolate,
+                                                  rl_line_buffer,
+                                                  String::kNormalString,
+                                                  rl_point);
+    completions = Shell::GetCompletions(isolate,
+                                        String::NewFromUtf8(isolate, text),
+                                        full_text);
     current_completions.Reset(isolate, completions);
     current_index = 0;
   } else {