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

[no subject]

The new version of GRINDEF has been released. I don't think I broke anything
and it seems to do some winning new things. 

In particular, the following feature has been added: Rather than using
FLATSIZE to tell the width of something, a function called GFLATSIZE1 is

GFLATSIZE1 takes two args
(1) An object 
(2) A flag which should be NIL only if the 1st args is a CDR'd list 
(ie, if it is a list whose CAR should not be treated as a functional

GFLATSIZE1 differs from FLATSIZE in that it will
(1) never call FLATSIZE except on atoms
(2) if the CAR of an atom has a GRINDFLATSIZE property, it should be a
function of 1 arg which will return a fixnum saying the size of the object.
That function may recursively call GRINDFLATSIZE1 on any of its subparts
if it desires.

` ' , ,@ all have initial GRINDFLATSIZE properties. 

This fixes the bug that caused 
'`(,a ,b ,c ,d ,e ,f ,g) 
to print vertically on an 80 char screen because it thought it didn't have
enough room to fit it horizontally. 

Additionally, GJS's '(LAMBDA (X . Y) ...) bug is fixed in this new
version of GRINDEF.