again, the following holds as far as I understood it ..
The matter is this: you can write e.g.
void plastic blue
blue sphere b_sphere
void plastic blue
blue polygon b_polygon
then the sphere will be made of the first blue, the polygon out of the second. You have only one time the name blue, but two material objects which are affected if 'blue' is to be excluded.
Now no one would do this in the way I described it, but think of putting together a scene by xforming several inputfiles together. A typical case are luminaire description files, usually you have a 'brightdata', a brightdata-modified 'light', and then the geometry, say a 'ring' or a 'polygon'. If you model a 10 times 10 array of these luminaires on a ceiling, and xform luminaire.rad a hundred times into your scene, you will have 100 instances of the 'brightdata' and the 'light' material also, i.e. a hundred 'light' material objects with the same name.
So the amount by which MAXASET needs to be bigger than the name list is in fact not determined, but depends upon how often the same material name appears in your input files. And the MAXFLEN sets the file size for the exclude list, and thus depend a bit on your names (there is another limit, a name string can be maximal 128 characters long, so the current MAXFLEN allows e.g 64 128-character long words
(who names materials with 128 character words ???) .
In other words, if you specify a material name only once in your scene input, you needn't bother about MAXASET and MAXFLEN, only augment the amblist length.
Yes, it would be easier if this max. list length could be set by one define somewhere. But I guess the topic simply was considered of minor importance, as in 99.99% of all cases maybe one or two materials are excluded. The weird thing about all this is that this minor detail causes some headache on the programming side...
The downside from a longer list is probably negligible. You have to search a longer list on input. The number of name occurences in the input files determine the list which is checked during rendering, so if you 'pro forma' exclude a material which doesn't appear in your scene anyway, you won't notice it at all.