to reproduce:
- use default preferences
- run screen
- run:
set -- `stty size`
printf '%*s http://example.com/\n' $(($2 - 5))
seq 1 $1
- now that the line has scrolled off the screen, scrollback in screen's buffer:
Ctrl+A [
Page up twice (until URL is visible)
- select the URL with the mouse to automatic copy
- see that the newline is always included in paste (ctrl+v)
- scroll up a few more pages, then back down
- select the URL with the mouse to automatic copy
- see that the newline is *not* included in paste (ctrl+v)
issue seems to be related to how we apply the line-overflow attribute in our hterm.Terminal.prototype.print loop. the code works if we insert the text and then apply the label (e.g. when scrolling "down"), but fails if we apply the label and the insert the text (e.g. when scrolling "up"). this is because the call to this.screen_.overwriteString starts off with:
this.cursorRowNode_.removeAttribute('line-overflow');
so we need to figure out a diff way of applying this attribute so that it does not get lost.
Comment 1 by vapier@chromium.org
, Aug 25 2017