[Info-vax] VMS Features I Wish Linux Had

Johnny Billquist bqt at softjar.se
Wed Jun 15 05:24:54 EDT 2016


On 2016-06-15 00:27, David Froble wrote:
> VAXman- @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:
>>>> 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?
>>
>
> Well, I had this simple program laying around, and used it as an example.
>
> 10      Input "Temp F"; t
>         GoTo 99 Unless t <> 0.
>
>         c = ( t - 32 ) * 5 / 9
>         Print c
>
>         GoTo 10
>
> 99      End
>
> Ready
>
> run
> TEMP    14-JUN-2016 18:24
>
> Temp F? 123
> DFE90A::DFE 18:24:13 BASIC     CPU=00:00:01.28 PF=2638 IO=789 MEM=1140
> Temp F? 423
>  217.222
>
> Note, I typed 123, then a ^T to get on a new line to leave the 123
> there, then 3 left arrows and a 4.  The data ended up being 423.  Is
> that what's being asked?

Right. And this works because it is in the terminal driver. People are 
arguing that it should not be there, in which case your example would 
stop working. I would consider that to be a bad thing. Other here are 
arguing that this would be a good thing, and that if you want to have 
line editing in your program, you should link to SMG$ routines, and do 
your reading through there, or possibly some other library, like GNUs 
readline library. Or possibly doing callbacks to your CLI...

While I have been disagreeing with that view, and keep saying that I 
think the terminal driver is the correct place for this functionality to 
sit. Just as terminal echoing and handling of rubout, and other basic 
editing should be in the terminal driver, and not be implemented in 
every program. But I seem to be very alone in that view.

	Johnny




More information about the Info-vax mailing list