From 3c39cbf3335224d27454b09b5392cc2e7e8a8c7c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 23 Apr 2021 15:54:21 +0530 Subject: [PATCH] Add a note about over large scrollback fill --- docs/protocol-extensions.rst | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/protocol-extensions.rst b/docs/protocol-extensions.rst index 976fec3d7..e358379f5 100644 --- a/docs/protocol-extensions.rst +++ b/docs/protocol-extensions.rst @@ -172,10 +172,14 @@ instead of being blank. The motivation for this is that many modern shells will show completions in a block of lines under the cursor, this causes some of the on-screen text to be lost even after the completion is completed, because it has scrolled off -screen. This escape code allows that text to be restored. If the scrollback -buffer is empty or there is no scrollback buffer, such as for the alternate -screen, then the newly inserted lines must be empty, just as with the original -``SD`` escape code. +screen. This escape code allows that text to be restored. + +If the scrollback buffer is empty or there is no scrollback buffer, such as for +the alternate screen, then the newly inserted lines must be empty, just as with +the original ``SD`` escape code. The maximum number of lines that can be +scrolled down is the height of the screen, i.e. the number of lines on the screen. +If the escape code requests more than that number of lines, the terminal *must* +clip the request to the current screen size. The syntax of the escape code is identical to that of ``SD`` except that it has a trailing ``+`` modifier. This is legal under the `ECMA 48 standard