enhance

enhance(1)                  General Commands Manual                 enhance(1)



NAME
       enhance - A program that adds command-line editing to third party
       programs.

SYNOPSIS
       enhance command [ argument ... ]


DESCRIPTION
       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
       editing 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
       imperceptible to the user, isn't necessary for correct operation of the
       program. 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 tecla(7) man page


DEFICIENCIES
       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
       controlling 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
       controlling 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
       program that switches to noecho mode explicitly restores echoing
       afterwards, 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.


FILES
       libtecla.a    -   The tecla library.
       ~/.teclarc    -   The tecla personal customization file.


SEE ALSO
       tecla(7), libtecla(3)


AUTHOR
       Martin Shepherd  (mcs@astro.caltech.edu)



                                                                    enhance(1)