You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* REPL: disable auto-indent when code is likely being pasted (fix#25186)
On some Windows terminals, pasting is not recognized as such.
This happens also with tmux' builtin paste.
In those cases, auto-indent is better disabled, as we want
to preserve the original indentation of the code being pasted.
This fix is quite a hack, but seems to work: using time(), if
the next character after a newline is being inserted very fast,
assume this was with paste, and cancel the insertion of the
spaces done by auto-indent.
I couldn't insert two characters in a raw within less than
about 0.03 or 0.02 seconds, so the threshold for "very fast"
is set to 0.0005, but this is an option which can changed.
* fix tests
* more reliability
* don't include refresh_line in the timings
* use a separate autoindent variable, as we want to undo indent in case of paste only
for auto-indented code (although currently in the REPL code this function is never
called with a positive argument)
* Some improvements: autoident is now prevented and needs not to be redone. Paste of mixed space/tabs/empty lines is now more reliable.
* fixed bug where indent is set externally
0 commit comments