##// END OF EJS Templates
Remove duplicate raw_input in TerminalInteractiveShell
Thomas Kluyver -
Show More
@@ -282,67 +282,6 b' class TerminalInteractiveShell(InteractiveShell):'
282 # Turn off the exit flag, so the mainloop can be restarted if desired
282 # Turn off the exit flag, so the mainloop can be restarted if desired
283 self.exit_now = False
283 self.exit_now = False
284
284
285 def raw_input(self, prompt='', continue_prompt=False):
286 """Write a prompt and read a line.
287
288 The returned line does not include the trailing newline.
289 When the user enters the EOF key sequence, EOFError is raised.
290
291 Optional inputs:
292
293 - prompt(''): a string to be printed to prompt the user.
294
295 - continue_prompt(False): whether this line is the first one or a
296 continuation in a sequence of inputs.
297 """
298 # Code run by the user may have modified the readline completer state.
299 # We must ensure that our completer is back in place.
300
301 if self.has_readline:
302 self.set_readline_completer()
303
304 try:
305 line = raw_input_original(prompt).decode(self.stdin_encoding)
306 except ValueError:
307 warn("\n********\nYou or a %run:ed script called sys.stdin.close()"
308 " or sys.stdout.close()!\nExiting IPython!")
309 self.ask_exit()
310 return ""
311
312 # Try to be reasonably smart about not re-indenting pasted input more
313 # than necessary. We do this by trimming out the auto-indent initial
314 # spaces, if the user's actual input started itself with whitespace.
315 if self.autoindent:
316 if num_ini_spaces(line) > self.indent_current_nsp:
317 line = line[self.indent_current_nsp:]
318 self.indent_current_nsp = 0
319
320 # store the unfiltered input before the user has any chance to modify
321 # it.
322 if line.strip():
323 if continue_prompt:
324 if self.has_readline and self.readline_use:
325 histlen = self.readline.get_current_history_length()
326 if histlen > 1:
327 newhist = self.history_manager.input_hist_raw[-1].rstrip()
328 self.readline.remove_history_item(histlen-1)
329 self.readline.replace_history_item(histlen-2,
330 newhist.encode(self.stdin_encoding))
331 else:
332 self.history_manager.input_hist_raw.append('%s\n' % line)
333 elif not continue_prompt:
334 self.history_manager.input_hist_raw.append('\n')
335 try:
336 lineout = self.prefilter_manager.prefilter_lines(line,continue_prompt)
337 except:
338 # blanket except, in case a user-defined prefilter crashes, so it
339 # can't take all of ipython with it.
340 self.showtraceback()
341 return ''
342 else:
343 return lineout
344
345
346 def raw_input(self, prompt=''):
285 def raw_input(self, prompt=''):
347 """Write a prompt and read a line.
286 """Write a prompt and read a line.
348
287
General Comments 0
You need to be logged in to leave comments. Login now