bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 35/42] man/curs_scroll.3x: Revise.


From: G. Branden Robinson
Subject: [PATCH 35/42] man/curs_scroll.3x: Revise.
Date: Sat, 16 Dec 2023 11:48:08 -0600

Content:
* Document an API inconsistency in "NOTES" section.
* Move discussion of SVr4 documentation and X/Open specficiation from
  "RETURN VALUE" to "PORTABILITY" section.
* Move discussion of other implementations' behavior from "NOTES" to
  "PORTABILITY" section.
* Refer to "X/Open Curses" rather than "XSI Curses", for consistency
  with other usage in the ncurses man pages.
* Lightly recast.

Style:
* De-italicize "physical screen"; such a term should only be italicized
  upon its definition/introduction.  Here it is jargon the reader is
  expected to know.

Markup:
* Migrate (a bit) to man(7) font style macros from *roff font selection
  escape sequences.
---
 man/curs_scroll.3x | 99 ++++++++++++++++++++++++++++++----------------
 1 file changed, 64 insertions(+), 35 deletions(-)

diff --git a/man/curs_scroll.3x b/man/curs_scroll.3x
index 6d50d79c3..5229bc959 100644
--- a/man/curs_scroll.3x
+++ b/man/curs_scroll.3x
@@ -54,48 +54,77 @@ .SH SYNOPSIS
 \fBint wscrl(WINDOW *\fIwin\fP, int \fIn\fP);
 .fi
 .SH DESCRIPTION
-The \fBscroll\fP routine scrolls the window up one line.
-This involves moving
-the lines in the window data structure.
-As an optimization, if the scrolling
-region of the window is the entire screen,
-the \fIphysical screen\fP may be scrolled at the same time.
+\fBscroll\fP scrolls the given window up one line.
+That is,
+every visible line we might number
+.I i
+becomes line
+.IR i \-1.
+The text of the top line in the window disappears and the bottom line
+is populated with blank characters;
+see \fB\%bkgd\fP(3X) or \fB\%bkgrnd\fP(3X).
+As an optimization,
+if the scrolling region of the window is the entire screen,
+the physical screen may be scrolled at the same time;
+see \fB\%curscr\fP(3X).
 .PP
-For positive \fIn\fP, the \fBscrl\fP and \fBwscrl\fP routines scroll the
-window up \fIn\fP lines (line \fIi\fP+\fIn\fP becomes \fIi\fP); otherwise
-scroll the window down \fIn\fP lines.
-This involves moving the lines in the
-window character image structure.
-The current cursor position is not changed.
+\fB\%scrl\fP and \fB\%wscrl\fP scroll
+.B \%stdscr
+or the specified window up or down depending on the sign of
+.I n.
+For positive
+.I n,
+line \fIi\fP+\fIn\fP becomes \fIi\fP;
+for negative
+.I n,
+line \fIi\fP-\fIn\fP becomes \fIi\fP.
 .PP
-For these functions to work, scrolling must be enabled via \fBscrollok\fP(3X).
-.SH RETURN VALUE
-These routines return the integer \fBERR\fP upon failure and \fBOK\fP
-(SVr4 specifies only
-\*(``an integer value other than \fBERR\fP\*('')
-upon successful completion.
+The cursor does not move.
+These functions perform no operation unless scrolling is enabled for the
+window via \fB\%scrollok\fP(3X).
+.SH "RETURN VALUE"
+These functions return
+.B ERR
+upon failure and
+.B OK
+upon success.
 .PP
-X/Open defines no error conditions.
-.PP
-This implementation returns an error
-if the window pointer is null, or
-if scrolling is not enabled in the window, e.g., with \fBscrollok\fP(3X).
+.I \%ncurses
+returns \fBERR\fP if scrolling is not enabled in the window,
+for example with \fB\%scrollok\fP(3X),
+or if the
+.I \%WINDOW
+pointer is null.
 .SH NOTES
-Note that \fBscrl\fP and \fBscroll\fP may be macros.
+Unusually,
+there is no \fB\%wscroll\fP function;
+\fBscroll\fP behaves as one would expect \fB\%wscroll\fP to,
+accepting a \fI\%WINDOW\fP pointer argument.
 .PP
-The SVr4 documentation says that the optimization of physically scrolling
-immediately if the scroll region is the entire screen \*(``is\*('' performed,
-not \*(``may be\*('' performed.
-This implementation deliberately does not guarantee
-that this will occur, to leave open the possibility of smarter
-optimization of multiple scroll actions on the next update.
+\fB\%scrl\fP and \fB\%scroll\fP may be implemented as macros.
 .PP
-Neither the SVr4 nor the XSI documentation specify whether the current
-attribute or
-current color pair of blanks generated by the scroll function is zeroed.
-Under this implementation it is.
 .SH PORTABILITY
-The XSI Curses standard, Issue 4 describes these functions.
+X/Open Curses, Issue 4, describes these functions.
+It defines no error conditions.
+.PP
+SVr4 specifies only
+\*(``an integer value other than \fBERR\fP\*('' as a successful return
+value.
+.PP
+SVr4 indicates that the optimization of physically scrolling immediately
+if the scroll region is the entire screen \*(``is\*('' performed,
+not \*(``may be\*('' performed.
+.I \%ncurses
+deliberately does not guarantee that this will occur,
+to leave open the possibility of smarter optimization of multiple scroll
+actions on the next update.
+.PP
+Neither SVr4
+.I curses
+nor X/Open Curses specify whether the current attribute or current color
+pair of blanks generated by the scroll function are zeroed.
+.I \%ncurses
+does so.
 .SH SEE ALSO
 \fB\%curses\fP(3X),
 \fB\%curs_outopts\fP(3X)
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]