[Info-vax] VMS Features I Wish Linux Had

Paul Sture nospam at sture.ch
Sun Jun 19 06:59:32 EDT 2016


On 2016-06-15, Johnny Billquist <bqt at softjar.se> wrote:
> On 2016-06-14 22:37, VAXman- at SendSpamHere.ORG wrote:
>> In article <njphlo$sa6$1 at Iltempo.Update.UU.SE>, Johnny Billquist <bqt at softjar.se> writes:
>>> On 2016-06-14 12:35, VAXman- at SendSpamHere.ORG wrote:
>>>> In article <njoicg$lv7$2 at Iltempo.Update.UU.SE>, Johnny Billquist <bqt at softjar.se> writes:
>>>>> On 2016-06-13 21:36, VAXman- at SendSpamHere.ORG wrote:
>>>>>> In VMS, what do you think processes command lines?  Assuming you're using
>>>>>> the VMS CLI callback in yor program(s).  If it's just stupid unix-line -X
>>>>>> switches, etc., then you're on your own.
>>>>>
>>>>> Uh... What if I do a read in my program...? How would CLI editing come
>>>>> into play there? Are you suggesting that all terminal I/O should be done
>>>>> by callbacks to the CLI instead of issuing a QIO?
>>>>
>>>> Explain?  A 'read' of what? ...from where?
>>>
>>> A read of a string, from a terminal, to a program.
>>>
>>> In BASIC:
>>>
>>> LINPUT FOO$
>>>
>>> In MACRO-11:
>>>
>>> QIOW$S  #IO.RLB,#TILUN,#TIEFN,,#IOSB,,<#BUF,#BUFSIZ>
>>>
>>> In C:
>>>
>>> fgets(buffer, bufsiz, stdin);
>>>
>>> In FORTRAN-77:
>>>
>>>     READ(5,10) STR
>>> 10  FORMAT(1A80)
>>>
>>>
>>> It should not be that hard to get. ;-)
>>
>> And those things don't work?  Sure they do but where is there any
>> implication that you should be able to edit the input in those?
>
> Jeez. I have only been writing something like 20 posts now where I say
> that I want to have line editing at all times. Under which rock were
> you hiding?

Ex-IBM folks were asking about field editing within VMS applications in
the early '80s, simply because they'd had it on block mode terminals.

The first iteration a colleague provided was sorta-kinda like vi's
insert mode.  To be frank, a bit too fiddly.  The next iteration came
(I think) courtesy of SMG and was much easier.

SMG capability was incorporated into COBOL. E.g.

accept f-name
    from line 10 column 21
    protected with editing
    default is current
    at end
        stop run.

The "with editing" clause is all you need. (The "protected" clause
limits the input to the size of the field.)

-- 
There are two hard things in computer science, and they are cache invalidation,
naming, and off-by-one errors.



More information about the Info-vax mailing list