|
Post by George on Nov 26, 2020 15:53:15 GMT -5
Stefan: I tried your scenario to force the crash. It fails nicely in 255, but no longer fails in my latest version. There is some minor failure in positioning, but at this point I'm loath to touch the logic again, I've already made too many stabs at getting it correct. Correcting the crash wins out.
George
|
|
|
Post by George on Nov 26, 2020 16:06:41 GMT -5
Stefan: ASCII / EBCDIC would make no difference, once a file is loaded, everything is ASCII internally. I've managed to get the Use FileB for display of equal lines to work, and some incredible kludge code has gotten the Ruler Line for DIFF output to match the data lines. Also, the X/U selection is now only X/NX. Once I do some minor testing I'll post another version to play with.
George
|
|
|
Post by George on Nov 27, 2020 13:52:09 GMT -5
Time for the next iteration. I think I've incorporated nearly all the suggestions, and my limited testing looks good enough to let others try it out. George [UPDATE] Slight tweaks and corrections added - V 2.2.20335 SPFLite22.exe (496.5 KB) [\ UPDATE]
|
|
|
Post by Stefan on Dec 1, 2020 4:33:26 GMT -5
Hi George, There is an issue with versions 2.2.20332 AND the latest v2.2.20335.
On starting SPFLite, I receive... Untrapped Error #9 (Subscript/Pointer out of range) has occurred following execution of INITLOCA Press OK to continue, Cancel to terminate
If you click <OK> to the above message, SPFLite starts as expected and appears (but who knows) to be fine.
I determined that...
Version 2.2.20255 starts up fine with CFG files created and/or used by any of these versions. Version 2.2.20332 starts up fine only with a CFG file created and used by v255. Version 2.2.20335 starts up fine only with a CFG file created and used by v255.
In all other cases, both v332 and v335 display the error on startup, even when they create the CFG themselves on first invocation.
BTW... The current version of CFGMAINT does not differentiate between 'new' settings and 'obsolete' settings.
Hence it will drop 'new' entries as 'obsolete' on EXPORT. (Presently it drops the 15 new DIFF entries.) So as written, it could lose data in case you add or rename a setting in the CFG but don't immediately change CFGMAINT as well. The next release (perhaps several weeks later) might ship with an inaccurate version of CFGMAINT.
Given that you probably add (or rename) CFG stuff more often than you need to drop obsolete stuff, should the dropping not be more targeted? CFGMAINT could just 'accept' additions automatically (even if it cannot verify that their values are within a valid range, but it could WARN about that).
Maybe during SPFLite startup, you set/re-initialise 'obsolete' CFG entries to some specific value (eg. 'ObSoLeTe' or x'7FFFFFFF') as appropriate to their type. Then CFGMaint can clean them up later (or never).
|
|
|
Post by George on Dec 1, 2020 10:31:59 GMT -5
Stefan: CFGMaint got it's update for the new variables yesterday, just haven't posted it yet.
I'm not seeing the Subscript error here, but your info should help in tracking it down. It's undoubtedly in building the variable table, I think that one is still built with a fixed dimension setup rather than a flexible one. I should probably get off my duff and fix it permanently.
The problem with marking items obsolete is you end up with 'migration' code cluttering things up and no easy way to determine when (if ever) you can remove it.
George
|
|
|
Post by George on Dec 1, 2020 14:28:48 GMT -5
Robert: Yes, that's the best way to manage it, but you know me too well to think I'll ever actually do it that way. Besides, with these obsolete variables, their presence doesn't hurt, so removal is best left to guys like CFGMaint, it is, after all, a cleanup activity. I've managed to clean up the variable handling, so here's a matched pair of new versions. If used against an older CFG file, CFGMaint in -REPAIR mode will undoubtedly pop up lots of requests to allow corrections. Both of these are the latest test versions. George CFGMaint.EXE (208 KB) SPFLite22.exe (497 KB)
|
|
|
Post by Stefan on Dec 2, 2020 8:34:13 GMT -5
SPFLite v336... (but v255 also)
Spotted this by accident - no drama, just odd.
(1) SPFLite is not running. (2) Current CFG file does not include a profile for .CFG (3) I drag SPFLIte.CFG to the SPFLite icon on my desktop. (4) The "Create new Profile INI" options pop-up panel appears -- (strange name by the way - why INI?) (5) I realised I picked the wrong file, so I select <CANCEL> (6) SPFLite starts with an open "SPFLite.CFG" tab which is empty and immediately vanishes as soon as you press any key.
If you skip step (1), i.e. an instance of SPFLITE is already running when you drag a file to it, the spurious SPFLite.CFG tab does not appear.
CFGMAint v336... I created a brand new CFG file using SPFLite v2.2.20336. CFGMaint exported that without dropping anything and hence no LOG file. All as expected. Switched back to my v2.2.20255 CFG file. CFGMAINT Exported that, dropping 15 items. Not unexpected - they all look reasonable - no idea what Scheme47 used to be.
|
|
|
Post by Stefan on Dec 2, 2020 9:53:53 GMT -5
Meanwhile,
DIFF LIST command...
I'm sorry, but think it falls short as a Report retention and access facility.
(1) Selecting a report file from the DIFF LIST panel, opens the file as expected. But .. if the user has a CLIP.AUTO file (and I do for unrelated reasons) the DIFF highlighting from the original report does not survive.
(2) The new, larger pop-up panel is better than the single line drop-down we had before, but it still relatively uninformative.
For example, - if the same comparison is re-run with different settings (eg. 1-Col & 2-Col), only the most recent is available via Diff LIST as the file names are identical. - if the same files are compared, on different days, the same applies. - the DIFF LIST is presented in ascending filename sequence. There is no file 'creation date/time' to tell the user WHEN each comparison was done. So I cannot judge which 'version/generation' of the input files might have been involved. And I do not know for how long, or how many, files in the 'SPFLite Data folder\CLIP directory are retained.
For me, these restrictions render DIFF LIST unreliable for the retention and subsequent access of the result files. I may create a macro to wrapper the SAVE command to save (via CREATE) DIFF Report .CLIP files in a dedicated directory like <SPFLite-Data-Folder>\DIFFREP.
(3) In general, I still think the DIFF report files should have a separate filetype, e.g. .DIFF They may have 'employed' the CLIP facility during their creation, but they 'are' DIFF report files, not clipboard files in the usual sense.
Solutions?
A dedicated file-type would eliminate points (1) and (3)
A dedicated directory in the <SPFLite-Data-Folder> would eliminate point (2)
|
|
|
Post by George on Dec 2, 2020 10:01:10 GMT -5
Stefan: I'll look at the CFG dropping issue. Scheme47 'went away' at some point, haven't a clue anymore as to which change dropped it.
Robert: I took the "no news is good news" approach to the Log. The log is built in memory as the program runs, and is only written if one of the messages is flagged as an error or 'keep' message.
What's the consensus? Is a simple "All OK" Log worthwhile? Or should I just dump the memory log all the time. The logs would also be cleaned up using the EXPMAX value.
George
|
|
|
Post by George on Dec 2, 2020 10:15:14 GMT -5
Stefan: I created a CLIP.AUTO and when I select a file from DIFF LIST, it displays the DIFF colorization properly.
Now, if you select a _DIFF file via normal means, then yes, DIFF colorization is lost. DIFF display colorization is not done via some manipulation of AUTO logic, that's why DIFF LIST exists, to ensure it displays properly.
All your other comments re the DIFF filenames are valid and I'll have a look at what can be done, I agree it's not sufficient as it is.
George [UPDATE] How about simply inserting YYMMDD.hhmm.[1C|2C]. into the DIFF filename? DIFF LIST could format them 'prettier' in the list. I'd like to keep them in the CLIP folder since they get cleaned up automatically as they are treated as temporary CLIP files.
[\UPDATE]
|
|
|
Post by George on Dec 2, 2020 14:48:22 GMT -5
Stefan: OK, how about this for the DIFF LIST pop-up: George
|
|
|
Post by Stefan on Dec 2, 2020 18:09:55 GMT -5
George, CFGMAINT To log or not to log...
I'm OK with "No log means all is well".
I can't really see why anyone would use CFGMAINT as a backup utility run via a schedule anyway. If you want backups, just treat the CFG like any other file. If you have a bunch of backup CFG files, you can always ask CFGMAINT to export/interpret them for you if that should be needed. (This would be easier if CFGMAINT could be directed to a CFG file rather than always target the SPFLite.CFG file in the live directory).
DIFF LIST Panel
That looks better. Much more informative. The horizontal separation of the FileA/FileB filenames is potentially awkward if the source names were long. You could perhaps save some space and accommodate longer names with the existing FileA.name~~FileB.name format instead of two separate columns. Alternatively, use two lines for each entry which would also enable you to show 1-Col/2-Col view, plus potentially the other parameters that were selected.
How do you handle the fact that reports of repeated comparison of the same source files will overwrite each other? Did you add a timestamp to the names?
I don't know how you implement the selection process on the List panel.
But given that a user only ever selects one entry at any one time, I think a mouse click on a filename should imply <DONE>. Having to click twice seems rather redundant.
I agree about selecting _DIFF... files manually from the clip directory. You see the initial 2 bytes on every line also.
I do not understand why CLIP sessions are SAVED at all?
In Windows, the clipboard is a temporary area by nature.
If I want to keep its content, I have to save it in a file. What's SPFLite trying to do for me, especially if it auto-cleans the CLIP directory the files from time to time? (Is that cleaning described anywhere?)
AUTO Hi-Lighting
That's very odd. Earlier tonight the Report files came back all uncoloured until I renamed my CLIP.AUTO to CLIPx.AUTO. Then DIFF LIST files showed with highlights. I thought it odd at the time why one would defeat the other. Anyway, I've re-instated CLIP.AUTO and DIFF LIST still works now.
Sorry.
If you find any marbles, they're mine!
|
|
|
Post by George on Dec 3, 2020 11:05:31 GMT -5
CFGMAINT To log or not to log... I'm OK with "No log means all is well". I can't really see why anyone would use CFGMAINT as a backup utility run via a schedule anyway. If you want backups, just treat the CFG like any other file. Some people like a backup that, if needed, can be manipulated for other purposes (This would be easier if CFGMAINT could be directed to a CFG file rather than always target the SPFLite.CFG file in the live directory). Possible, but if someone is creating CFG files elsewhere, they can just as easily rename the Prod. CFG out of the way, Import and them move the new imported CFG to the alternate location.
DIFF LIST Panel That looks better. Much more informative. The horizontal separation of the FileA/FileB filenames is potentially awkward if the source names were long. You could perhaps save some space and accommodate longer names with the existing FileA.name~~FileB.name format instead of two separate columns. Alternatively, use two lines for each entry which would also enable you to show 1-Col/2-Col view, plus potentially the other parameters that were selected. If the filenames are long they will be abbreviated to fit (see example attached)
How do you handle the fact that reports of repeated comparison of the same source files will overwrite each other? Did you add a timestamp to the names? Look carefully, there is an hh:mm in the timestamp. I don't know how you implement the selection process on the List panel. But given that a user only ever selects one entry at any one time, I think a mouse click on a filename should imply <DONE>. Having to click twice seems rather redundant. Not that it's disastrous, but accidentally clicking on the wrong line is something I do all the time. I agree about selecting _DIFF... files manually from the clip directory. You see the initial 2 bytes on every line also. I do not understand why CLIP sessions are SAVED at all? In Windows, the clipboard is a temporary area by nature. If I want to keep its content, I have to save it in a file. What's SPFLite trying to do for me, especially if it auto-cleans the CLIP directory the files from time to time? (Is that cleaning described anywhere?) CUT and PASTE support saved clipboards, both permanent and temporary. Good for saving commonly used 'boilerplate' text blocks. Here's the CUT Help comment.
name
The name of a Named Private Clipboard. If omitted, the standard Windows clipboard is used. If you use a private name beginning with an Underscore "_", the clipboard will be treated as a temporary clipboard and will be deleted from the CLIP folder after two days. Using temporary clipboard names helps prevent the \CLIP folder from storing Clip data long after it is still useful.
|
|
|
Post by Stefan on Dec 5, 2020 11:51:09 GMT -5
Thanks for the replies. All clear now.
|
|