Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #55164 > unrolled thread

Is GForth KEY really ANS Forth standard?

Started bylehs <skydda.barnen@gmail.com>
First post2017-02-27 01:51 -0800
Last post2017-02-27 21:24 +0100
Articles 20 on this page of 121 — 16 participants

Back to article view | Back to comp.lang.forth


Contents

  Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-27 01:51 -0800
    Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-27 02:35 -0800
      Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-27 02:46 -0800
        Re: Is GForth KEY really ANS Forth standard? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-27 17:38 +0000
        Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-02-27 14:12 -0500
      Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-27 04:42 -0800
      Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-27 08:58 -0800
        Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-02-27 14:15 -0500
          Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-27 11:51 -0800
            Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-02-27 15:17 -0500
              Re: Is GForth KEY really ANS Forth standard? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-28 09:02 +0000
                Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-02-28 19:15 -0500
                  Re: Is GForth KEY really ANS Forth standard? albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-03-01 02:23 +0100
                    Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-02-28 20:57 -0500
                      Re: Is GForth KEY really ANS Forth standard? albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-03-01 13:24 +0100
                        Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-03-01 14:23 -0500
                    Re: Is GForth KEY really ANS Forth standard? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-03-01 08:50 +0000
                      Re: Is GForth KEY really ANS Forth standard? Cecil Bayona <cbayona@cbayona.com> - 2017-03-01 10:04 -0600
                      Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-03-01 14:51 -0500
                        Re: Is GForth KEY really ANS Forth standard? Mark Wills <markwills1970@gmail.com> - 2017-03-01 13:00 -0800
                        Re: Is GForth KEY really ANS Forth standard? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-03-02 15:34 +0000
                  Re: Is GForth KEY really ANS Forth standard? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-03-01 18:09 +0000
                    Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-03-01 14:55 -0500
                      Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-03-01 21:28 -0800
                        Re: Is GForth KEY really ANS Forth standard? Julian Fondren <julian.fondren@gmail.com> - 2017-03-01 22:23 -0800
                          Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-03-02 00:21 -0800
                            Re: Is GForth KEY really ANS Forth standard? Paul Rubin <no.email@nospam.invalid> - 2017-03-02 01:01 -0800
                              Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-03-02 01:30 -0800
                                Re: Is GForth KEY really ANS Forth standard? Paul Rubin <no.email@nospam.invalid> - 2017-03-02 01:46 -0800
                                  Re: Is GForth KEY really ANS Forth standard? Mark Wills <markwills1970@gmail.com> - 2017-03-02 02:41 -0800
                              Re: Is GForth KEY really ANS Forth standard? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-03-02 11:01 +0000
                    Re: Is GForth KEY really ANS Forth standard? Paul Rubin <no.email@nospam.invalid> - 2017-03-01 13:48 -0800
                Re: Is GForth KEY really ANS Forth standard? antispam@math.uni.wroc.pl - 2017-03-04 04:02 +0000
                  Re: Is GForth KEY really ANS Forth standard? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-03-04 12:29 +0000
              Re: Is GForth KEY really ANS Forth standard? Paul Rubin <no.email@nospam.invalid> - 2017-02-28 03:24 -0800
                Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-28 04:14 -0800
        Re: Is GForth KEY really ANS Forth standard? Coos Haak <htrofhc@gmail.com> - 2017-02-27 21:50 +0100
          Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-27 13:48 -0800
            Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-02-27 17:41 -0500
              Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-27 15:07 -0800
                Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-02-27 19:03 -0500
                  Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-27 23:10 -0800
                    Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-02-28 03:29 -0500
                      Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-28 01:28 -0800
                        Re: Is GForth KEY really ANS Forth standard? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-28 09:58 +0000
                          Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-28 02:37 -0800
                            Re: Is GForth KEY really ANS Forth standard? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-28 12:46 +0000
                              Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-28 05:01 -0800
                        Re: Is GForth KEY really ANS Forth standard? albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-02-28 12:46 +0100
                          Re: Is GForth KEY really ANS Forth standard? Mikael Nordman <oh2aun@gmail.com> - 2017-02-28 03:52 -0800
                            Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-28 04:10 -0800
                    Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-28 05:48 -0800
                Re: Is GForth KEY really ANS Forth standard? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-28 10:07 +0000
                  Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-28 02:42 -0800
                  Re: Is GForth KEY really ANS Forth standard? Mark Wills <markwills1970@gmail.com> - 2017-02-28 02:44 -0800
                    Re: Is GForth KEY really ANS Forth standard? Coos Haak <htrofhc@gmail.com> - 2017-02-28 12:13 +0100
                      Re: Is GForth KEY really ANS Forth standard? Mark Wills <markwills1970@gmail.com> - 2017-02-28 05:10 -0800
                  Re: Is GForth KEY really ANS Forth standard? john <anon@example.com> - 2017-02-28 12:12 +0000
          Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-27 13:51 -0800
    Re: Is GForth KEY really ANS Forth standard? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-27 15:38 +0000
      Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-02-27 10:13 -0800
        Re: Is GForth KEY really ANS Forth standard? Julian Fondren <julian.fondren@gmail.com> - 2017-02-27 11:15 -0800
        Re: Is GForth KEY really ANS Forth standard? hughaguilar96@gmail.com - 2017-03-03 12:04 -0800
          Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-03-03 17:30 -0500
            Re: Is GForth KEY really ANS Forth standard? Alex <alex@rivadpm.com> - 2017-03-03 23:13 +0000
              Re: Is GForth KEY really ANS Forth standard? Cecil Bayona <cbayona@cbayona.com> - 2017-03-03 18:02 -0600
                Re: Is GForth KEY really ANS Forth standard? Alex <alex@rivadpm.com> - 2017-03-04 01:12 +0000
                  Re: Is GForth KEY really ANS Forth standard? Julian Fondren <julian.fondren@gmail.com> - 2017-03-03 19:12 -0800
                    Re: Is GForth KEY really ANS Forth standard? Julian Fondren <julian.fondren@gmail.com> - 2017-03-03 19:23 -0800
                    Re: Is GForth KEY really ANS Forth standard? hughaguilar96@gmail.com - 2017-03-05 18:45 -0800
                      Re: Is GForth KEY really ANS Forth standard? hughaguilar96@gmail.com - 2017-03-05 18:54 -0800
                      Re: Is GForth KEY really ANS Forth standard? Julian Fondren <julian.fondren@gmail.com> - 2017-03-05 20:47 -0800
                        Re: Is GForth KEY really ANS Forth standard? Alex <alex@rivadpm.com> - 2017-03-06 09:20 +0000
                        Re: Is GForth KEY really ANS Forth standard? hughaguilar96@gmail.com - 2017-03-06 05:04 -0800
                          Re: Is GForth KEY really ANS Forth standard? Alex <alex@rivadpm.com> - 2017-03-06 14:07 +0000
                            Re: Is GForth KEY really ANS Forth standard? hughaguilar96@gmail.com - 2017-03-06 06:36 -0800
                              Re: Is GForth KEY really ANS Forth standard? Alex <alex@rivadpm.com> - 2017-03-06 15:04 +0000
                                Re: Is GForth KEY really ANS Forth standard? hughaguilar96@gmail.com - 2017-03-07 07:38 -0800
                                Re: Is GForth KEY really ANS Forth standard? hughaguilar96@gmail.com - 2017-03-07 07:56 -0800
                                  Re: Is GForth KEY really ANS Forth standard? Mark Wills <markwills1970@gmail.com> - 2017-03-07 08:07 -0800
                                    Re: Is GForth KEY really ANS Forth standard? Julian Fondren <julian.fondren@gmail.com> - 2017-03-07 08:37 -0800
                                      Re: Is GForth KEY really ANS Forth standard? Alex <alex@rivadpm.com> - 2017-03-08 15:41 +0000
                                        Re: Is GForth KEY really ANS Forth standard? hughaguilar96@gmail.com - 2017-03-09 01:13 -0800
                                          Re: Is GForth KEY really ANS Forth standard? Alex <alex@rivadpm.com> - 2017-03-09 13:03 +0000
                                    Re: Is GForth KEY really ANS Forth standard? julian.fondren@endurance.com - 2017-03-07 08:36 -0800
                                      Re: Is GForth KEY really ANS Forth standard? albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-03-07 19:02 +0100
                                    Re: Is GForth KEY really ANS Forth standard? alex@rivadpm.com - 2017-03-08 06:08 -0800
                                    Re: Is GForth KEY really ANS Forth standard? hughaguilar96@gmail.com - 2017-03-09 00:46 -0800
                                      Re: Is GForth KEY really ANS Forth standard? Alex <alex@rivadpm.com> - 2017-03-09 12:39 +0000
                                      Re: Is GForth KEY really ANS Forth standard? Alex <alex@rivadpm.com> - 2017-03-09 12:42 +0000
                                        Re: Is GForth KEY really ANS Forth standard? hughaguilar96@gmail.com - 2017-03-09 23:13 -0800
                                  Re: Is GForth KEY really ANS Forth standard? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-03-08 14:34 +0000
                                  Re: Is GForth KEY really ANS Forth standard? Alex <alex@rivadpm.com> - 2017-03-08 15:33 +0000
                                    Re: Is GForth KEY really ANS Forth standard? Alex <alex@rivadpm.com> - 2017-03-08 15:45 +0000
                                    Re: Is GForth KEY really ANS Forth standard? hughaguilar96@gmail.com - 2017-03-08 22:48 -0800
                      Re: Is GForth KEY really ANS Forth standard? Alex <alex@rivadpm.com> - 2017-03-06 09:28 +0000
                        Re: Is GForth KEY really ANS Forth standard? hughaguilar96@gmail.com - 2017-03-06 05:22 -0800
                          Re: Is GForth KEY really ANS Forth standard? Alex <alex@rivadpm.com> - 2017-03-06 14:25 +0000
                            Re: Is GForth KEY really ANS Forth standard? hughaguilar96@gmail.com - 2017-03-06 06:46 -0800
                              Re: Is GForth KEY really ANS Forth standard? Alex <alex@rivadpm.com> - 2017-03-06 15:43 +0000
                                Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-03-06 09:55 -0800
                          Re: Is GForth KEY really ANS Forth standard? Cecil Bayona <cbayona@cbayona.com> - 2017-03-06 11:04 -0600
                            Re: Is GForth KEY really ANS Forth standard? hughaguilar96@gmail.com - 2017-03-07 07:44 -0800
                              Re: Is GForth KEY really ANS Forth standard? Cecil Bayona <cbayona@cbayona.com> - 2017-03-07 10:50 -0600
                                Re: Is GForth KEY really ANS Forth standard? john <anon@example.com> - 2017-03-08 11:30 +0000
                                  Re: Is GForth KEY really ANS Forth standard? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-03-08 13:37 +0000
                                    Re: Is GForth KEY really ANS Forth standard? Alex <alex@rivadpm.com> - 2017-03-08 14:14 +0000
                                    Re: Is GForth KEY really ANS Forth standard? albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-03-08 15:16 +0100
                                      Re: Is GForth KEY really ANS Forth standard? john <anon@example.com> - 2017-03-08 16:14 +0000
                                    Re: Is GForth KEY really ANS Forth standard? john <anon@example.com> - 2017-03-08 14:49 +0000
                          Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-03-09 10:57 -0500
                Re: Is GForth KEY really ANS Forth standard? hughaguilar96@gmail.com - 2017-03-05 18:22 -0800
            Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-03-04 10:48 -0800
              Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-03-04 21:00 -0500
                Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-03-05 02:24 -0800
                  Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-03-05 16:44 -0500
              Re: Is GForth KEY really ANS Forth standard? Julian Fondren <julian.fondren@gmail.com> - 2017-03-04 20:02 -0800
                Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-03-04 23:34 -0500
                Re: Is GForth KEY really ANS Forth standard? lehs <skydda.barnen@gmail.com> - 2017-03-05 02:38 -0800
                  Re: Is GForth KEY really ANS Forth standard? rickman <gnuarm@gmail.com> - 2017-03-05 16:55 -0500
      Re: Is GForth KEY really ANS Forth standard? albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-02-27 21:24 +0100

Page 1 of 7  [1] 2 3 4 5 6 7  Next page →


#55164 — Is GForth KEY really ANS Forth standard?

Fromlehs <skydda.barnen@gmail.com>
Date2017-02-27 01:51 -0800
SubjectIs GForth KEY really ANS Forth standard?
Message-ID<77617cde-2fa9-45f9-8b91-8c95e1a2416d@googlegroups.com>
The DPANS document says:

"Receive one character char, a member of the implementation-defined character set. Keyboard events that do not correspond to such characters are discarded until a valid character is received, and those events are subsequently unavailable.

All standard characters can be received. Characters received by KEY are not displayed."

GForth KEY do not discard 'arrow up' but return 27 on the stack and emits '[A'. That might be good but is it really ANS Forth?

Words like KEY and EMIT must be exactly the same on any system. Else portability is an illusion.

[toc] | [next] | [standalone]


#55168

Fromlehs <skydda.barnen@gmail.com>
Date2017-02-27 02:35 -0800
Message-ID<5a4378d3-30e0-4ac9-83ce-404467f14d51@googlegroups.com>
In reply to#55164
It seems that I could solve the problem by redefine KEY, if at least the sequence EKEY EKEY>CHAR works as in standard.

: key \ -- char
  begin ekey ekey>char 0=
  while drop
  repeat ;

GForth is great, but not portable.

[toc] | [prev] | [next] | [standalone]


#55169

Fromlehs <skydda.barnen@gmail.com>
Date2017-02-27 02:46 -0800
Message-ID<f92748e9-a018-4fbd-85c5-9370da11ebcf@googlegroups.com>
In reply to#55168
Den måndag 27 februari 2017 kl. 11:35:16 UTC+1 skrev lehs:
> It seems that I could solve the problem by redefine KEY, if at least the sequence EKEY EKEY>CHAR works as in standard.
> 
> : key \ -- char
>   begin ekey ekey>char 0=
>   while drop
>   repeat ;
> 
> GForth is great, but not portable.

I can redefine key this way in any Forth with EKEY and EKEY>CHAR, but there is still a problem with GForth: EKEY and KEY gives 127 (del) when pressing backspace. The ascii standard should be 8.

[toc] | [prev] | [next] | [standalone]


#55191

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2017-02-27 17:38 +0000
Message-ID<2017Feb27.183829@mips.complang.tuwien.ac.at>
In reply to#55169
lehs <skydda.barnen@gmail.com> writes:
>I can redefine key this way in any Forth with EKEY and EKEY>CHAR, but there=
> is still a problem with GForth: EKEY and KEY gives 127 (del) when pressing=
> backspace. The ascii standard should be 8.

If your terminal is configured to produce DEL when pressing that key,
you get DEL.  If it is configured to produce BS, then you get BS.
This is like CR vs. LF.

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2016: http://www.euroforth.org/ef16/

[toc] | [prev] | [next] | [standalone]


#55194

Fromrickman <gnuarm@gmail.com>
Date2017-02-27 14:12 -0500
Message-ID<o91tjv$59m$1@dont-email.me>
In reply to#55169
On 2/27/2017 5:46 AM, lehs wrote:
> Den måndag 27 februari 2017 kl. 11:35:16 UTC+1 skrev lehs:
>> It seems that I could solve the problem by redefine KEY, if at least the sequence EKEY EKEY>CHAR works as in standard.
>>
>> : key \ -- char
>>   begin ekey ekey>char 0=
>>   while drop
>>   repeat ;
>>
>> GForth is great, but not portable.
>
> I can redefine key this way in any Forth with EKEY and EKEY>CHAR, but there is still a problem with GForth: EKEY and KEY gives 127 (del) when pressing backspace. The ascii standard should be 8.

Ah, a Linux newbie no doubt.  Delete vs. Backspace is the very first 
thing that hit me in the face when I used Unix.

This is not about gForth, this is about Unix and you will find it is 
*very* portable, lol.

-- 

Rick C

[toc] | [prev] | [next] | [standalone]


#55176

Fromlehs <skydda.barnen@gmail.com>
Date2017-02-27 04:42 -0800
Message-ID<9b09cc28-ceff-4872-9600-8994a8334190@googlegroups.com>
In reply to#55168
Den måndag 27 februari 2017 kl. 11:35:16 UTC+1 skrev lehs:
> It seems that I could solve the problem by redefine KEY, if at least the sequence EKEY EKEY>CHAR works as in standard.
> 
> : key \ -- char
>   begin ekey ekey>char 0=
>   while drop
>   repeat ;
> 
> GForth is great, but not portable.

This works for most cases also in GForth, for example for arrow keys, but unfortunately not for ctrl arrow keys.  :/

[toc] | [prev] | [next] | [standalone]


#55185

Fromlehs <skydda.barnen@gmail.com>
Date2017-02-27 08:58 -0800
Message-ID<76716195-c67a-466d-912d-06dab1eb8046@googlegroups.com>
In reply to#55168
Den måndag 27 februari 2017 kl. 11:35:16 UTC+1 skrev lehs:
> It seems that I could solve the problem by redefine KEY, if at least the sequence EKEY EKEY>CHAR works as in standard.
> 
> : key \ -- char
>   begin ekey ekey>char 0=
>   while drop
>   repeat ;
> 
> GForth is great, but not portable.

This KEY works in:

GForth Android 32 bit
Gforth Windows 32 bit
SP-Forth Windows 32 bit
SwiftForth if defining  : ekey>char dup 128 u< ;

But it does not work in GForth Windows 64 bit for 'ctrl arrow'.
Unfortunately I can't load Win32Forth no longer.

[toc] | [prev] | [next] | [standalone]


#55195

Fromrickman <gnuarm@gmail.com>
Date2017-02-27 14:15 -0500
Message-ID<o91to1$59m$2@dont-email.me>
In reply to#55185
On 2/27/2017 11:58 AM, lehs wrote:
> Den måndag 27 februari 2017 kl. 11:35:16 UTC+1 skrev lehs:
>> It seems that I could solve the problem by redefine KEY, if at least the sequence EKEY EKEY>CHAR works as in standard.
>>
>> : key \ -- char
>>   begin ekey ekey>char 0=
>>   while drop
>>   repeat ;
>>
>> GForth is great, but not portable.
>
> This KEY works in:
>
> GForth Android 32 bit
> Gforth Windows 32 bit
> SP-Forth Windows 32 bit
> SwiftForth if defining  : ekey>char dup 128 u< ;
>
> But it does not work in GForth Windows 64 bit for 'ctrl arrow'.
> Unfortunately I can't load Win32Forth no longer.

You keep saying things don't work but don't say what it does.  What do 
you expect it to do and what is it doing?

-- 

Rick C

[toc] | [prev] | [next] | [standalone]


#55201

Fromlehs <skydda.barnen@gmail.com>
Date2017-02-27 11:51 -0800
Message-ID<6b69f6d7-ceb6-4fc7-b647-d94d174397d3@googlegroups.com>
In reply to#55195
Den måndag 27 februari 2017 kl. 20:15:02 UTC+1 skrev rickman:
> On 2/27/2017 11:58 AM, lehs wrote:
> > Den måndag 27 februari 2017 kl. 11:35:16 UTC+1 skrev lehs:
> >> It seems that I could solve the problem by redefine KEY, if at least the sequence EKEY EKEY>CHAR works as in standard.
> >>
> >> : key \ -- char
> >>   begin ekey ekey>char 0=
> >>   while drop
> >>   repeat ;
> >>
> >> GForth is great, but not portable.
> >
> > This KEY works in:
> >
> > GForth Android 32 bit
> > Gforth Windows 32 bit
> > SP-Forth Windows 32 bit
> > SwiftForth if defining  : ekey>char dup 128 u< ;
> >
> > But it does not work in GForth Windows 64 bit for 'ctrl arrow'.
> > Unfortunately I can't load Win32Forth no longer.
> 
> You keep saying things don't work but don't say what it does.  What do 
> you expect it to do and what is it doing?
> 
> -- 
> 
> Rick C

I have never used Unix and Unix has nothing to do with the Forth standard which says that KEY should respons on certain keystrokes and give the ascii values. Nothing should be emitted. As I showed above the GForth non standard emitting of escape codes could be circumvented using EKEY EKEY>CHAR on most combinations of Forth except 64 bit GForth for Windows, which insist sending escape codes when pressing ctrl up/down/left/right - instead of only putting a single value on the stack.

Well, then I know, some Forth put Unix terminals before the ANS standard.

[toc] | [prev] | [next] | [standalone]


#55203

Fromrickman <gnuarm@gmail.com>
Date2017-02-27 15:17 -0500
Message-ID<o921df$lmj$1@dont-email.me>
In reply to#55201
On 2/27/2017 2:51 PM, lehs wrote:
> Den måndag 27 februari 2017 kl. 20:15:02 UTC+1 skrev rickman:
>> On 2/27/2017 11:58 AM, lehs wrote:
>>> Den måndag 27 februari 2017 kl. 11:35:16 UTC+1 skrev lehs:
>>>> It seems that I could solve the problem by redefine KEY, if at least the sequence EKEY EKEY>CHAR works as in standard.
>>>>
>>>> : key \ -- char
>>>>   begin ekey ekey>char 0=
>>>>   while drop
>>>>   repeat ;
>>>>
>>>> GForth is great, but not portable.
>>>
>>> This KEY works in:
>>>
>>> GForth Android 32 bit
>>> Gforth Windows 32 bit
>>> SP-Forth Windows 32 bit
>>> SwiftForth if defining  : ekey>char dup 128 u< ;
>>>
>>> But it does not work in GForth Windows 64 bit for 'ctrl arrow'.
>>> Unfortunately I can't load Win32Forth no longer.
>>
>> You keep saying things don't work but don't say what it does.  What do
>> you expect it to do and what is it doing?
>>
>> --
>>
>> Rick C
>
> I have never used Unix and Unix has nothing to do with the Forth standard which says that KEY should respons on certain keystrokes and give the ascii values. Nothing should be emitted. As I showed above the GForth non standard emitting of escape codes could be circumvented using EKEY EKEY>CHAR on most combinations of Forth except 64 bit GForth for Windows, which insist sending escape codes when pressing ctrl up/down/left/right - instead of only putting a single value on the stack.
>
> Well, then I know, some Forth put Unix terminals before the ANS standard.

What you seem to not understand is that a Forth program running under 
and OS is at the mercy of the OS.  In Linux it is not uncommon to use 
key mapping that swaps Delete and Backspace.  Don't ask me why anyone 
would want to do this, but it is outside of what Forth can do.  If the 
OS hands Forth a Del character when the Backspace key is pressed, how is 
Forth supposed to know the key was remapped?

I don't know why these key remappings are not uncommon under Unix. 
Under Windows you can do the same thing, but it is done very, very seldom.

-- 

Rick C

[toc] | [prev] | [next] | [standalone]


#55246

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2017-02-28 09:02 +0000
Message-ID<2017Feb28.100259@mips.complang.tuwien.ac.at>
In reply to#55203
rickman <gnuarm@gmail.com> writes:
>In Linux it is not uncommon to use 
>key mapping that swaps Delete and Backspace.

Swapping is unusual.  I find that my <Backspace> key produces a DEL
character, and my <Del> key produces an Escape sequence.

>I don't know why these key remappings are not uncommon under Unix. 

My guess is that there were terminals where <Backspace> produced BS
and there were terminals where it produced DEL.  Standardizing that
functionality properly was too hard (or they were not brave enough to
do it), so they put the burden on the application programmers to make
their programs work with both setups (often by making the program
configurable), and on the users to actually configure the configurable
programs consistently.  I had problems with that for a long time, but
have not had it in the last 15 years or so; looking at my config
files, it looks like the default setup now works consistently (and I
removed most of the non-default configurations at some point).

The lesson for Forth standardization: For many issues where there is a
question of how to deal with it (especially for things where equally
valid solutions exist), there is the suggestion to make the issue
configurable in the standard, so that someone else (Who?  The
application programmer?  The end user?) can choose the solution he
prefers.  The configurable backspace key shows that this approach only
leads to a mess.

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2016: http://www.euroforth.org/ef16/

[toc] | [prev] | [next] | [standalone]


#55282

Fromrickman <gnuarm@gmail.com>
Date2017-02-28 19:15 -0500
Message-ID<o953np$hd8$1@dont-email.me>
In reply to#55246
On 2/28/2017 4:02 AM, Anton Ertl wrote:
> rickman <gnuarm@gmail.com> writes:
>> In Linux it is not uncommon to use
>> key mapping that swaps Delete and Backspace.
>
> Swapping is unusual.  I find that my <Backspace> key produces a DEL
> character, and my <Del> key produces an Escape sequence.

The first time I used Linux professionally there were programs that 
drove me nuts because the keys were swapped.  This was not a system wide 
thing, it was different for different programs.  I was told it had to do 
with the initialization of the window which it would appear is unique 
for each program run.

Your example above shows what would be considered non-standard in many 
apps.  A backspace key normally is considered to generate a cntl-H 
character.  Why on earth does it make sense to produce a DEL (delete)?


>> I don't know why these key remappings are not uncommon under Unix.
>
> My guess is that there were terminals where <Backspace> produced BS
> and there were terminals where it produced DEL.

Terminals???  You mean separate hardware connected over a serial port? 
I've never seen one that sent anything other than a cntl-H from the 
backspace key and a DEL from the delete key (if it had one).


> Standardizing that
> functionality properly was too hard (or they were not brave enough to
> do it), so they put the burden on the application programmers to make
> their programs work with both setups (often by making the program
> configurable), and on the users to actually configure the configurable
> programs consistently.  I had problems with that for a long time, but
> have not had it in the last 15 years or so; looking at my config
> files, it looks like the default setup now works consistently (and I
> removed most of the non-default configurations at some point).

The swapping was *not* done in the program.  I believe it was in the 
terminal settings of the window the program was running in.


> The lesson for Forth standardization: For many issues where there is a
> question of how to deal with it (especially for things where equally
> valid solutions exist), there is the suggestion to make the issue
> configurable in the standard, so that someone else (Who?  The
> application programmer?  The end user?) can choose the solution he
> prefers.  The configurable backspace key shows that this approach only
> leads to a mess.
>
> - anton
>


-- 

Rick C

[toc] | [prev] | [next] | [standalone]


#55286

Fromalbert@cherry.spenarnc.xs4all.nl (Albert van der Horst)
Date2017-03-01 02:23 +0100
Message-ID<o957qb$3ik$1@cherry.spenarnc.xs4all.nl>
In reply to#55282
In article <o953np$hd8$1@dont-email.me>, rickman  <gnuarm@gmail.com> wrote:
>On 2/28/2017 4:02 AM, Anton Ertl wrote:
>
>Your example above shows what would be considered non-standard in many
>apps.  A backspace key normally is considered to generate a cntl-H
>character.  Why on earth does it make sense to produce a DEL (delete)?

It is the difference between a paper tty and a glass tty.
Paper tty's had backspace keys, like typewriters in order to be
able to type twice (to get bold), or go back and overstrike to
get special effects, or to overstrike with more force to correct.
Paper tty's inherited that, but the key already was used to correct
the commands given to the computer, so it was used as a rubout.
For glass tty it didn't make sense because the "paper" is constantly
reused, and any character that previous was there went home with the
electrons. Now the only function remained, that is to delete any wrong
characters already sent from the computers buffer.
With the VT50 the "delete" key was born.

The terminal part tended to become more and more independant and
smarter. With the commodore 64 you could select a part of the screen
and used that as input. With modern Unix like systems, you can
select a text with the left mouse button, then send it with the middle
button. (Unless killed by misguided Windows compatibility.)

>Rick C

Groetjes Albert
-- 
Albert van der Horst, UTRECHT,THE NETHERLANDS
Economic growth -- being exponential -- ultimately falters.
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst

[toc] | [prev] | [next] | [standalone]


#55288

Fromrickman <gnuarm@gmail.com>
Date2017-02-28 20:57 -0500
Message-ID<o959lp$v66$1@dont-email.me>
In reply to#55286
On 2/28/2017 8:23 PM, Albert van der Horst wrote:
> In article <o953np$hd8$1@dont-email.me>, rickman  <gnuarm@gmail.com> wrote:
>> On 2/28/2017 4:02 AM, Anton Ertl wrote:
>>
>> Your example above shows what would be considered non-standard in many
>> apps.  A backspace key normally is considered to generate a cntl-H
>> character.  Why on earth does it make sense to produce a DEL (delete)?
>
> It is the difference between a paper tty and a glass tty.
> Paper tty's had backspace keys, like typewriters in order to be
> able to type twice (to get bold), or go back and overstrike to
> get special effects, or to overstrike with more force to correct.
> Paper tty's inherited that, but the key already was used to correct
> the commands given to the computer, so it was used as a rubout.
> For glass tty it didn't make sense because the "paper" is constantly
> reused, and any character that previous was there went home with the
> electrons. Now the only function remained, that is to delete any wrong
> characters already sent from the computers buffer.
> With the VT50 the "delete" key was born.
>
> The terminal part tended to become more and more independant and
> smarter. With the commodore 64 you could select a part of the screen
> and used that as input. With modern Unix like systems, you can
> select a text with the left mouse button, then send it with the middle
> button. (Unless killed by misguided Windows compatibility.)

I can't say I follow your explanation.  After researching this I see the 
use of backspace and delete are not nearly universal.  Different 
operating systems use the keys and characters differently.  This is not 
just a DOS/Windows vs. Unix thing.  I read that on Macs they have TWO 
delete keys, one for backspace and one for delete.

-- 

Rick C

[toc] | [prev] | [next] | [standalone]


#55297

Fromalbert@cherry.spenarnc.xs4all.nl (Albert van der Horst)
Date2017-03-01 13:24 +0100
Message-ID<o96eig$686$1@cherry.spenarnc.xs4all.nl>
In reply to#55288
In article <o959lp$v66$1@dont-email.me>, rickman  <gnuarm@gmail.com> wrote:
>On 2/28/2017 8:23 PM, Albert van der Horst wrote:

>I can't say I follow your explanation.  After researching this I see the
>use of backspace and delete are not nearly universal.  Different
>operating systems use the keys and characters differently.  This is not
>just a DOS/Windows vs. Unix thing.  I read that on Macs they have TWO
>delete keys, one for backspace and one for delete.

You use the term delete in an Microsoft idiomatic way.
That means delete forward: the character that the cursor sits on.
That is beyond paper or glass tty's. It assumes that you've a
screen full of characters and you can wander about it at will
using cursor keys.
That came later.

>Rick C

Groetjes Albert
-- 
Albert van der Horst, UTRECHT,THE NETHERLANDS
Economic growth -- being exponential -- ultimately falters.
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst

[toc] | [prev] | [next] | [standalone]


#55321

Fromrickman <gnuarm@gmail.com>
Date2017-03-01 14:23 -0500
Message-ID<o9770a$vsm$5@dont-email.me>
In reply to#55297
On 3/1/2017 7:24 AM, Albert van der Horst wrote:
> In article <o959lp$v66$1@dont-email.me>, rickman  <gnuarm@gmail.com> wrote:
>> On 2/28/2017 8:23 PM, Albert van der Horst wrote:
>
>> I can't say I follow your explanation.  After researching this I see the
>> use of backspace and delete are not nearly universal.  Different
>> operating systems use the keys and characters differently.  This is not
>> just a DOS/Windows vs. Unix thing.  I read that on Macs they have TWO
>> delete keys, one for backspace and one for delete.
>
> You use the term delete in an Microsoft idiomatic way.
> That means delete forward: the character that the cursor sits on.
> That is beyond paper or glass tty's. It assumes that you've a
> screen full of characters and you can wander about it at will
> using cursor keys.
> That came later.

There are only two possibilities for a delete function, delete the 
character behind the cursor or the one ahead.  Backspace clearly does 
one, so by default delete should do the other.

I have seen this *literally* reversed in Unix systems where backspace 
deletes ahead and delete removes the previous character.  Is there logic 
in that somewhere?

-- 

Rick C

[toc] | [prev] | [next] | [standalone]


#55293

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2017-03-01 08:50 +0000
Message-ID<2017Mar1.095004@mips.complang.tuwien.ac.at>
In reply to#55286
albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) writes:
>It is the difference between a paper tty and a glass tty.
>Paper tty's had backspace keys, like typewriters in order to be
>able to type twice (to get bold), or go back and overstrike to
>get special effects, or to overstrike with more force to correct.

In particular, on a (paper) teletype there was no way to erase
something that was already printed.

The ASCII code DEL (all bits set) comes from paper tape and card
punchers: If you mistyped, you typed DEL, and it would punch across
the mistyped character, and the character would be overwritten by DEL.
When reading the card/tape, any encountered DEL would be ignored.

In glass ttys you could really delete, but not overstrike (at least
not in general), so both ASCII codes were free for new (although
related) meanings.

Interestingly, looking at the VT100 keyboard, it had a Backspace key
at approximately the current position, but in between two other keys,
and a Delete key to the right of the upper part of the Return key
(where the "\" key is on a modern US-layout keyboard).

My guess is that the VT100 sent BS when you typed BS, and DEL when you
typed Delete, and various programs assigned different functions to
these codes.

Then we got the VT220 keyboard (LK201), which was pretty close to a
modern PC keyboard (except that it's Return key is more like on a
GB-layout PC keyboard), with a <x| key where the PC keyboard has the
Backspace key, and a Select key where a PC keyboard has Delete, and an
"F12 (BS)" key.  The <x| key apparently produced DEL, and that's why
the Linux console (according to
<http://www.ibb.net/~anne/keyboard/keyboard.html>) set up Backspace to
produce DEL and, in modern Linux distributions, xterm and other X
applications do the same by default.  Supposedly the VT220 sent an
escape sequence when the Delete key was pressed, but I don't see a
Delete key on the VT220 keyboards I find in the WWW.

Some more info can be found on
<http://www.kermitproject.org/backspace.html>.

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2016: http://www.euroforth.org/ef16/

[toc] | [prev] | [next] | [standalone]


#55304

FromCecil Bayona <cbayona@cbayona.com>
Date2017-03-01 10:04 -0600
Message-ID<o96r9r$k3q$1@dont-email.me>
In reply to#55293
On 3/1/2017 2:50 AM, Anton Ertl wrote:
> albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) writes:
>> It is the difference between a paper tty and a glass tty.
>> Paper tty's had backspace keys, like typewriters in order to be
>> able to type twice (to get bold), or go back and overstrike to
>> get special effects, or to overstrike with more force to correct.
>
> In particular, on a (paper) teletype there was no way to erase
> something that was already printed.
>
> The ASCII code DEL (all bits set) comes from paper tape and card
> punchers: If you mistyped, you typed DEL, and it would punch across
> the mistyped character, and the character would be overwritten by DEL.
> When reading the card/tape, any encountered DEL would be ignored.
>
> In glass ttys you could really delete, but not overstrike (at least
> not in general), so both ASCII codes were free for new (although
> related) meanings.
>
> Interestingly, looking at the VT100 keyboard, it had a Backspace key
> at approximately the current position, but in between two other keys,
> and a Delete key to the right of the upper part of the Return key
> (where the "\" key is on a modern US-layout keyboard).
>
> My guess is that the VT100 sent BS when you typed BS, and DEL when you
> typed Delete, and various programs assigned different functions to
> these codes.
>
> Then we got the VT220 keyboard (LK201), which was pretty close to a
> modern PC keyboard (except that it's Return key is more like on a
> GB-layout PC keyboard), with a <x| key where the PC keyboard has the
> Backspace key, and a Select key where a PC keyboard has Delete, and an
> "F12 (BS)" key.  The <x| key apparently produced DEL, and that's why
> the Linux console (according to
> <http://www.ibb.net/~anne/keyboard/keyboard.html>) set up Backspace to
> produce DEL and, in modern Linux distributions, xterm and other X
> applications do the same by default.  Supposedly the VT220 sent an
> escape sequence when the Delete key was pressed, but I don't see a
> Delete key on the VT220 keyboards I find in the WWW.
>
> Some more info can be found on
> <http://www.kermitproject.org/backspace.html>.
>
> - anton
>
Memories, I had a homemade TV Typewriter for a while and later bought a 
Televideo 950 terminal, it had switches that determined how some of 
these keys function and also allowed for various terminal emulations. It 
was huge, paper white, and looked great, those were the old days with a 
Z80 CPM system, later running a customized Cromemco CDOS system which 
was a vast improvement over CPM.

-- 
Cecil - k5nwa

[toc] | [prev] | [next] | [standalone]


#55324

Fromrickman <gnuarm@gmail.com>
Date2017-03-01 14:51 -0500
Message-ID<o978l4$8h0$1@dont-email.me>
In reply to#55293
On 3/1/2017 3:50 AM, Anton Ertl wrote:
> albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) writes:
>> It is the difference between a paper tty and a glass tty.
>> Paper tty's had backspace keys, like typewriters in order to be
>> able to type twice (to get bold), or go back and overstrike to
>> get special effects, or to overstrike with more force to correct.
>
> In particular, on a (paper) teletype there was no way to erase
> something that was already printed.
>
> The ASCII code DEL (all bits set) comes from paper tape and card
> punchers: If you mistyped, you typed DEL, and it would punch across
> the mistyped character, and the character would be overwritten by DEL.
> When reading the card/tape, any encountered DEL would be ignored.

Wouldn't you first need to backspace to reposition the tape?


> In glass ttys you could really delete, but not overstrike (at least
> not in general), so both ASCII codes were free for new (although
> related) meanings.
>
> Interestingly, looking at the VT100 keyboard, it had a Backspace key
> at approximately the current position, but in between two other keys,
> and a Delete key to the right of the upper part of the Return key
> (where the "\" key is on a modern US-layout keyboard).
>
> My guess is that the VT100 sent BS when you typed BS, and DEL when you
> typed Delete, and various programs assigned different functions to
> these codes.

Don't guess... from 
http://www.macfreek.nl/memory/Backspace_and_Delete_key_reversed

I have to assume it is accurate.  I'm only willing to do so much digging.


*************************
VT100

Originally, VT100 defined the keymapping:
Keystroke 	Glyph on keyboard 	ASCII Character(s) 	TTY representation 
Expected application behaviour
Control-H 		BS (8, 0x08) 	^H 	Erase to the left
Backspace 	⌫ 	DEL (127, 0x7F) 	^? 	Erase to the right

So the delete key was undefined and not the backspace key but control-H 
was mapped to the BS (backspace) character. How convenient.
Xterm

The X-term emulation of VT100 did it differently:
Keystroke 	Glyph on keyboard 	ASCII Character(s) 	TTY representation 
Expected application behaviour
Control-H 		BS (8, 0x08) 	^H 	Erase to the left
Backspace 	⌫ 	BS (8, 0x08) 	^H 	Erase to the left
Delete 	⌦ 	DEL (127, 0x7F) 	^? 	Erase to the right

This is slightly more logical, and the advantage was that the mapping of 
TTY character to application behaviour did not have to be changed.
VT220

The disadvantage of the X-term behaviour was that control-H could not be 
used by applications just like other control-shortcuts by GUI 
applications (e.g. control-F for find, or perhaps control-H for help).

For this reason, the behaviour was changed again, to the following 
mapping, which is now the default in most Linux distributions:
Keystroke 	Glyph on keyboard 	ASCII Character(s) 	TTY representation 
Expected application behaviour
Control-H 		BS (8, 0x08) 	^H 	(Passed on to application)
Backspace 	⌫ 	DEL (127, 0x7F) 	^? 	Erase to the left
Delete 	⌦ 	ESC (27, 0x1B) + [3~ ("\e[3~") 	^[[3~ 	Erase to the right

The disadvantage of the change is of course that both the TTY keymapping 
as well as the default application behaviour had to be changed.
*************************

The page goes on to indicate the VT220 mappings should be used for 
maximum compatibility.


> Then we got the VT220 keyboard (LK201), which was pretty close to a
> modern PC keyboard (except that it's Return key is more like on a
> GB-layout PC keyboard), with a <x| key where the PC keyboard has the
> Backspace key, and a Select key where a PC keyboard has Delete, and an
> "F12 (BS)" key.  The <x| key apparently produced DEL, and that's why
> the Linux console (according to
> <http://www.ibb.net/~anne/keyboard/keyboard.html>) set up Backspace to
> produce DEL and, in modern Linux distributions, xterm and other X
> applications do the same by default.  Supposedly the VT220 sent an
> escape sequence when the Delete key was pressed, but I don't see a
> Delete key on the VT220 keyboards I find in the WWW.
>
> Some more info can be found on
> <http://www.kermitproject.org/backspace.html>.

It is as messy as RS-232 itself.

-- 

Rick C

[toc] | [prev] | [next] | [standalone]


#55330

FromMark Wills <markwills1970@gmail.com>
Date2017-03-01 13:00 -0800
Message-ID<60440aff-5362-484f-9c24-d1dd2f9b467a@googlegroups.com>
In reply to#55324
Hey! Leave RS232 out of this :-)

[toc] | [prev] | [next] | [standalone]


Page 1 of 7  [1] 2 3 4 5 6 7  Next page →

Back to top | Article view | comp.lang.forth


csiph-web