The closest I came was when we went from a single namespace for all structure names to a namespace for each structure, and references that were checked using the pointer type of the structure pointer. My code was a nightmare, and some of the old Unix code was at least a bad dream.   I had to start out pretending to have a single namespace, but when I saw the use of an actual structure pointer I had to do it the new way.  As I recall when I saw something that would not have been legal with the old rules (for example, two different structures with the same element name but different offsets) then I threw the switch and demanded the new way.  There were certainly system changes that were flash cut.  For example, changing the file system format -- there was no attempt to allow both, which meant that the conversion program got one shot to get it right.  And it didn't always manage that... Steve ----- Original Message ----- From: david@kdbarto.org To: "Steve Johnson" Cc: "The Eunuchs Hysterical Society" Sent: Mon, 29 Oct 2018 12:02:29 -0700 Subject: Re: [TUHS] Archaic yacc C grammar On Oct 29, 2018, at 10:52 AM, Steve Johnson wrote: We actually had a pretty good system for making changes like that.  First, we would change the compiler to accept both the old and the new.   Then we would produce a warning that on a particular date the old would no longer work.  Then we made the old an error and printed a message about how to fix it.   Eventually, we just let it be a syntax error. This process was applied many times on the way from typeless B to strongly typed C. Was there ever a time when a change was desired that you couldn’t accept both the old and the new? David Links: ------ [1] mailto:scj@yaccman.com