Henry, the reason for the change is that Do-more documentation is far more flexible than DL, and it simply isn't possible (or smart) to blow out the entire list. First, the memory map of Do-more can be far, far larger than DL and the amount of stuff that would have to pre-fill the table would be painfully large. But it's worse than that...Do-more can document struct fields and every possible cast...which means that for the element D0, you would need to show D0:0 through D0:31, plus D0:B0 through D0:B3, as well as D0:W0 and D0:W1...or a total of 39 entries. Imagine what that looks like for every possible cast of every possible element and every field of every structure. A mess. So the decision was made to limit the display to just the elements that were already documented and those used in the program. When something is used in the program, but hasn't been documented, it shows up in the list with a '*' beside it. This is essentially a virtual record and isn't really in the database.
So we knew it needed to be the way it is, but we also knew that was going to be a pain, so in addition to what gets automatically added, we made it possible to add virtual records quickly. All you have to do is go into the Add Documentation Record dialog, enter something like D0, then start hitting the Enter key. It will add an empty record to the table and automatically increment D0 to D1. If you keep hitting the Enter key you can pre-fill the table very quickly, and then exit and edit the records like in DirectSoft. (See the first picture)
I do understand the need though, and I understand what I can do to make it clearer and easier. For the upcoming maintenance release, I am going to change Add Documentation Record to support two modes...the current single record behavior, as well as a new ranged Add Empty Record option that would let you specify an element range (like C0-C100) and it will add empty records for the full range. Look for the fix soon.
The other thing we did was to greatly enhance the process of automatically assigning and adding work variables. For working values that don't really need to have a known address, you can just type a nickname into the field, then we will automatically assign the next free item of the selected element type as well as create a new documentation record for that element using the nickname. Some here disagree, but as a C programmer for nearly 30 years, I have *never* cared what the hard address was of a variable. Some addresses (I/O for instance) need to be known, but most don't. For those that don't, define them on the fly...it's very easy and very quick. (See the second and third pictures)
Keep the feedback coming!!