Subject: [clisp-list] win32 SCREEN: implementation

From: Arseny Slobodjuck <[email-masked]>
Date: Sun, 22 Jul 2001 23:06:07 +1000

Hello,

  I moved all stuff to version 2.27, where internal characters are in
  UTF-8, so some additions were required. However I can't do one
  thing, namely :

   An window-stream, used to console output should contain encoding
   information in extra field 'strm_encoding'. I'm trying to allocate
   additional memory for it in call to 'allocate_stream' and set that
   field to 'O(default_file_encoding)' for example. When I read this
   field in the call to wr_ch_window however I got something strange
   instead of encoding. Same situation with keyboard. So I moved that
   O's directly to stream processing functions.

  Diffs with 2.27 release sources are attached.

-- 
Best regards,
 Arseny

---

From: Sam Steingold <[email-masked]>
Date: 23 Jul 2001 11:46:02 -0400

> * In message <[email-masked]>
> * On the subject of "[clisp-list] win32 SCREEN: implementation"
> * Sent on Sun, 22 Jul 2001 23:06:07 +1000
> * Honorable Arseny Slobodjuck <[email-masked]> writes:
> 

you have commented out code with "TheStream(stream_)".
stream_ is a pointer to an object, not an object,
so the correct code is "TheStream(*stream_)"

>   Diffs with 2.27 release sources are attached.

Thanks.
Could you please supply a detailed ChangeLog entry?
In particular, why are you changing pathname.d?

-- 
Sam Steingold (http://www.podval.org/~sds)
Support Israel's right to defend herself! <http://www.i-charity.com/go/israel>
Read what the Arab leaders say to their people on <http://www.memri.org/>
The world will end in 5 minutes.  Please log out.

---

From: Arseny Slobodjuck <[email-masked]>
Date: Wed, 25 Jul 2001 01:12:52 +1000

Hello,

Tuesday, July 24, 2001, 1:46:02 AM, you wrote:

SS> you have commented out code with "TheStream(stream_)".
SS> stream_ is a pointer to an object, not an object,
SS> so the correct code is "TheStream(*stream_)"
thanks

SS> Could you please supply a detailed ChangeLog entry?
SS> In particular, why are you changing pathname.d?

2001-07-18  Arseny Slobodjuck <[email-masked]>

        * stream.d  [WIN32_NATIVE] (rd_ch_keyboard):
        changed test (..uAsciiChar <= ' ') to ((uintB)..uAsciiChar <= ' ')
        since uAsciiChar is signed in MSVC (!).
        'WIN' key added to translation table just to avoid 'unknown
        keyboard event' messages.
        added OEM to local charset translation and then local to internal
        (for UNICODE)
        WIN32 console output: 
        (InitConsole): GENERIC_READ is useless.
        (move_ccp_by): new function, moves cursor position
        (v_emit_spaces): helper function
        (v_put): processing Y overflow, subsequent output continues on
        the top of screen. It differs from DOS behavior where subsequent
        chars being written to bottom right of the screen (as far as I can
        see from code).
        (v_puts): new function, buffered console output.
        (wr_ch_array_window): new function instead of dummy which slowly
        works through v_put. Handles newlines and bottom of screen like 
        v_put does.
        (wr_ch_window): changed to handle UNICODE internal format
        (make_window): allocates and sets strm_encoding as
        default_file_encoding
        * pathname.d (legal_namechar)
        removed character codes 197 and 206 from illegal character code
        list as in CP1251 they are legal for pathnames. Wondering, why 
        that codes are there.
        
That what was done so far. However while I'm diving deeper into
charsets more problems appear. First, I can't access
custom:*TERMINAL-ENCODING* while custom:*PATHNAME-ENCODING* is
accessible. I didn't tried official build although.
I think encoding for keyboard input (through
*TERMINAL-IO*) and console output should be the same
(*TERMINAL-ENCODING*).

-- 
Best regards,
 Arseny                            mailto:[email-masked]

---

From: Arseny Slobodjuck <[email-masked]>
Date: Wed, 25 Jul 2001 01:21:32 +1000

Hello,

--- \2.27\ORIGINAL\init.lisp   Mon Jun 18 17:31:02 2001
+++ \2.27\CHANGED\init.lisp Wed Jul 25 01:01:42 2001
@@ -314,7 +314,7 @@
    *load-echo* *applyhook* *evalhook* *load-compiling* *compile-warnings*
    *ansi* *default-file-encoding* ; places.lisp
    #+UNICODE *misc-encoding*
-   #+UNICODE *t*germinal-encoding*
+   #+UNICODE *terminal-encoding*
    #+UNICODE *pathname-encoding*
    *source-file-types* *compiled-file-types*)
  "CUSTOM")

---

From: Sam Steingold <[email-masked]>
Date: 24 Jul 2001 15:28:31 -0400

Hi,

> * In message <[email-masked]>
> * On the subject of "Re[2]: [clisp-list] win32 SCREEN: implementation"
> * Sent on Wed, 25 Jul 2001 01:12:52 +1000
> SS>

please do not abbreviate me as "SS".
this abbreviation has certain unsavory connotations,
especially for a Jew. 
I set "X-Attribution" header _specifically_ for supersite,
which is supposed to respect it.

> SS> so the correct code is "TheStream(*stream_)"

I will wait for the next version of your patch, incorporating this.
(as well as an updated ChangeLog entry).
I suggest that you use CVS - get cygwin, it includes it.

>         list as in CP1251 they are legal for pathnames. Wondering, why 

committed - thanks.

> First, I can't access custom:*TERMINAL-ENCODING* 

yeah - I fixed it (even before you sent your patch :-)
Thanks.

-- 
Sam Steingold (http://www.podval.org/~sds)
Support Israel's right to defend herself! <http://www.i-charity.com/go/israel>
Read what the Arab leaders say to their people on <http://www.memri.org/>
An elephant is a mouse with an operating system.

---

From: Arseny Slobodjuck <[email-masked]>
Date: Wed, 25 Jul 2001 12:03:51 +1000

Hello Sam,

Wednesday, July 25, 2001, 5:28:31 AM, you wrote:

Sam> please do not abbreviate me as "SS".
Sam> I set "X-Attribution" header _specifically_ for supersite,
Sam> which is supposed to respect it.
Ok, sorry, I understand.

Sam> I will wait for the next version of your patch, incorporating this.
Sam> (as well as an updated ChangeLog entry).
Yes, I going to polish all that.