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

Control characters in # macro.



    Date: 10 September 1979 11:08-EDT
    From: Carl W. Hoffman <CWH at MIT-MC>
    Subject: Control characters in # macro.
    To: GLS at MIT-MC, KMP at MIT-MC, NIL at MIT-MC, BUG-LISP at MIT-MC,
        ALAN at MIT-AI
    
        Date: 10 September 1979 03:58-EDT
        From: Alan Bawden <ALAN at MIT-AI>
        The MacLisp #/C would return 303 not 3 since thats the bit
        that is set if you try and hack keyboards with control and
        meta.  MacLisp also has a #^<char> that uppercases <char>
        and then xors it with 100 so that #^C is 3 (as is #^c) and
        #^? is rubout. This is sometimes usefull in MacLisp but
        never in LispMachine lisp, and I don't know about NIL. 
    
    Well, this isn't right.  One of the motivations for using #/ and #\ is
    to be independent of the character set of the particular system being used.
    Clearly, #\RUBOUT should read as 207 on the Lisp Machine and in QCMP, and
    as 177 in MacLisp.  The same should be true of "control" characters.  In
    MacLisp, though, they could read as ascii characters or in the ITS 12-bit
    character set.
No.  Anything that uses the ascii control characters cannot be independent
of character set, since Lisp machine lisp does not even have them.
If a program needs to use #^ in Maclisp, no amount of syntax will make
it work unchanged on the Lisp machine.