[Info-vax] VMS Features I Wish Linux Had

Johnny Billquist bqt at softjar.se
Thu Jun 16 07:58:38 EDT 2016


On 2016-06-16 11:57, VAXman- at SendSpamHere.ORG wrote:
> In article <njtqt3$r4l$1 at Iltempo.Update.UU.SE>, Johnny Billquist <bqt at softjar.se> writes:
>> On 2016-06-15 20:26, Chris Scheers wrote:
>>> Stephen Hoffman wrote:
>>>> On 2016-06-15 11:57:06 +0000,   VAXman-  @SendSpamHere.ORG said:
>>>>
>>>>> THere IS line editing in the terminal driver but it's limited.
>>>>> Extending that to 'vi' and 'emacs' capabilities is NOT appropriate in
>>>>> the terminal driver.  Put it where it belongs!
>>>>
>>>> What most folks would want is some flexibility around editing command
>>>> input, allowing vim or emacs or (since this is OpenVMS) EDT-compatible
>>>> cursor control.
>>>>
>>>> http://www.catonmat.net/blog/bash-vi-editing-mode-cheat-sheet/
>>>>
>>>> The cursor handling is inherently going to be part of the driver (and
>>>> also sensitive to the character encoding), whether the command history
>>>> or recall buffer or the rest is part of the driver or is implemented
>>>> elsewhere is an implementation detail.  If OpenVMS ever went onto Mach
>>>> (past that prototype from many years ago), this handling could be in a
>>>> process somewhere, for instance, and for all anybody using it cared.
>>>>
>>>> Akin to the lack of FUSE support within the OpenVMS I/O and file
>>>> system implementation on OpenVMS, there's also no input character
>>>> handling layer on OpenVMS.
>>>
>>> It sounds like what is being asked for is something like an ACP (class
>>> driver?) for character I/O.
>>>
>>> Let the low level driver do driver stuff and move the bytes between the
>>> hardware and the machine.
>>>
>>> Let the "ACP" layer handle editing and formatting and provide
>>> consistency to all programs.
>>>
>>> Many "SET TERMINAL" settings would be handled in the "ACP".  You could
>>> even add settings to specify "vi", "emacs", "VMS", etc. line editing.
>>>
>>> I think this is what Steve means by "input character handling layer",
>>> but I would extend it beyond input to also include output formatting,
>>> command history, etc.
>>
>> Yes! That is a good concept. And in fact, this is what RSX has, and
>> there it is called an ACD - Ancilliary Control Driver. It hooks into the
>> terminal driver at certain points in the processing for both input and
>> output.
>>
>> The interface is not as clean as an ACP, as this is not something that
>> can be handled at the QIO system call level, but is processing that
>> needs to happen for individual characters as they are entered, or
>> strings when they are output, which can happen for other reasons than a
>> QIO as well.
>
> $ MCR TFU HELP ABOUT_TFF
>
>                    Terminal Fallback Facility (TFF)
>
>     The  VMS  Terminal  Fallback  Facility  (TFF)  provides table-driven
>     character   conversion   for   terminals.  The  conversion  is  done
>     transparent   to  the  application  (unnoticed  by  the  application
>     software  unless  explicit  inquiries  are  made).  You  can  choose
>     character conversion tables from a master character library, located
>     on the VMS system disk in:
>
>     SYS$SYSTEM:TFF$MASTER.DAT
>
>     This  library  contains  all  the character tables supported by TFF.
>     Conversions  can  be  one character to many on output to a terminal,
>     and one to one on input from a terminal.
>
>     TFF   can   also  perform  character  compose  emulation  on  input.
>     Furthermore, you can control which keys are auto-compose keys.
>
>     One  of  the  applications  of  TFF  is to allow users with National
>     Replacement  Character (NRC) set terminals to use software developed
>     with   the   Digital  Multinational  Character  Set  (MCS).  MCS  is
>     essentially  the  ASCII  character set plus 128 characters currently
>     used by owners of NRC terminals around the world.
>
>     In addition,  TFF  also  allows  users  to  use 16-bit character set
>     terminals,  such as  DOOSAN  Code  and  Telex  Code  Asian  language
>     terminals, for software developed  with  the Asian Language National
>     Standard Character Set.

That sounds really promising, except for one detail. The lack of one to 
many byte translations on input.

And I guess it's just a translation function, and cannot run any code at 
those points in time. Which probably would be needed if you wanted to 
implement something more complex, such as line editing.

	Johnny




More information about the Info-vax mailing list