Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site pegasus.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!ihnp4!pegasus!hansen From: hansen@pegasus.UUCP (Tony L. Hansen) Newsgroups: net.lang.c Subject: Re: 6 character external identifiers Message-ID: <1500@pegasus.UUCP> Date: Sun, 15-Jul-84 18:07:50 EDT Article-I.D.: pegasus.1500 Posted: Sun Jul 15 18:07:50 1984 Date-Received: Mon, 16-Jul-84 00:02:56 EDT References: <74@datagen.UUCP> <598@sdcsla.UUCP> <7804@umcp-cs.UUCP> <5891@mcvax.UUCP> Organization: AT&T Information Systems, Lincroft NJ Lines: 33 > There is a rather elegant way to replace long external identifiers by > shorter ones: use the C preprocessor. It should be easy to write a > program which generates a set of lines to a file "rename.h" like: > > #define ThisIsAVeryLongName _1ThisIsAVeryLongName > #define ThisIsAnother _2ThisIsAnother > etc. > > .... It especially works well with the > ANSI standard because the preprocessor has to distinguish such long > names. .... > > [This idea was used by James Gosling to get Emacs on a PDP. ....] I don't recall in Henry Spencer's summary any mention on the significant character limits on the C preprocessor. Will that remain at the old limit of 8 characters, will it be extended as well to 31 characters, or will it go to an infinite limit as currently allowed by the BSD and S5r2 flexnames implementation? If it stays at 8 characters, then the above-mentioned CPP hack will not work. I ran into this very problem when I tried to use James Gosling's CPP hack to put his Emacs on a System III and System V machine. (I eventually wound up throwing out his CPP hack and did the preprocessing with m4, which has never [that I know of] had a limit on identifier length.) CPP just wasn't capable of differentiationg between AFunctionToDoThis() and AFunctionToDoThat(). Henry, what's the scoop on the length of CPP identifiers? Did I miss something in your original note? Tony Hansen pegasus!hansen