Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] screen_puts_len: Ignore control chars. #4376

Closed
wants to merge 2 commits into from

Conversation

justinmk
Copy link
Member

@justinmk justinmk commented Feb 29, 2016

TODO:

If a binary or other output is read from :! the screen should not be
affected by accidental (or intentional) control chars.
Legacy Vim :! gets scrubbed (possibly by canonical ("cooked")
mode in mch_call_shell(), see settmode(TMODE_COOK)).

Expected behavior:

:!echo -en '\x08'|cat -             " empty (except "Press ENTER")
:!echo -en '\x08'                   " empty (except "Press ENTER")
:!echo -en '\n'                     " extra line
:echo system('echo -en ''\x08\n''') " ^H

Issue #4338
:!echo -en '\x07\x07\x07\x07text'   " 'text' (not '    text')

Issue #2958 (Vim tputs()?)
:!echo -e "1\t2\t3"                 " '1       2       3'

Closes #5442 closed by #6618
Closes #4142 closed by #6618
Closes #2958 [WIP]
Closes #4338 [WIP]

@marvim marvim added the WIP label Feb 29, 2016
TODO:

- [ ] tests
- [ ] handle tab chars "\t" neovim#2958
- [ ] handle bell chars "\x07" neovim#4338

If a binary or other output is read from :! the screen should not be
affected by accidental (or intentional) control chars.
Legacy Vim ":!" gets scrubbed (possibly by canonical ("cooked")
mode in mch_call_shell(), see settmode(TMODE_COOK)).

Expected behavior:

    :!echo -en '\x08'|cat -             " empty (except "Press ENTER")
    :!echo -en '\x08'                   " empty (except "Press ENTER")
    :!echo -en '\n'                     " extra line
    :echo system('echo -en ''\x08\n''') " ^H

    Issue neovim#4338
    :!echo -en '\x07\x07\x07\x07text'   " 'text' (not '    text')

    Issue neovim#2958 (Vim tputs()?)
    :!echo -e "1\t2\t3"                 " '1       2       3'

Closes neovim#4142
Closes neovim#2958
Closes neovim#4338
Removed by e0e41b3, probably
unintentionally. Useful for redraw debugging.

TODO: Also delay statusline redraw.
justinmk added a commit to justinmk/neovim that referenced this pull request May 10, 2017
justinmk added a commit to justinmk/neovim that referenced this pull request May 10, 2017
justinmk added a commit to justinmk/neovim that referenced this pull request May 10, 2017
justinmk added a commit to justinmk/neovim that referenced this pull request May 10, 2017
justinmk added a commit to justinmk/neovim that referenced this pull request Feb 6, 2018
justinmk added a commit to justinmk/neovim that referenced this pull request Feb 6, 2018
Closes neovim#5442
Closes neovim#4142
References neovim#6618
References neovim#4376
References neovim#7844
@justinmk
Copy link
Member Author

justinmk commented Feb 7, 2018

fixed by #7844

tests and 'writedelay' addressed by by #6713

@justinmk justinmk closed this Feb 7, 2018
@justinmk justinmk deleted the bangcrash branch February 7, 2018 01:01
@justinmk justinmk removed the WIP label Feb 7, 2018
justinmk added a commit to justinmk/neovim that referenced this pull request Feb 7, 2018
justinmk added a commit to justinmk/neovim that referenced this pull request Feb 7, 2018
justinmk added a commit to justinmk/neovim that referenced this pull request Feb 7, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants