|
Post by Stefan on Nov 3, 2022 6:30:17 GMT -5
George, Perhaps I'm being a bit stupid, does the 'Sn' form do what was intended? Example: Take a block of 30 excluded lines Type line command 'S' on the line showing "----------------<000030> --- "
All lines 30 lines pop out, as expected. But Type line command 'S9' on the line showing "----------------<000030> --- "
All lines 30 lines pop out, - not expected.
Retry the same but with two separate blocks of say 6 excluded lines each.
This time the 'S9' line command entered on the first "-------------<000006> ---" line pops out all its 6 lines, PLUS the first 3 lines of the second excluded block, regardless of how "far away" the 2nd block is.
As written, the 'Sn' description in the documentation is inaccurate. Perhaps a better description would be:
When 'n' is less than the number of lines in the excluded block, 'Sn' does the same as plain 'S' When 'n' is greater than the number of lines in the excluded block, 'Sn' will exclude the current block and then search for more excldued lines/blocks and show those lines, up to a total count of 'n' lines.
|
|
|
Post by George on Nov 3, 2022 8:34:04 GMT -5
Stefan: I think there is some confusion here. The S command is NOT equivalent to the F line command.
If you want to see 5 lines from a 10 line group, the command is F5.
The S line command, like a D command says "do this for the next 'n' SCREEN LINES. So they scan those screen lines, and if any of the lines are Exclude markers, the entire excluded line group is added to the range.
This is the standard ISPF way of handling line commands.
George
|
|
|
Post by Stefan on Nov 3, 2022 12:12:40 GMT -5
George,
Not really, I'm not confusing 'Sn' with 'Fn'. But I believe the description of what Sn actually does is incomplete and thus confusing. The documentation says:
Operands n The number of lines to be unexcluded. If you do not type a number, or if the number you type is 1, only the line on which you type S is unexcluded. Description To re-display one or more excluded lines: 1. Type S in the line command area of the line that is to be re-displayed. If you want to re-display more than one line, type a number that is greater than 1 immediately after the S command. 2. Press Enter. 3. The editor will re-display the specified lines.
The first part, especially the part about n=1,
"The number of lines to be unexcluded. If you do not type a number, or if the number you type is 1, only the line on which you type S is unexcluded."
suggests that the count 'n' refers not to "hidden data lines", but to the number of "---------<0000n>---" block markers lines. Hence one might expect that typing S3 on one such marker line will unexclude that whole X-block, PLUS the next two X-blocks as well.
Only Sn does not work that way, although it would be useful if it did.
The action is further confusing, because any value of 'n' from 1 up to the number of "hidden data lines" in the current X-block, gives the same result as just typing 'S'. The 'n' value appears to be, and in fact is, irrelevant, unless it exceeds the number of "hidden data lines" in the 'current' X-block.
In that case the SHOW line command unexcludes lines from subsequent X-blocks To date, I haven't figured out exactly what Sn=large actually does. I think it may just unexclude subsequent X-block(s) until it has matched or exceeded 'n=large' count.
In short, I think(!)
any value of 'n' that is lower than or equal to the number of excluded lines shown by the --------<0000?> --- marker line will redisplay that whole block.
any value of 'n' that is greater than the number of lines in the 'current' X-Block, will satisfy the 'n' count by redisplaying lines from as many subsequent X-blocks as required.
The weird thing is, that the 'n' count does actually refer to 'hidden data lines', but because the user can't see them, and subsequent X-blocks may well be on a different page, it is hard to know how many to specify.
All in all, unlike is block mode format SS...SS, the Sn form of the SHOW line command is an odd fellow.
|
|
|
Post by George on Nov 3, 2022 12:56:35 GMT -5
Sigh! Lets try this again. Given the following: and entering S2 on the first excluded line we get this because S2 processed TWO SCREEN LINES - the 1st exclude line and line 00005 If we do it again with S3 on the 1st excluded line, we get because the S3 processed THREE SCREEN LINES, encompassing BOTH excluded ranges. You can even put the S command on a non excluded line. with a count that spans all the X'd lines (e.g. S5 on line 1) and they will all be un-hidden. As I said, this is standard ISPF style handling of line commands, and it will not be altered. Everything I see here is WAD and tweaking the doc, since the same tweak would probably have to be added to ALL line commands of that type, is just a waste.
|
|
|
Post by Stefan on Nov 3, 2022 13:30:49 GMT -5
At no point did I ask for it to work differently or that the code be altered.
My post was in the documentation section because, to my mind, the wording in the documentation does not adequately, unambiguously if you prefer, describe what the "Sn" form of the SHOW command does.
Personally, I don't use the "Sn" form because I can't fathom 'what' it does, i.e. how many lines of what sort it will 'show' me. If it works just like ISPF, I obviously never did know how it worked. But then for me 'S' is, and always was, just a line command to SHOW me excluded lines.
If you are content that the documentation is clear, especially for a user who's never seen ISPF, then by all means leave it asis.
|
|
|
Post by George on Nov 3, 2022 14:36:27 GMT -5
I think the real problem is that so many of the early decisions for SPFLite were ISPF based. Early on, We were constantly being 'beat up' by users because there was some minor little discrepancy between ISPF and SPFLite. You know - "Well ISPF does xxxx and SPFLite does yyyy, why can't they be the same". I hated doing that kind of 'patch job'.
Secondly, most of our users were long time ISPF users, and didn't need or read the doc, they just 'did it'.
So yes, the doc may reflect that, but creating and maintaining almost 1000 pages of doc is hard enough just updating for current software changes. Going back to update the more ancient pieces to clarify something like this is definitely at the bottom of my list.
George
|
|