Two observations. The name 'underscore' for the character '_' is at best a misnomer. It cannot be put under another character. In standard IBM terminology it is a break character.
Break characters, which may appear contiguously, as in ___counter are also useful in the names of created set symbols, where they make stepped-on global set-symbol names/identifiers less likely. I use a lot of table-generation macros that are 'reentrant' in the Pickwickian but important sense that they can be used to generate two or more instances of some table type concurrently. The device that makes these macros reentrant is that of using unique-to-each-table, unwieldy identifiers for global set symbols. A table-element array of the form |&eaid setc '&macname'.'___&rsect'.'___elements___' | gblc &(&eaid)(1) --table-element array is at once easy to refer to in code, as just &(&eid), and very unlikely to have its identifier duplicated inadvertently. [It does assume that two or more table RSECTs do not have the same external name; but such errors are 1) caught and diagnosed and 2) yield assembly errors anyway.] John Gilmore, Ashland, MA 01721 - USA
