Finally, I found that it was resolved in the newest version. Here commit
The reason is that while IPython use raw_input to fix the type of use, \n loses. And then the line will add "\ n" later. However, if the string is an empty string, it will be discarded. The stream is as follows:
if not s: return s = s+'\n'
source share