|
Post by Stefan on Oct 20, 2022 7:20:33 GMT -5
Version 2.6.22269 beta
George,
Not sure if this is a bug or just a side effect of how it works, but it seems a bit odd....
Take a whole bunch of lines
1 - Enter DD on line 3 2 - Enter DD on line 5 3 - Enter MM on line 10 4 - Enter MM on line 15 5 - Enter A on line 1 6 - Press <ENTER>
The whole lot gets done correctly.
Now do the same again but replace step 5 with
5 - Enter CUT on the primary command line
Only the CUT (with the MM...MM) gets done. The DD...DD sequence is NOT actioned. The lines remain asis and the DD line commands disappear as if they had been executed.
I had expected all non-pending line commands to be actioned BEFORE the primary command. So the DD...DD block is complete and gets done. The MM...MM block is incomplete e.g. PENDING There being no other line commands, the CUT primary command is executed and completes the pending state.
I can live with it, but it can leave data in the file without the user noticing. For example, if the user enters the DD...DD block on one "page" of the file and scrolls using the cursor (ie. no attention interrupt) to another "page" of the file to enter the MM...MM sequence and the CUT primary command. With the DD...DD block no longer in view, they wouldn't notice that the lines had not been deleted.
I know this is a tricky area and if this is the way it has to work, then fine, but if so, it should be clearly documented. Another solution might be that the DD...DD line commands are only removed when the action is complete, so if the action didn't take place, the DD...DD block remains there and gets processed with the next attention event
What say you?
|
|
|
Post by George on Oct 20, 2022 13:04:49 GMT -5
Stefan: As you indicated, this is a hairy area. It has been poked and prodded, and totally (and I do mean totally) rewritten 3 times over the years. But as we've added stuff like Line Macros etc. to the mix, the last re-write design is being obviously subverted by the additions.
What it really needs is a fourth total rewrite. And you know, I just don't think it's in me. When I was exploring your B& bug, I truly realized how much I don't know anymore about how it all works. It's the most intricate logic I've ever written because it simply has way more to cope with internally than you can imagine.
It really comes down to a simple statement - "If entering a Line command which involves a companion Primary command (like CUT), then avoid also entering other 'normal' sets of line commands".
I wish I could tackle stuff like this, but as I approach 80, I have to recognize the things I can't (or shouldn't) tackle. Like walking without my cane or walker)
George
|
|
|
Post by Stefan on Oct 20, 2022 15:15:07 GMT -5
No problem George. The simple statement will do just fine. Many, many years ago as a young wipper-snapper I applied for a job at Amdahl in California. As part of their recruitment, we were presented with different scenarios to see how we'd handle them. I recall one in particular... It was about their then-new 4705 Front-end processor (network kit). There was some info about the code, how big, how long in development, etc.
The boxes & firmware were ready for release and had passed all the testing stages, except for one issue.
The design documentation said that the user needed "to press the ENTER key" to start some function. But they found that the user needed to press the key twice to get the code to work. What should happen? Some candidates suggested rewriting the code, tarcing the code, etc, etc. I said "change the documentation" and they offered me a job.
So your conclusion is perfectly acceptable.
PS: In the end, I couldn't take it up and joined IBM in the UK. Sometimes I wonder how life would have turned out if I had gone to California. Once thing's for sure - I'd be a better surfer now!
|
|
|
Post by George on Oct 20, 2022 15:34:59 GMT -5
It's interesting how careers develop. I started out working in a bank, in the branches. At one point I was sent to take a series of aptitude tests. A few months later I was offered a position in what was then called "Machine Accounting". i.e. punch card processing, slugging million line card files around, it was more like manual labour. However it became plug-board wiring, then onward to 1401 operations, programming and further onward to 360's etc. etc. for almost 40 years.
And to think, I could have been a bank manager!
|
|
|
Post by Stefan on Oct 21, 2022 11:58:34 GMT -5
Lucky you dodged that bullet!
|
|