mirror of
https://github.com/Aigor44/ncursesw-morphos.git
synced 2024-12-15 07:30:12 +08:00
ncurses 6.0 - patch 20161119
+ add check in tic for some syntax errors of delays, as well as use of proportional delays for non-line capabilities. + document history of the clear program and the E3 extension, prompted by various discussions including http://unix.stackexchange.com/questions/87469/clearing-the-old-scrollback-buffer
This commit is contained in:
parent
16fea43a50
commit
5606eb4861
9
NEWS
9
NEWS
@ -25,7 +25,7 @@
|
||||
-- sale, use or other dealings in this Software without prior written --
|
||||
-- authorization. --
|
||||
-------------------------------------------------------------------------------
|
||||
-- $Id: NEWS,v 1.2695 2016/11/13 00:10:13 tom Exp $
|
||||
-- $Id: NEWS,v 1.2698 2016/11/20 00:36:25 tom Exp $
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
This is a log of changes that ncurses has gone through since Zeyd started
|
||||
@ -45,6 +45,13 @@ See the AUTHORS file for the corresponding full names.
|
||||
Changes through 1.9.9e did not credit all contributions;
|
||||
it is not possible to add this information.
|
||||
|
||||
20161119
|
||||
+ add check in tic for some syntax errors of delays, as well as use of
|
||||
proportional delays for non-line capabilities.
|
||||
+ document history of the clear program and the E3 extension, prompted
|
||||
by various discussions including
|
||||
http://unix.stackexchange.com/questions/87469/clearing-the-old-scrollback-buffer
|
||||
|
||||
20161112
|
||||
+ improve -W option in tic/infocmp:
|
||||
+ correct order of size-adjustments in wrapped lines
|
||||
|
4
dist.mk
4
dist.mk
@ -25,7 +25,7 @@
|
||||
# use or other dealings in this Software without prior written #
|
||||
# authorization. #
|
||||
##############################################################################
|
||||
# $Id: dist.mk,v 1.1132 2016/11/12 15:46:51 tom Exp $
|
||||
# $Id: dist.mk,v 1.1133 2016/11/19 18:20:25 tom Exp $
|
||||
# Makefile for creating ncurses distributions.
|
||||
#
|
||||
# This only needs to be used directly as a makefile by developers, but
|
||||
@ -37,7 +37,7 @@ SHELL = /bin/sh
|
||||
# These define the major/minor/patch versions of ncurses.
|
||||
NCURSES_MAJOR = 6
|
||||
NCURSES_MINOR = 0
|
||||
NCURSES_PATCH = 20161112
|
||||
NCURSES_PATCH = 20161119
|
||||
|
||||
# We don't append the patch to the version, since this only applies to releases
|
||||
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
|
||||
|
@ -1,6 +1,6 @@
|
||||
<!--
|
||||
****************************************************************************
|
||||
* Copyright (c) 2010-2011,2014 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 2010-2014,2016 Free Software Foundation, Inc. *
|
||||
* *
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||
* copy of this software and associated documentation files (the *
|
||||
@ -26,7 +26,7 @@
|
||||
* sale, use or other dealings in this Software without prior written *
|
||||
* authorization. *
|
||||
****************************************************************************
|
||||
* @Id: MKada_config.in,v 1.8 2014/06/07 19:32:52 tom Exp @
|
||||
* @Id: MKada_config.in,v 1.10 2016/11/05 21:08:21 tom Exp @
|
||||
-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||
<HTML>
|
||||
@ -46,11 +46,11 @@
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
|
||||
adacurses-config - helper script for AdaCurses libraries
|
||||
adacurses6-config - helper script for AdaCurses libraries
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
|
||||
<STRONG>adacurses-config</STRONG> [<EM>options</EM>]
|
||||
<STRONG>adacurses6-config</STRONG> [<EM>options</EM>]
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
|
||||
@ -71,10 +71,10 @@
|
||||
echos the release+patchdate version of the ncurses
|
||||
libraries used to configure and build AdaCurses.
|
||||
|
||||
<STRONG>--help</STRONG> prints a list of the <STRONG>adacurses-config</STRONG> script's
|
||||
<STRONG>--help</STRONG> prints a list of the <STRONG>adacurses6-config</STRONG> script's
|
||||
options.
|
||||
|
||||
If no options are given, <STRONG>adacurses-config</STRONG> prints the com-
|
||||
If no options are given, <STRONG>adacurses6-config</STRONG> prints the com-
|
||||
bination of <STRONG>--cflags</STRONG> and <STRONG>--libs</STRONG> that <STRONG>gnatmake</STRONG> expects (see
|
||||
example).
|
||||
|
||||
@ -131,7 +131,7 @@
|
||||
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
|
||||
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161022).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161119).
|
||||
|
||||
|
||||
|
||||
|
@ -198,7 +198,7 @@
|
||||
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
|
||||
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161022).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161119).
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<!--
|
||||
****************************************************************************
|
||||
* Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2013,2016 Free Software Foundation, Inc. *
|
||||
* *
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||
* copy of this software and associated documentation files (the *
|
||||
@ -26,7 +26,9 @@
|
||||
* sale, use or other dealings in this Software without prior written *
|
||||
* authorization. *
|
||||
****************************************************************************
|
||||
* @Id: clear.1,v 1.10 2013/06/22 22:22:11 tom Exp @
|
||||
* @Id: clear.1,v 1.14 2016/11/19 21:30:46 tom Exp @
|
||||
* these would be fallbacks for DS/DE,
|
||||
* but groff changed the meaning of the macros.
|
||||
-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||
<HTML>
|
||||
@ -64,10 +66,76 @@
|
||||
present.
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
|
||||
A <STRONG>clear</STRONG> command appeared in 2.79BSD dated February 24,
|
||||
1979. Later that was provided in Unix 8th edition (1985).
|
||||
|
||||
AT&T adapted a different BSD program (<STRONG>tset</STRONG>) to make a new
|
||||
command (<STRONG>tput</STRONG>), and used this to replace the <STRONG>clear</STRONG> command
|
||||
with a shell script which calls <STRONG>tput</STRONG> <STRONG>clear</STRONG>, e.g.,
|
||||
/usr/bin/tput ${1:+-T$1} clear 2> /dev/null
|
||||
exit
|
||||
|
||||
In 1989, when Keith Bostic revised the BSD <STRONG>tput</STRONG> command to
|
||||
make it similar to the AT&T <STRONG>tput</STRONG>, he added a shell script
|
||||
for the <STRONG>clear</STRONG> command:
|
||||
exec tput clear
|
||||
|
||||
The remainder of the script in each case is a copyright
|
||||
notice.
|
||||
|
||||
The ncurses <STRONG>clear</STRONG> command began in 1995 by adapting the
|
||||
original BSD <STRONG>clear</STRONG> command (with terminfo, of course).
|
||||
|
||||
The <STRONG>E3</STRONG> extension came later:
|
||||
|
||||
<STRONG>o</STRONG> In June 1999, xterm provided an extension to the stan-
|
||||
dard control sequence for clearing the screen. Rather
|
||||
than clearing just the visible part of the screen
|
||||
using
|
||||
printf '\033[2J'
|
||||
|
||||
one could clear the <EM>scrollback</EM> using
|
||||
printf '\033[<STRONG>3</STRONG>J'
|
||||
|
||||
This is documented in <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> as a
|
||||
feature originating with xterm.
|
||||
|
||||
<STRONG>o</STRONG> A few other terminal developers adopted the feature,
|
||||
e.g., PuTTY in 2006.
|
||||
|
||||
<STRONG>o</STRONG> In April 2011, a Red Hat developer submitted a patch
|
||||
to the Linux kernel, modifying its console driver to
|
||||
do the same thing. The Linux change, part of the 3.0
|
||||
release, did not mention xterm, although it was cited
|
||||
in the Red Hat bug report (#683733) which led to the
|
||||
change.
|
||||
|
||||
<STRONG>o</STRONG> Again, a few other terminal developers adopted the
|
||||
feature. But the next relevant step was a change to
|
||||
the <STRONG>clear</STRONG> program in 2013 to incorporate this exten-
|
||||
sion.
|
||||
|
||||
<STRONG>o</STRONG> In 2013, the <STRONG>E3</STRONG> extension was overlooked in <STRONG>tput</STRONG> with
|
||||
the "clear" parameter. That was addressed in 2016 by
|
||||
reorganizing <STRONG>tput</STRONG> to share its logic with <STRONG>clear</STRONG> and
|
||||
<STRONG>tset</STRONG>.
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
|
||||
Neither IEEE Std 1003.1/The Open Group Base Specifica-
|
||||
tions Issue 7 (POSIX.1-2008) nor X/Open Curses Issue 7
|
||||
documents tset or reset.
|
||||
|
||||
The latter documents <STRONG>tput</STRONG>, which could be used to replace
|
||||
this utility either via a shell script or by an alias
|
||||
(such as a symbolic link) to run <STRONG>tput</STRONG> as <STRONG>clear</STRONG>.
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
|
||||
<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161022).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161119).
|
||||
|
||||
|
||||
|
||||
@ -78,6 +146,8 @@
|
||||
<li><a href="#h2-NAME">NAME</a></li>
|
||||
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
|
||||
<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
|
||||
<li><a href="#h2-HISTORY">HISTORY</a></li>
|
||||
<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
|
||||
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* t
|
||||
****************************************************************************
|
||||
* Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2015,2016 Free Software Foundation, Inc. *
|
||||
* *
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||
* copy of this software and associated documentation files (the *
|
||||
@ -27,7 +27,7 @@
|
||||
* sale, use or other dealings in this Software without prior written *
|
||||
* authorization. *
|
||||
****************************************************************************
|
||||
* @Id: form.3x,v 1.26 2015/08/02 18:14:50 tom Exp @
|
||||
* @Id: form.3x,v 1.28 2016/10/29 22:26:35 tom Exp @
|
||||
-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||
<HTML>
|
||||
@ -88,83 +88,84 @@
|
||||
The following table lists each <STRONG>form</STRONG> routine and the name
|
||||
of the manual page on which it is described.
|
||||
|
||||
<STRONG>curses</STRONG> Routine Name Manual Page Name
|
||||
-------------------------------------------------
|
||||
current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
|
||||
data_ahead <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
|
||||
data_behind <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
|
||||
dup_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
|
||||
dynamic_field_info <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
|
||||
field_arg <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
|
||||
field_back <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
|
||||
field_buffer <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
|
||||
field_count <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
|
||||
field_fore <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
|
||||
field_index <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
|
||||
field_info <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
|
||||
field_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
|
||||
field_just <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
|
||||
field_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
|
||||
field_opts_off <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
|
||||
field_opts_on <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
|
||||
field_pad <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
|
||||
field_status <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
|
||||
field_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
|
||||
field_type <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
|
||||
<STRONG>curses</STRONG> Routine Name Manual Page Name
|
||||
--------------------------------------------------
|
||||
current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
|
||||
data_ahead <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
|
||||
data_behind <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
|
||||
dup_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
|
||||
dynamic_field_info <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
|
||||
field_arg <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
|
||||
field_back <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
|
||||
field_buffer <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
|
||||
field_count <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
|
||||
field_fore <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
|
||||
field_index <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
|
||||
field_info <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
|
||||
field_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
|
||||
field_just <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
|
||||
field_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
|
||||
field_opts_off <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
|
||||
field_opts_on <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
|
||||
field_pad <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
|
||||
field_status <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
|
||||
field_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
|
||||
field_type <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
|
||||
|
||||
field_userptr <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
|
||||
form_driver <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
|
||||
form_driver_w <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>*
|
||||
form_fields <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
|
||||
form_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
|
||||
form_opts <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
|
||||
form_opts_off <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
|
||||
form_opts_on <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
|
||||
form_page <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
|
||||
form_request_by_name <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
|
||||
form_request_name <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
|
||||
form_sub <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
|
||||
form_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
|
||||
form_userptr <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
|
||||
form_win <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
|
||||
free_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
|
||||
free_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
|
||||
free_form <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
|
||||
link_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
|
||||
link_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
|
||||
move_field <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
|
||||
new_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
|
||||
new_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
|
||||
new_form <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
|
||||
new_page <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
|
||||
pos_form_cursor <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
|
||||
post_form <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
|
||||
scale_form <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
|
||||
set_current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
|
||||
set_field_back <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
|
||||
set_field_buffer <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
|
||||
set_field_fore <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
|
||||
set_field_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
|
||||
set_field_just <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
|
||||
set_field_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
|
||||
set_field_pad <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
|
||||
set_field_status <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
|
||||
set_field_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
|
||||
set_field_type <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
|
||||
set_field_userptr <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
|
||||
set_fieldtype_arg <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
|
||||
set_fieldtype_choice <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
|
||||
set_form_fields <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
|
||||
set_form_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
|
||||
set_form_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
|
||||
set_form_page <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
|
||||
set_form_sub <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
|
||||
set_form_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
|
||||
set_form_userptr <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
|
||||
set_form_win <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
|
||||
set_max_field <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
|
||||
set_new_page <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
|
||||
unpost_form <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
|
||||
field_userptr <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
|
||||
form_driver <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
|
||||
form_driver_w <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>*
|
||||
form_fields <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
|
||||
form_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
|
||||
form_opts <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
|
||||
form_opts_off <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
|
||||
form_opts_on <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
|
||||
form_page <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
|
||||
form_request_by_name <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
|
||||
form_request_name <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
|
||||
form_sub <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
|
||||
form_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
|
||||
form_userptr <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
|
||||
form_win <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
|
||||
free_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
|
||||
free_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
|
||||
free_form <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
|
||||
link_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
|
||||
link_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
|
||||
move_field <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
|
||||
new_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
|
||||
new_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
|
||||
new_form <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
|
||||
new_page <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
|
||||
pos_form_cursor <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
|
||||
post_form <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
|
||||
scale_form <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
|
||||
set_current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
|
||||
set_field_back <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
|
||||
set_field_buffer <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
|
||||
set_field_fore <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
|
||||
set_field_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
|
||||
set_field_just <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
|
||||
set_field_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
|
||||
set_field_pad <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
|
||||
set_field_status <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
|
||||
set_field_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
|
||||
set_field_type <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
|
||||
set_field_userptr <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
|
||||
set_fieldtype_arg <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
|
||||
set_fieldtype_choice <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
|
||||
set_form_fields <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
|
||||
set_form_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
|
||||
set_form_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
|
||||
set_form_page <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
|
||||
set_form_sub <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
|
||||
set_form_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
|
||||
set_form_userptr <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
|
||||
set_form_win <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
|
||||
set_max_field <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
|
||||
set_new_page <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
|
||||
unfocus_current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
|
||||
unpost_form <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
|
||||
@ -225,9 +226,12 @@
|
||||
These routines emulate the System V forms library. They
|
||||
were not supported on Version 7 or BSD versions.
|
||||
|
||||
A few functions are extensions added for ncurses, e.g.,
|
||||
<STRONG>form_driver_w</STRONG>, <STRONG>unfocus_current_field</STRONG>.
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
|
||||
Juergen Pfeifer. Manual pages and adaptation for ncurses
|
||||
Juergen Pfeifer. Manual pages and adaptation for ncurses
|
||||
by Eric S. Raymond.
|
||||
|
||||
|
||||
@ -235,7 +239,7 @@
|
||||
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
|
||||
detailed descriptions of the entry points.
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161022).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161119).
|
||||
|
||||
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* t
|
||||
****************************************************************************
|
||||
* Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2010,2016 Free Software Foundation, Inc. *
|
||||
* *
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||
* copy of this software and associated documentation files (the *
|
||||
@ -27,7 +27,7 @@
|
||||
* sale, use or other dealings in this Software without prior written *
|
||||
* authorization. *
|
||||
****************************************************************************
|
||||
* @Id: form_page.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
|
||||
* @Id: form_page.3x,v 1.14 2016/10/29 22:27:24 tom Exp @
|
||||
-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||
<HTML>
|
||||
@ -54,16 +54,21 @@
|
||||
<STRONG>#include</STRONG> <STRONG><form.h></STRONG>
|
||||
int set_current_field(FORM *form, FIELD *field);
|
||||
FIELD *current_field(const FORM *);
|
||||
int unfocus_current_field(FORM *form);
|
||||
int set_form_page(FORM *form, int n);
|
||||
int form_page(const FORM *form);
|
||||
int field_index(const FIELD *field);
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
|
||||
The function <STRONG>set_current</STRONG> <STRONG>field</STRONG> sets the current field of
|
||||
The function <STRONG>set_current_field</STRONG> sets the current field of
|
||||
the given form; <STRONG>current_field</STRONG> returns the current field of
|
||||
the given form.
|
||||
|
||||
The function <STRONG>unfocus_current_field</STRONG> removes the focus from
|
||||
the current field of the form. In such state, inquiries
|
||||
via <STRONG>current_field</STRONG> shall return a NULL pointer.
|
||||
|
||||
The function <STRONG>set_form_page</STRONG> sets the form's page number
|
||||
(goes to page <EM>n</EM> of the form).
|
||||
|
||||
@ -113,9 +118,12 @@
|
||||
These routines emulate the System V forms library. They
|
||||
were not supported on Version 7 or BSD versions.
|
||||
|
||||
The <STRONG>unfocus_current_field</STRONG> function is an ncurses exten-
|
||||
sion.
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
|
||||
Juergen Pfeifer. Manual pages and adaptation for new
|
||||
Juergen Pfeifer. Manual pages and adaptation for new
|
||||
curses by Eric S. Raymond.
|
||||
|
||||
|
||||
|
@ -478,7 +478,7 @@
|
||||
|
||||
http://invisible-island.net/ncurses/tctest.html
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161022).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161119).
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
|
||||
|
@ -88,7 +88,7 @@
|
||||
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
|
||||
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161022).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161119).
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
|
||||
|
@ -217,7 +217,7 @@
|
||||
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for
|
||||
detailed descriptions of the entry points.
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161022).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161119).
|
||||
|
||||
|
||||
|
||||
|
@ -60,7 +60,7 @@
|
||||
sonable optimization. This implementation is "new curses"
|
||||
(ncurses) and is the approved replacement for 4.4BSD clas-
|
||||
sic curses, which has been discontinued. This describes
|
||||
<STRONG>ncurses</STRONG> version 6.0 (patch 20161022).
|
||||
<STRONG>ncurses</STRONG> version 6.0 (patch 20161119).
|
||||
|
||||
The <STRONG>ncurses</STRONG> library emulates the curses library of System
|
||||
V Release 4 UNIX, and XPG4 (X/Open Portability Guide)
|
||||
|
@ -114,7 +114,7 @@
|
||||
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
|
||||
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161022).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161119).
|
||||
|
||||
|
||||
|
||||
|
@ -208,7 +208,7 @@
|
||||
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
|
||||
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161022).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161119).
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
|
||||
|
@ -164,7 +164,7 @@
|
||||
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
|
||||
<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161022).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161119).
|
||||
|
||||
|
||||
|
||||
|
@ -33,7 +33,7 @@
|
||||
****************************************************************************
|
||||
* @Id: terminfo.head,v 1.22 2016/10/15 17:02:31 tom Exp @
|
||||
* Head of terminfo man page ends here
|
||||
* @Id: terminfo.tail,v 1.73 2016/10/22 19:56:17 tom Exp @
|
||||
* @Id: terminfo.tail,v 1.74 2016/11/05 21:15:43 Alain.Williams Exp @
|
||||
* Beginning of terminfo.tail file
|
||||
* This file is part of ncurses.
|
||||
* See "terminfo.head" for copyright.
|
||||
@ -75,7 +75,7 @@
|
||||
nals by giving a set of capabilities which they have, by
|
||||
specifying how to perform screen operations, and by speci-
|
||||
fying padding requirements and initialization sequences.
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161022).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161119).
|
||||
|
||||
Entries in <EM>terminfo</EM> consist of a sequence of `,' separated
|
||||
fields (embedded commas may be escaped with a backslash or
|
||||
@ -1559,7 +1559,7 @@
|
||||
late destructive scrolling; their documentation cautions
|
||||
you not to define <STRONG>csr</STRONG> unless this is true. This <STRONG>curses</STRONG>
|
||||
implementation is more liberal and will do explicit erases
|
||||
after scrolling if <STRONG>ndstr</STRONG> is defined.
|
||||
after scrolling if <STRONG>ndsrc</STRONG> is defined.
|
||||
|
||||
If the terminal has the ability to define a window as part
|
||||
of memory, which all commands affect, it should be given
|
||||
|
@ -401,7 +401,7 @@
|
||||
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
|
||||
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161022).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161119).
|
||||
|
||||
|
||||
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
|
||||
|
@ -117,7 +117,7 @@
|
||||
<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,
|
||||
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161022).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161119).
|
||||
|
||||
|
||||
|
||||
|
@ -441,7 +441,7 @@
|
||||
<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
|
||||
<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161022).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161119).
|
||||
|
||||
|
||||
|
||||
|
@ -387,7 +387,7 @@
|
||||
<STRONG>csh(1)</STRONG>, <STRONG>sh(1)</STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>tty(4)</STRONG>,
|
||||
<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
|
||||
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161022).
|
||||
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20161119).
|
||||
|
||||
|
||||
|
||||
|
91
man/clear.1
91
man/clear.1
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2013,2016 Free Software Foundation, Inc. *
|
||||
.\" *
|
||||
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
||||
.\" copy of this software and associated documentation files (the *
|
||||
@ -26,8 +26,28 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: clear.1,v 1.10 2013/06/22 22:22:11 tom Exp $
|
||||
.\" $Id: clear.1,v 1.14 2016/11/19 21:30:46 tom Exp $
|
||||
.TH @CLEAR@ 1 ""
|
||||
.\" these would be fallbacks for DS/DE,
|
||||
.\" but groff changed the meaning of the macros.
|
||||
.de NS
|
||||
.sp .5
|
||||
.in +4
|
||||
.nf
|
||||
.ft C \" Courier
|
||||
..
|
||||
.de NE
|
||||
.fi
|
||||
.ft R
|
||||
.in -4
|
||||
..
|
||||
.ie \n(.g .ds `` \(lq
|
||||
.el .ds `` ``
|
||||
.ie \n(.g .ds '' \(rq
|
||||
.el .ds '' ''
|
||||
.de bP
|
||||
.IP \(bu 4
|
||||
..
|
||||
.ds n 5
|
||||
.SH NAME
|
||||
\fB@CLEAR@\fR \- clear the terminal screen
|
||||
@ -36,11 +56,76 @@
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
\fB@CLEAR@\fR clears your screen if this is possible,
|
||||
including its scrollback buffer (if the extended "E3" capability is defined).
|
||||
including its scrollback buffer (if the extended \*(``E3\*('' capability is defined).
|
||||
\fB@CLEAR@\fR looks in the environment for the terminal type and then in the
|
||||
\fBterminfo\fR database to determine how to clear the screen.
|
||||
.PP
|
||||
\fB@CLEAR@\fR ignores any command-line parameters that may be present.
|
||||
.SH HISTORY
|
||||
A \fBclear\fP command appeared in 2.79BSD dated February 24, 1979.
|
||||
Later that was provided in Unix 8th edition (1985).
|
||||
.PP
|
||||
AT&T adapted a different BSD program (\fBtset\fP) to make
|
||||
a new command (\fBtput\fP),
|
||||
and used this to replace the \fBclear\fP command with a shell script
|
||||
which calls \fBtput clear\fP, e.g.,
|
||||
.NS
|
||||
/usr/bin/tput ${1:+-T$1} clear 2> /dev/null
|
||||
exit
|
||||
.NE
|
||||
.PP
|
||||
In 1989, when Keith Bostic revised the BSD \fBtput\fP command
|
||||
to make it similar to the AT&T \fBtput\fP,
|
||||
he added a shell script for the \fBclear\fP command:
|
||||
.NS
|
||||
exec tput clear
|
||||
.NE
|
||||
.PP
|
||||
The remainder of the script in each case is a copyright notice.
|
||||
.PP
|
||||
The ncurses \fBclear\fP command began in 1995 by adapting the original
|
||||
BSD \fBclear\fP command (with terminfo, of course).
|
||||
.PP
|
||||
The \fBE3\fP extension came later:
|
||||
.bP
|
||||
In June 1999, xterm provided an extension to the standard control
|
||||
sequence for clearing the screen.
|
||||
Rather than clearing just the visible part of the screen using
|
||||
.NS
|
||||
printf '\\033[2J'
|
||||
.NE
|
||||
.IP
|
||||
one could clear the \fIscrollback\fP using
|
||||
.NS
|
||||
printf '\\033[\fB3\fPJ'
|
||||
.NE
|
||||
.IP
|
||||
This is documented in \fIXTerm Control Sequences\fP as a feature originating
|
||||
with xterm.
|
||||
.bP
|
||||
A few other terminal developers adopted the feature, e.g., PuTTY in 2006.
|
||||
.bP
|
||||
In April 2011, a Red Hat developer submitted a patch to the Linux
|
||||
kernel, modifying its console driver to do the same thing.
|
||||
The Linux change, part of the 3.0 release, did not mention xterm,
|
||||
although it was cited in the Red Hat bug report (#683733)
|
||||
which led to the change.
|
||||
.bP
|
||||
Again, a few other terminal developers adopted the feature. But the
|
||||
next relevant step was a change to the \fBclear\fP program in 2013
|
||||
to incorporate this extension.
|
||||
.bP
|
||||
In 2013, the \fBE3\fP extension was overlooked in \fB@TPUT@\fP with
|
||||
the \*(``clear\*('' parameter.
|
||||
That was addressed in 2016 by reorganizing \fB@TPUT@\fP to share
|
||||
its logic with \fB@CLEAR@\fP and \fB@TSET@\fP.
|
||||
.SH PORTABILITY
|
||||
Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7
|
||||
(POSIX.1-2008) nor X/Open Curses Issue 7 documents @TSET@ or @RESET@.
|
||||
.PP
|
||||
The latter documents \fBtput\fP, which could be used to replace this utility
|
||||
either via a shell script or by an alias (such as a symbolic link) to
|
||||
run \fB@TPUT@\fP as \fB@CLEAR@\fP.
|
||||
.SH SEE ALSO
|
||||
\fB@TPUT@\fR(1), \fBterminfo\fR(\*n)
|
||||
.PP
|
||||
|
@ -1,8 +1,8 @@
|
||||
ncurses6 (6.0+20161112) unstable; urgency=low
|
||||
ncurses6 (6.0+20161119) unstable; urgency=low
|
||||
|
||||
* latest weekly patch
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 12 Nov 2016 10:46:51 -0500
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Nov 2016 13:20:25 -0500
|
||||
|
||||
ncurses6 (5.9-20131005) unstable; urgency=low
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
ncurses6 (6.0+20161112) unstable; urgency=low
|
||||
ncurses6 (6.0+20161119) unstable; urgency=low
|
||||
|
||||
* latest weekly patch
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 12 Nov 2016 10:46:51 -0500
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Nov 2016 13:20:25 -0500
|
||||
|
||||
ncurses6 (5.9-20131005) unstable; urgency=low
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
ncurses6 (6.0+20161112) unstable; urgency=low
|
||||
ncurses6 (6.0+20161119) unstable; urgency=low
|
||||
|
||||
* latest weekly patch
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 12 Nov 2016 10:46:51 -0500
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 19 Nov 2016 13:20:25 -0500
|
||||
|
||||
ncurses6 (5.9-20120608) unstable; urgency=low
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; $Id: mingw-ncurses.nsi,v 1.184 2016/11/12 15:46:51 tom Exp $
|
||||
; $Id: mingw-ncurses.nsi,v 1.185 2016/11/19 18:20:25 tom Exp $
|
||||
|
||||
; TODO add examples
|
||||
; TODO bump ABI to 6
|
||||
@ -10,7 +10,7 @@
|
||||
!define VERSION_MAJOR "6"
|
||||
!define VERSION_MINOR "0"
|
||||
!define VERSION_YYYY "2016"
|
||||
!define VERSION_MMDD "1112"
|
||||
!define VERSION_MMDD "1119"
|
||||
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
|
||||
|
||||
!define MY_ABI "5"
|
||||
|
@ -3,7 +3,7 @@
|
||||
Summary: shared libraries for terminal handling
|
||||
Name: mingw32-ncurses6
|
||||
Version: 6.0
|
||||
Release: 20161112
|
||||
Release: 20161119
|
||||
License: X11
|
||||
Group: Development/Libraries
|
||||
Source: ncurses-%{version}-%{release}.tgz
|
||||
|
@ -1,7 +1,7 @@
|
||||
Summary: shared libraries for terminal handling
|
||||
Name: ncurses6
|
||||
Version: 6.0
|
||||
Release: 20161112
|
||||
Release: 20161119
|
||||
License: X11
|
||||
Group: Development/Libraries
|
||||
Source: ncurses-%{version}-%{release}.tgz
|
||||
|
101
progs/tic.c
101
progs/tic.c
@ -48,7 +48,7 @@
|
||||
#include <parametrized.h>
|
||||
#include <transform.h>
|
||||
|
||||
MODULE_ID("$Id: tic.c,v 1.224 2016/10/01 12:46:54 tom Exp $")
|
||||
MODULE_ID("$Id: tic.c,v 1.225 2016/11/20 00:34:58 tom Exp $")
|
||||
|
||||
#define STDIN_NAME "<stdin>"
|
||||
|
||||
@ -1769,6 +1769,104 @@ check_params(TERMTYPE *tp, const char *name, char *value)
|
||||
}
|
||||
}
|
||||
|
||||
static bool
|
||||
line_capability(const char *name)
|
||||
{
|
||||
bool result = FALSE;
|
||||
static const char *table[] =
|
||||
{
|
||||
"csr", /* change_scroll_region */
|
||||
"clear", /* clear_screen */
|
||||
"ed", /* clr_eos */
|
||||
"cwin", /* create_window */
|
||||
"cup", /* cursor_address */
|
||||
"cud1", /* cursor_down */
|
||||
"home", /* cursor_home */
|
||||
"mrcup", /* cursor_mem_address */
|
||||
"ll", /* cursor_to_ll */
|
||||
"cuu1", /* cursor_up */
|
||||
"dl1", /* delete_line */
|
||||
"hd", /* down_half_line */
|
||||
"flash", /* flash_screen */
|
||||
"ff", /* form_feed */
|
||||
"il1", /* insert_line */
|
||||
"nel", /* newline */
|
||||
"dl", /* parm_delete_line */
|
||||
"cud", /* parm_down_cursor */
|
||||
"indn", /* parm_index */
|
||||
"il", /* parm_insert_line */
|
||||
"rin", /* parm_rindex */
|
||||
"cuu", /* parm_up_cursor */
|
||||
"mc0", /* print_screen */
|
||||
"vpa", /* row_address */
|
||||
"ind", /* scroll_forward */
|
||||
"ri", /* scroll_reverse */
|
||||
"hu", /* up_half_line */
|
||||
};
|
||||
size_t n;
|
||||
for (n = 0; n < SIZEOF(table); ++n) {
|
||||
if (!strcmp(name, table[n])) {
|
||||
result = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
static void
|
||||
check_delays(const char *name, const char *value)
|
||||
{
|
||||
const char *p, *q;
|
||||
const char *mark = 0;
|
||||
|
||||
for (p = value; *p != '\0'; ++p) {
|
||||
if (p[0] == '$' && p[1] == '<') {
|
||||
const char *base = p + 2;
|
||||
bool maybe = TRUE;
|
||||
bool mixed = FALSE;
|
||||
int proportional = 0;
|
||||
int mandatory = 0;
|
||||
|
||||
for (q = base; *q != '\0'; ++q) {
|
||||
if (*q == '>') {
|
||||
if (mark == 0)
|
||||
mark = q;
|
||||
break;
|
||||
} else if (*q == '*' || *q == '/') {
|
||||
if (*q == '*')
|
||||
++proportional;
|
||||
if (*q == '/')
|
||||
++mandatory;
|
||||
if (mark == 0)
|
||||
mark = q;
|
||||
} else if (!(isalnum(UChar(*q)) || strchr("+-.", *q) != 0)) {
|
||||
maybe = FALSE;
|
||||
break;
|
||||
} else if (proportional || mandatory) {
|
||||
mixed = TRUE;
|
||||
}
|
||||
}
|
||||
if (*q == '\0') {
|
||||
maybe = FALSE; /* just an isolated "$<" */
|
||||
} else if (maybe) {
|
||||
float check_f;
|
||||
char check_c;
|
||||
int rc = sscanf(base, "%f%c", &check_f, &check_c);
|
||||
if ((rc != 2) || (check_c != *mark) || mixed) {
|
||||
_nc_warning("syntax error in %s delay '%.*s'", name,
|
||||
(int) (q - base), base);
|
||||
} else if (*name == 'k') {
|
||||
_nc_warning("function-key %s has delay", name);
|
||||
} else if (proportional && !line_capability(name)) {
|
||||
_nc_warning("non-line capability using proportional delay: %s", name);
|
||||
}
|
||||
} else {
|
||||
p = q - 1; /* restart scan */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static char *
|
||||
check_1_infotocap(const char *name, NCURSES_CONST char *value, int count)
|
||||
{
|
||||
@ -2388,6 +2486,7 @@ check_termtype(TERMTYPE *tp, bool literal)
|
||||
char *a = tp->Strings[j];
|
||||
if (VALID_STRING(a)) {
|
||||
check_params(tp, ExtStrname(tp, (int) j, strnames), a);
|
||||
check_delays(ExtStrname(tp, (int) j, strnames), a);
|
||||
if (capdump) {
|
||||
check_infotocap(tp, (int) j, a);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user