[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New window syste

I have seen examples of some people's new window system code, and have
noticed a very common occurance -- the mixing of old and new window system
symbols in the same piece of code.  This works now, because both window
systems are loaded into the new window system world, but will not work
as soon as we build a new window system only version, which will probably
be system 30.  In order to insure not falling into this trap, there is
a very simple rule: Any symbol beginning with TV- belongs to the old window
system, and about 98% of new window system variables are in the TV package.
Therefore, in some trivial cases replacing TV- with TV: does the trick
(e.g. TV-ALU-IOR --> TV:ALU-IOR).  For some things it's harder.  The
class of primitives (TV-DRAW-LINE, TV-DRAW-CHAR, TV-ERASE) have
analogs in the new window system, but these should not be used.  In most
cases, they want to be replaced with messages sent to the window
of interest (which might be TERMINAL-IO if no window is being used
explicitly).  The messages are :DRAW-LINE, :DRAW-CHAR, and :DRAW-RECTANGLE,
respectivly.  [Note: some of these messages only appear in worlds
later than 29.27 -- if you need them, though, I can point you at a file to

In the latter case, the reason for not using the primitives directly are
too detailed to get into here, but I'd of course be happy to explain
it to anyone who is interested.  I am also available for small amounts of
help in converting your system -- especially getting started.