1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
<head>
<title>Manual Page</title>
</head>
<body>
<pre>
<a href="enhance.html"><b>enhance</b></a> <a href="enhance.html"><b>enhance</b></a>
</pre><h2>NAME</h2><pre>
enhance - A program that adds command-line editing to third party pro-
grams.
</pre><h2>SYNOPSIS</h2><pre>
enhance command [ argument ... ]
</pre><h2>DESCRIPTION</h2><pre>
The enhance program provides enhanced command-line editing facilities
to users of third party applications, to which one doesn't have any
source code. It does this by placing a pseudo-terminal between the
application and the real terminal. It uses the tecla command-line edit-
ing library to read input from the real terminal, then forwards each
just completed input line to the application via the pseudo-terminal.
All output from the application is forwarded back unchanged to the real
terminal.
Whenever the application stops generating output for more than a tenth
of a second, the enhance program treats the latest incomplete output
line as the prompt, and redisplays any incompleted input line that the
user has typed after it. Note that the small delay, which is impercep-
tible to the user, isn't necessary for correct operation of the pro-
gram. It is just an optimization, designed to stop the input line from
being redisplayed so often that it slows down output.
Note that the user-level command-line editing facilities provided by
the Tecla library are documented in the <a href="tecla.html"><b>tecla</b></a> man page
</pre><h2>DEFICIENCIES</h2><pre>
The one major problem that hasn't been solved yet, is how to deal with
applications that change whether typed input is echo'd by their con-
trolling terminal. For example, programs that ask for a password, such
as ftp and telnet, temporarily tell their controlling terminal not to
echo what the user types. Since this request goes to the application
side of the psuedo terminal, the enhance program has no way of knowing
that this has happened, and continues to echo typed input to its con-
trolling terminal, while the user types their password.
Furthermore, before executing the host application, the enhance program
initially sets the pseudo terminal to noecho mode, so that everything
that it sends to the program doesn't get redundantly echoed. If a pro-
gram that switches to noecho mode explicitly restores echoing after-
wards, rather than restoring the terminal modes that were previously in
force, then subsequently, every time that you enter a new input line, a
duplicate copy will be displayed on the next line.
</pre><h2>FILES</h2><pre>
libtecla.a - The tecla library.
~/.teclarc - The tecla personal customization file.
</pre><h2>SEE ALSO</h2><pre>
<a href="tecla.html"><b>tecla</b></a>, <a href="libtecla.html"><b>libtecla</b></a>
</pre><h2>AUTHOR</h2><pre>
Martin Shepherd (mcs@astro.caltech.edu)
<a href="enhance.html"><b>enhance</b></a>
</pre>
</body>
|