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