Path: utzoo!utgpu!watmath!clyde!att!rutgers!ucsd!sdcsvax!ucsdhub!esosun!seismo!uunet!auspex!guy From: guy@auspex.UUCP (Guy Harris) Newsgroups: comp.lang.c Subject: Re: how widespread is this cpp bug? Keywords: cpp whitespace bug Message-ID: <557@auspex.UUCP> Date: 2 Dec 88 07:33:04 GMT References: <49179@pyramid.pyramid.com> Reply-To: guy@auspex.UUCP (Guy Harris) Organization: Auspex Systems, Santa Clara Lines: 29 >I hear that this `feature' is used for gluing togehter tokens... Yes, it is. >Does your cpp have this `feature'? If your "cpp" is based on the "Reiser" "cpp", which first appeared publicly in V7 and is the basis of the C preprocessor code in most UNIX C implementations, it probably works that way. >I suspect that AT&T and SUN know about this, but have chosen not to fix >it. Berkeley definitely knows about it, since they make use of it in some places. Sun knows about it as well, and makes use of it in places where they inherited it from Berkeley. AT&T may well know about it as well, and plenty of other organizations probably do as well (I suspect most, if not all, of the ones who started with BSD do). >Anyone know why? Probably because it's one of the more convenient ways to glue tokens together if you don't have the dpANS "#" and "##" operators. It, and other non-dpANS-conformant Reiserisms, are unlikely to disappear until dpANS-conformant compilers, or ANSI C compilers once the standard is official, become more common; when they do, those Reisersms will disappear (except maybe in "compatibility mode" precisely because they will *be* non-conformant (barring major surprises in the evolution of ANSI C).