Subject: bug#12215: CSET is unnecessarily confusing

From: Stefan Monnier <[email-masked]>
Date: Wed, 22 Aug 2012 09:27:03 -0400

>> CSET (XCHAR_TABLE (char_table), ->parent, parent);
> That does avoid the ambiguity but it's pretty weird.

Less weird than CSET (XCHAR_TABLE (char_table), parent, parent),
and avoids the duplication of code we have with set_char_table_foobar.

> How about something like this instead?
>   cset (XCHAR_TABLE (char_table), cset_parent, parent);
> where cset_parent is an offset into the structure, or
> is a member of a simple enumeration, whichever seems
> cleaner.  This would be functional and relatively
> straightforward.

Yuck!
- code duplication.
- offset into a struct instead of a plain field access?
- worse, an enum instead of a plain field access?
A non-starter.

        Stefan