Newsgroups: comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!yeshua.marcam.com!usc!sdd.hp.com!heifetz.msen.com!zib-berlin.de!uniol!Johannes.Leveling
From: Johannes.Leveling@arbi.informatik.uni-oldenburg.de (Johannes Leveling)
Subject: SCM problems
Organization: University of Oldenburg, Germany
Date: Tue, 18 Oct 1994 10:25:17 GMT
Message-ID: <1994Oct18.103450.27768@arbi.Informatik.Uni-Oldenburg.DE>
Keywords: Problems with SCM
Sender: news@arbi.Informatik.Uni-Oldenburg.DE
Lines: 81

Hello out there,

I have come along some strange problems switching from PCS to SCM
(PC386 / MS-DOS / DJGPP) :

1) (read-char) and (char-ready) :
   
   i) To me the read-char procedure does not seem to work right.
      Under PCS (read-char) returned "0" as first value and 'buffered' a
      "H" when pressing cursor-up.
      SCM does not return at all when pressing a key and expects a return
      after each read-char (so SCM reads two chars). 
      SCM returns "(" and "\n" after (read-char)(read-char).
      (different to PCS, too).
      Besides, SCM reacts differently when using curses.
      Could anyone give me an explanation ?

   ii) Why is (char-ready?) not available under DJGPP ?
       (I guess there's some machine-dependant code in it,
       but i didn't find any).
   iii) PCS's (read-char) is seemingly not equl to SCM's ?
        
2) quote :

   i) Try this :
       (define 'x 1) ; unusual ? YES.
       -> #<unspecified>
       (quote 2)
       -> 1
       x
       -> error ...
   
   ii) Or this :
        (define x '')
        -> warning unexpected ')' ; ok I know that
        ...    ; type a symbol
        -> error

   Now what does that mean, getting multiple values ;-)
   warning AND error ?

3) curses :
   
   i) Try :
       (close-port window)
       -> ...
       window
       -> <closed-input-output-port window>

      Should this port not be garbage-collected ?
      Will it be collected ?
      (To my amazement, PCS reacted similarly.)
   
   ii) Try :
        (close-port current-...-port)
        -> ; guess what
        
        Should this not be checked ?
        (same with current-error-port, current-input-port)

   iii) Backspace does not seem to work right.
        (is there a connection to my (read-char) problem 
        mentioned above ?)

   iv) I found out that adding a call wrefresh() 
       in bwwrite() in crs.c before "return num;" forces the output 
       immediately to the window instead of waiting for a call to
       (force-output) (or something else)
       Was SCM intended to delay output to a window ?

Could anyone answer me that questions ?

Anyone interested in using/testing (simple) mouse support for
SCM (DOS only) ?

BTW, SCM and its add-ups are excellent work !
-- 
-------------------------------------------
email : Johannes.Leveling@Informatik.Uni-Oldenburg.DE
phone : 0441 / 82183
smail : J. Leveling, Sonnenstr.32, Germany-26123 Oldenburg
