Path: utzoo!mnetor!uunet!husc6!bloom-beacon!mcgill-vision!mouse From: mouse@mcgill-vision.UUCP (der Mouse) Newsgroups: comp.lang.c Subject: Re: Macro parameters getting substituted into strings Message-ID: <1039@mcgill-vision.UUCP> Date: 9 Apr 88 23:38:34 GMT References: <11879@brl-adm.ARPA> <4099@hoptoad.uucp> <7309@brl-smoke.ARPA> <7566@brl-smoke.ARPA> Organization: McGill University, Montreal Lines: 24 In article <7566@brl-smoke.ARPA>, gwyn@brl-smoke.ARPA (Doug Gwyn ) writes: > In article <4253@hoptoad.uucp> gnu@hoptoad.uucp (John Gilmore) writes: >> [stuff about Reiser behavior its (ab)use] >> My preferred way to fix this would be for ANSI C to allow the * >> (indirection) and [] (subscripting) operators on string literals in >> constant expressions. > I could support this, or some char-ize operator, but I don't think > they'll make it into the standard at this point. Then we are faced with a loss of functionality. Suddenly there is no way to define _IO or CTRL that is compatible with existing usage. It is reasonable to require us to rewrite our macro definitions; it is not reasonable to require us to rewrite all our uses of the macro. The committee apparently recognized this when they provided # and ##, to preserve the functionality of Reiser cpp substitution in strings and /**/, but we need either a charize operator analogous to # or (my preference) making subscripted string literals into constant expressions in order to preserve the functionality of Reiser substitution within ''. der Mouse uucp: mouse@mcgill-vision.uucp arpa: mouse@larry.mcrcim.mcgill.edu