After all the trouble we had with MINLEN and CHANGE recently, I'm holding my breath here and am barely whispering this...
What if... ... when a file profile specifies an LRECL>0, SPFLite treated that as maximum record length?
OK, what do I mean by '
treated'?
Well, it occurs to me that on a 3270 display, the line length was physical - it shows 80 or 127 columns.
Anything beyond that and you need to scroll the display.
For SPFLite, it could mean that in a tab where a file with a LRECL>0 is being displayed/edited, one or more of the following suggestions apply:
(1) the SCROLL RIGHT function does not position the right margin beyond the <LRECL-value>, regardless of screen/display width.
(2) The File Profile automatically applies Bounds 1, <LRECL-value>.
(3) The BOUNDS n,MAX command is interpreted as BOUNDS n,<LRECL-value>
(4a) The File Profile automatically applies MARK > with the '>' in the <LRECL-value> column.
(4b) The MARK line is displayed in the 'Normal text High Intensity' colour.
...and probably impossible because of the likely huge coding overhead...
(5) The SPFLite window is resized to physical show only <LRECL-value> columns (probably hugely irritating to have screen change size when switching between tabs)
The new BOUNDS limits should avoid most commands like CHANGE or line shifts exceeding the <LRECL-value>.
ISPF would mark those lines as =ERR=> but this wouldn't happen in SPFLite.
Instead you'll incur data loss, but the UNDO facility can remedy such issues.
Steps (2), (3) and (4a) any user can already implement manually today and would provide reasonable protection and a simple visual clue to over-long lines.
I'm guessing(!) the coding changes for steps (1), (2), (3) and (4a) should be relatively trivial.
Step (4b)
Uses the logic already present for MARK positions, but might be trickier if the line is an different colour to normal MARKs or a different format (e.g. double line).
An alternative might be a column of reverse video blanks or some character like '<' or '#' in column <LRECL-value>+1.
This might be implemented by MINLEN <LRECL-valye> + 1 and ensuring the last blank in the line has a suitable colour attribute.
Step (5) - Balderdash! I just wanted to to see if George reads this. (Ain't I a stinker?)