8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / man / man1 / enhance.1
blob8a18e37304d58cbfa909eb1c05cbef32a7b06810
1 '\" te
2 .\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH ENHANCE 1 "May 18, 2004"
7 .SH NAME
8 enhance \- enhanced command-line editing facilities
9 .SH SYNOPSIS
10 .LP
11 .nf
12 \fBenhance\fR \fIcommand\fR [\fIargument\fR]...
13 .fi
15 .SH DESCRIPTION
16 .sp
17 .LP
18 The \fBenhance\fR program provides enhanced command-line editing facilities to
19 users of third party applications, to which one doesn't have any source code.
20 It does this by placing a pseudo-terminal between the application and the real
21 terminal. It uses the \fBtecla\fR command-line editing library to read input
22 from the real terminal, then forwards each just completed input line to the
23 application via the pseudo-terminal. All output from the application is
24 forwarded back unchanged to the real terminal.
25 .sp
26 .LP
27 Whenever the application stops generating output for more than a tenth of a
28 second, the enhance program treats the latest incomplete output line as the
29 prompt, and re-displays any incompleted input line that the user has typed
30 after it. The small delay, which is imperceptible to the user, isn't necessary
31 for correct operation of the program. It is just an optimization, designed to
32 stop the input line from being re-displayed so often that it slows down output.
33 .sp
34 .LP
35 The user-level command-line editing facilities provided by the Tecla library
36 are documented in the \fBtecla\fR(5) man page
37 .SS "DEFICIENCIES"
38 .sp
39 .LP
40 The one major problem that hasn't been solved yet, is how to deal with
41 applications that change whether typed input is echo'd by their controlling
42 terminal. For example, programs that ask for a password, such as \fBftp\fR and
43 \fBtelnet\fR, temporarily tell their controlling terminal not to echo what the
44 user types. Since this request goes to the application side of the pseudo
45 terminal, the enhance program has no way of knowing that this has happened, and
46 continues to echo typed input to its controlling terminal, while the user types
47 their password.
48 .sp
49 .LP
50 Furthermore, before executing the host application, the enhance program
51 initially sets the pseudo terminal to \fBnoecho\fR mode, so that everything
52 that it sends to the program doesn't get redundantly echoed. If a program that
53 switches  to \fBnoecho\fR mode explicitly restores  echoing afterwards, rather
54 than restoring the terminal modes that were previously in force, then
55 subsequently, every time that you enter a new input line, a duplicate copy will
56 be displayed on the next line.
57 .SH FILES
58 .sp
59 .ne 2
60 .na
61 \fB\fB/usr/lib/libtecla.so\fR\fR
62 .ad
63 .RS 24n
64 \fBtecla\fR library
65 .RE
67 .sp
68 .ne 2
69 .na
70 \fB\fB~/.teclarc\fR\fR
71 .ad
72 .RS 24n
73 \fBtecla\fR personal customization file.
74 .RE
76 .SH ATTRIBUTES
77 .sp
78 .LP
79 See \fBattributes\fR(5) for descriptions of the following attributes:
80 .sp
82 .sp
83 .TS
84 box;
85 c | c
86 l | l .
87 ATTRIBUTE TYPE  ATTRIBUTE VALUE
89 Interface Stability     Evolving
90 .TE
92 .SH SEE ALSO
93 .sp
94 .LP
95 \fBlibtecla\fR(3LIB), \fBattributes\fR(5), \fBtecla\fR(5)