[comp.os.vms] multi-level command history

winalski@psw.DEC.COM (Paul S. Winalski) (06/26/87)

Steve Summit asks how DCL, DEBUG, CMS, etc. implement command recall.

There are no hidden, undocumented goodies in the terminal driver needed to
accomplish this.  The terminal driver itself only remembers the very last
line that it read.  The 20-line recall buffer is kept within DCL itself.
DCL does not use the terminal driver recall feature--it recognizes ^B and
the up and down arrow keys itself and displays the appropriate line from its
own internal recall buffer.

DEBUG, CMS, et al use RTL routine SMG$READ_COMPOSED_LINE to do their terminal
input.  SMG$READ_COMPOSED_LINE does the same sort of roll-its-own recall buffer
that DCL does.  Any utility that uses SMG$READ_COMPOSED_LINE automatically
gets the recall buffer feature (default of 20 lines, changeable when you create
your SMG virtual keyboard).

--PSW