WRQ Reflection and DEC escape sequences

WRQ Reflection and DEC escape sequences

Post by VAXman- » Sat, 28 Jun 2003 02:21:59



I'm wondering if I can get some assistance from those of you using loathesome
PeeCees and the WRQ Reflection terminal emulator.

I've encountered an issue at a customer site where Reflection is used with a
number of "home-grown" "terminal graphic" menu systems.  

The problem stems from the improper formation of the DECSEL sequence (Selec-
tive erase in line).  The proper form is <ESC>[?2K.  Reflection, improperly,
responds to <ESC>[2?K.  I cannot get beyond WRQ's first line of interference
when I call them to discuss this.

Here's a simple DCL procedure to demonstrate this.  

$ SET NOVERIFY
$!++
$! Execute this procedure with one of two arguments: DECSEL or BADSEL.  

$!
$! This procedure should clear the screen and output a prompt at line
$! 15 on the screen.  Enter data such as: 1234567890 and hit <return>
$! The prompt should be redisplayed at line 15 with the previous data
$! (eg. 1234567890) cleared away.  You can then enter new data.  This
$! procedure will continue in a loop until contrl-Z is entered at the
$! prompt.
$!
$! Now, repeat this test with the argument BADSEL.

$!
$! This procedure should clear the screen and output a prompt at line
$! 15 on the screen.  Enter data such as: 1234567890 and hit <return>
$! The prompt should be redisplayed at line 15 with the previous data
$! (eg. 1234567890) still displayed.  You can then enter new data atop
$! of the previous data.  This procedure will continue in a loop until
$! an uppercase X is entered at the prompt.
$!++
$ ESC[0,8] = 27
$ WRITE SYS$OUTPUT "''ESC'[2J''ESC'[H"
$ DECSEL = "''ESC'[?2K"
$ BADSEL = "''ESC'[2?K"
$
$ WRITE SYS$OUTPUT "''ESC'[10;1H''F$fao("TEST WITH ESCAPE SEQUENCE: <ESC>!AS",F$extract(1,-1,&P1))'"
$
$ 100$:
$ READ/END=200$/PROMPT="''ESC'[0m''ESC'[15;1H''&P1'Please enter selection: " SYS$COMMAND SEL
$ WRITE SYS$OUTPUT "''ESC'[20;1HYou entered: ''SEL'"
$ GOTO 100$
$ 200$: EXIT

If you try this procedure and reproduce the problem, and it bothers you that
your Reflection is not faithfully emulating a VT, feel free to report it to
WRQ under your support agreement.

Thanks

--
VAXman- OpenVMS APE certification number: AAA-0001     VAXman(at)TMESIS(dot)COM

  "Well my son, life is like a beanstalk, isn't it?"

 
 
 

WRQ Reflection and DEC escape sequences

Post by Jan-Erik S?derhol » Sat, 28 Jun 2003 05:32:29


I get exactly the same result with both parameters.
Using "Reflection 2 for Win NT Version 5.21" (the one
with Prusik Peak in the about box...)

It gives a screen like this with both decsel and badsel :

[Start of screen, blank lines deleted]

TEST WITH ESCAPE SEQUENCE: <ESC>[2?K

Please enter selection: [this part is always cleared...]

You entered: 12345 [but here are just the "new" characters
overwritten...]

[End of screen]

But with "2" and "?" changing places.

In both cases, the prompt is rediplayed without anything after it.

Regards
Jan-Erik.


> I'm wondering if I can get some assistance from those of you using loathesome
> PeeCees and the WRQ Reflection terminal emulator.

> I've encountered an issue at a customer site where Reflection is used with a
> number of "home-grown" "terminal graphic" menu systems.

> The problem stems from the improper formation of the DECSEL sequence (Selec-
> tive erase in line).  The proper form is <ESC>[?2K.  Reflection, improperly,
> responds to <ESC>[2?K.  I cannot get beyond WRQ's first line of interference
> when I call them to discuss this.

> Here's a simple DCL procedure to demonstrate this.

> $ SET NOVERIFY
> $!++
> $! Execute this procedure with one of two arguments: DECSEL or BADSEL.

> $!
> $! This procedure should clear the screen and output a prompt at line
> $! 15 on the screen.  Enter data such as: 1234567890 and hit <return>
> $! The prompt should be redisplayed at line 15 with the previous data
> $! (eg. 1234567890) cleared away.  You can then enter new data.  This
> $! procedure will continue in a loop until contrl-Z is entered at the
> $! prompt.
> $!
> $! Now, repeat this test with the argument BADSEL.

> $!
> $! This procedure should clear the screen and output a prompt at line
> $! 15 on the screen.  Enter data such as: 1234567890 and hit <return>
> $! The prompt should be redisplayed at line 15 with the previous data
> $! (eg. 1234567890) still displayed.  You can then enter new data atop
> $! of the previous data.  This procedure will continue in a loop until
> $! an uppercase X is entered at the prompt.
> $!++
> $ ESC[0,8] = 27
> $ WRITE SYS$OUTPUT "''ESC'[2J''ESC'[H"
> $ DECSEL = "''ESC'[?2K"
> $ BADSEL = "''ESC'[2?K"
> $
> $ WRITE SYS$OUTPUT "''ESC'[10;1H''F$fao("TEST WITH ESCAPE SEQUENCE: <ESC>!AS",F$extract(1,-1,&P1))'"
> $
> $ 100$:
> $ READ/END=200$/PROMPT="''ESC'[0m''ESC'[15;1H''&P1'Please enter selection: " SYS$COMMAND SEL
> $ WRITE SYS$OUTPUT "''ESC'[20;1HYou entered: ''SEL'"
> $ GOTO 100$
> $ 200$: EXIT

> If you try this procedure and reproduce the problem, and it bothers you that
> your Reflection is not faithfully emulating a VT, feel free to report it to
> WRQ under your support agreement.

> Thanks

> --
> VAXman- OpenVMS APE certification number: AAA-0001     VAXman(at)TMESIS(dot)COM

>   "Well my son, life is like a beanstalk, isn't it?"


 
 
 

WRQ Reflection and DEC escape sequences

Post by norm.raph.. » Sat, 28 Jun 2003 04:33:36


I'm not sure what's supposed to occur here.
I get a prompt on line 15, fill in some numbers after it, they redisplay on
line 20, then the prompt
redisplays without the numbers.  When I enter a new string of numbers, it
redisplays over what
was on  line 20, not clearing any numbers at the end if my second string
was shorter.

12345 shows 12345
132  then shows 13245

This happens with either DECSEL or DECBAD on my emulators.

Is this what you predict?  for error or for no error?




cc:

Subject:    WRQ Reflection and DEC escape sequences

I'm wondering if I can get some assistance from those of you using
loathesome
PeeCees and the WRQ Reflection terminal emulator.

I've encountered an issue at a customer site where Reflection is used with
a
number of "home-grown" "terminal graphic" menu systems.

The problem stems from the improper formation of the DECSEL sequence
(Selec-
tive erase in line).  The proper form is <ESC>[?2K.  Reflection,
improperly,
responds to <ESC>[2?K.  I cannot get beyond WRQ's first line of
interference
when I call them to discuss this.

Here's a simple DCL procedure to demonstrate this.

$ SET NOVERIFY
$!++
$! Execute this procedure with one of two arguments: DECSEL or BADSEL.

$!
$! This procedure should clear the screen and output a prompt at line
$! 15 on the screen.  Enter data such as: 1234567890 and hit <return>
$! The prompt should be redisplayed at line 15 with the previous data
$! (eg. 1234567890) cleared away.  You can then enter new data.  This
$! procedure will continue in a loop until contrl-Z is entered at the
$! prompt.
$!
$! Now, repeat this test with the argument BADSEL.

$!
$! This procedure should clear the screen and output a prompt at line
$! 15 on the screen.  Enter data such as: 1234567890 and hit <return>
$! The prompt should be redisplayed at line 15 with the previous data
$! (eg. 1234567890) still displayed.  You can then enter new data atop
$! of the previous data.  This procedure will continue in a loop until
$! an uppercase X is entered at the prompt.
$!++
$ ESC[0,8] = 27
$ WRITE SYS$OUTPUT "''ESC'[2J''ESC'[H"
$ DECSEL = "''ESC'[?2K"
$ BADSEL = "''ESC'[2?K"
$
$ WRITE SYS$OUTPUT "''ESC'[10;1H''F$fao("TEST WITH ESCAPE SEQUENCE:
<ESC>!AS",F$extract(1,-1,&P1))'"
$
$ 100$:
$ READ/END=200$/PROMPT="''ESC'[0m''ESC'[15;1H''&P1'Please enter selection:
" SYS$COMMAND SEL
$ WRITE SYS$OUTPUT "''ESC'[20;1HYou entered: ''SEL'"
$ GOTO 100$
$ 200$: EXIT

If you try this procedure and reproduce the problem, and it bothers you
that
your Reflection is not faithfully emulating a VT, feel free to report it to
WRQ under your support agreement.

Thanks

--
VAXman- OpenVMS APE certification number: AAA-0001
VAXman(at)TMESIS(dot)COM

  "Well my son, life is like a beanstalk, isn't it?"

 
 
 

WRQ Reflection and DEC escape sequences

Post by VAXman- » Sat, 28 Jun 2003 09:01:15



>I'm not sure what's supposed to occur here.
>I get a prompt on line 15, fill in some numbers after it, they redisplay on
>line 20, then the prompt
>redisplays without the numbers.  When I enter a new string of numbers, it
>redisplays over what
>was on  line 20, not clearing any numbers at the end if my second string
>was shorter.

>12345 shows 12345
>132  then shows 13245

>This happens with either DECSEL or DECBAD on my emulators.

>Is this what you predict?  for error or for no error?

Norm, no real VTs?

The BADSEL is improper and should NOT delete the characters after the prompt.
On a VT (I've tested VT220, VT320, a DECterm and VT525), the BADSEL will have
the prior data remain on the prompt line.  

--
VAXman- OpenVMS APE certification number: AAA-0001     VAXman(at)TMESIS(dot)COM

  "Well my son, life is like a beanstalk, isn't it?"

 
 
 

WRQ Reflection and DEC escape sequences

Post by dool » Sat, 28 Jun 2003 09:50:49



> I'm wondering if I can get some assistance from those of you using loathesome
> PeeCees and the WRQ Reflection terminal emulator.

> I've encountered an issue at a customer site where Reflection is used with a
> number of "home-grown" "terminal graphic" menu systems.  

> The problem stems from the improper formation of the DECSEL sequence (Selec-
> tive erase in line).  The proper form is <ESC>[?2K.  Reflection, improperly,
> responds to <ESC>[2?K.  I cannot get beyond WRQ's first line of interference
> when I call them to discuss this.

> If you try this procedure and reproduce the problem, and it bothers you that
> your Reflection is not faithfully emulating a VT, feel free to report it to
> WRQ under your support agreement.

Unfortunately using Reflection 8.00.076 both escape sequences are interpreted
in the "correct" way, maybe [2?K was retained for compatibility reasons.
Phil
 
 
 

WRQ Reflection and DEC escape sequences

Post by Paul William » Sat, 28 Jun 2003 19:24:10



> I've encountered an issue at a customer site where Reflection is
> used with a number of "home-grown" "terminal graphic" menu systems.

> The problem stems from the improper formation of the DECSEL sequence
> (Selective erase in line).  The proper form is <ESC>[?2K.
> Reflection, improperly, responds to <ESC>[2?K.  I cannot get
> beyond WRQ's first line of interference when I call them to discuss
> this.

Although I agree that treating <ESC>[2?K as DECSEL is incorrect[1],
isn't the customer's application fault more important? After all, if
their application produces this malformed sequence, the application
could never have worked on DEC VTs.

[1] Insomniacs can read http://vt100.net/emu/dec_ansi_parser for the
details of DEC's treatment of incorrect sequences.

- Paul

 
 
 

WRQ Reflection and DEC escape sequences

Post by VAXman- » Sat, 28 Jun 2003 20:09:00




>> I've encountered an issue at a customer site where Reflection is
>> used with a number of "home-grown" "terminal graphic" menu systems.

>> The problem stems from the improper formation of the DECSEL sequence
>> (Selective erase in line).  The proper form is <ESC>[?2K.
>> Reflection, improperly, responds to <ESC>[2?K.  I cannot get
>> beyond WRQ's first line of interference when I call them to discuss
>> this.

>Although I agree that treating <ESC>[2?K as DECSEL is incorrect[1],
>isn't the customer's application fault more important? After all, if
>their application produces this malformed sequence, the application
>could never have worked on DEC VTs.

The customer's application is wrong as well but was led down the wrong path
by this incorrect behavior in Reflection.  The problem is that an applica-
tion that I provide finds this sequence "offensive" because it is not pro-
perly formed to the DECSEL format (<ESC>[? parameter K).  

--
VAXman- OpenVMS APE certification number: AAA-0001     VAXman(at)TMESIS(dot)COM

  "Well my son, life is like a beanstalk, isn't it?"