home | help
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 applica-
     tion 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  opti-
     mization,	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 ap-
     plications 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  subse-
     quently,  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)

home | help