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

Re: CHPROP problems

    0) There is no function for turning a character into a fixnum...

As I understand it, a character is a "record" containing three
components; it is supposed to be invisible to portable programs how
these fields get combined into a character.  So the portable set of
functions ought not include such a function as you want; if you did
this operation, your program would become non-portable.  I may
be confused though.

    1) There is no need for functions CHAR<, CHAR=, CHAR>.
    The functions <, = and > should be used for this,

I'd like this too; are the NIL people willing to make this work in the
VAX and S-1 implementations, or would it slow things down badly?

    4) The convention of a package called "*" seems like
    a bad idea.  I don't think the Lisp machine will adopt it.

I don't like this either, but I would be willing to put a hack into
the package system if it is absolutely necessary for NIL compatibility.
But I think the choice of "*:" was not very good, especially since we
already had the package system at the time it was chosen.

    5) Right now on the Lisp machine there is one sort of
    character which can have bits and another which can
    have a font.  There is no sort which can have both.
    It might be an improvement if there were, but it might
    also be a lot of work.  This might prevent the Lisp machine
    from adopting CHPROP.

This is quite explicitly mentioned in CHPROP; did you read all of it?
Any code that works by using the %%KBD codes rather than magic
constants will not have any trouble; we just redefine those codes.
I volunteer to try to find the places that don't use that...