|
Post by George on Apr 8, 2024 12:08:51 GMT -5
Hi, I've been reviewing the Doc. for an upcoming release, and have been browsing the whole file, looking for any impacted sections.
I've come across one feature we put in quite a while ago, and I have serious doubts that it is ever used, the "Working with" section describing it is 8+ pages of pretty dense text.
So ... does anyone actually use "Command Chaining" (and Command Chaining does not mean using a ; to separate individual commands, that's totally different).
I wrote the code to support it, and other than testing it, have never used it, or even thought about using it. Being honest, it would simply not come to mind since I'd have to read the whole Help section before attempting it.
I'd really appreciate comments on this. The release I'm working on is a big cleanup release, I'd like to kill this.
George
|
|
|
Post by George on Apr 7, 2024 13:22:26 GMT -5
Robert: I'm close to finally putting out a Beta (No -- an Alpha). I'm going to make it a whole major jump to SPFLite3 and a separate install folder, so two versions can co-exist. This has been a really interesting exercise. Amazing how many unreported bugs I've uncovered.
To prevent any possible corruption of the CFG file, the new version will (for a while) make a timestamped backup of the CFG file at each invocation.
Also, your suggestion for the AA.Macname / BB.Macname is included. Any prefix will override the normal Profile MACLIB setting.
George
|
|
|
Post by George on Mar 31, 2024 8:29:44 GMT -5
MUEH: Not surprised. Message handling received some significant changes to correct other problems. I'll have a look to see how to fix it.
George
[UPDATE]
Corrected. The previous change delayed clearing any error message until some user action (KB/Mouse) took place in the tab. In your case, the post macro DO commands included a (Home) key - which - cleared the message. On my system you can just see the message blink on the screen before being erased.
I've altered it so the clearing will not occur if a set of DO commands are executing.
I'll post a fixup Beta.
George
[/UPDATE]
|
|
|
Post by George on Mar 31, 2024 8:27:22 GMT -5
Robert: That's why I only added UTF8. The code for UTF16 is in there, but it's embedded in the main edit file read routine, so not easily accessable. I didn't think it worth the effort to clone it in another spot. Besides the justification just isn't there.
George
|
|
|
Post by George on Mar 30, 2024 11:24:58 GMT -5
A Beta with the correction will be uploaded today to correct this. NOTE: there will be no support in INCLUDE for UTF16/32 format encoding.
George
|
|
|
Post by George on Mar 30, 2024 10:59:02 GMT -5
Well, it's almost certainly BOM data. The #INCLUDE file reading simply ignores the possibility of BOM. I'll have to add it.
I'll do so and play with the provided data files. The Pli file is definitely has a UTF8 BOM marker.
George
|
|
|
Post by George on Mar 29, 2024 21:21:44 GMT -5
Robert: I've been thinking the same,and since we have EBCDIC involved as well,this could be interesting.
George
|
|
|
Post by George on Mar 29, 2024 13:15:19 GMT -5
Hi, Can you send me the SPFLite.CFG file and the two files needed for the submit.
Also, what is your XTABS setting?
George
It's kinda hard to see where this code can go wrong.
'--------------------------------------------------------------------------------------------+ '- Setup to read the Included filename | '--------------------------------------------------------------------------------------------+ FNum2 = FREEFILE ' Get another file # Call3(TryOpenInput(INCLFile, FNum2), _ ' Try the open MErrExit(%eFail, "SUBMIT INCLUDE file doesn't exist"), _ ' Oops? Bail out MErrExit(%eFail, "OPEN of SUBMIT INCLUDE file failed"), _ ' Oops? Bail out Nul) ' Continue '--------------------------------------------------------------------------------------------+ '- Extract CBlines to the output file | '--------------------------------------------------------------------------------------------+ DO WHILE ISFALSE EOF(# FNum2) ' Loop reading lines LINE INPUT # FNum2, t ' Get one line t = TAB$(t, FCB.ImportTabs) ' Do any needed tab conversion PRINT # FNum, t ' Just write the line to SUBMIT file INCR recs ' count it LOOP ' Loop till all lines extracted CLOSE # FNum2 '
|
|
|
Post by George on Mar 28, 2024 7:54:04 GMT -5
Robert: Looks like a misc update to fix bugs and add minor features. It didn't even have to migrate existing files, which some updates have to do.
George
|
|
|
Post by George on Mar 24, 2024 12:55:42 GMT -5
Latest status: I think the changes to swap in the new command parser are done. Lots more testing etc. to do before anyone else sees this. Not really looking forward to that part, SPFLite just has soooooo many commands and options.
One thing I have spotted during this is that there were a bunch of commands which simply had errors and did NOT do what the Doc. described. Also there were commands that had undocumented operands, or operands that really did nothing, etc. -- that was a surprise.
It's been an interesting exercise. Not that it buys anything, well not much, except that all primary commands will now react to a ? operand to open Help.
|
|
|
Post by George on Mar 18, 2024 8:38:22 GMT -5
Robert: "Not in your good graces"? That's news to me. I curse you the same way I curse myself for many decisions I've made over the years.
I've looked at YACC, but it's beyond me. It seems to take a specification and create it's own code (in C) which you insert into your own. The specification itself is baffling (I don't need a learning curve experience), let alone trying to figure out how to integrate it into existing code. Please, enough with pushing YACC/LEX at me. If we were starting over it might be a different story.
I have to do this so the rest of the program only needs tweaking, not major surgery, and the various bolt-on additions and kludges we've done over the years are the problem.
It's a shame that over the years you've never actually had to make the changes to the full code base, you've been isolated from them by writing nicely defined, separate functions, at which point you hand them off and can wash your hands of it and let me worry about integrating it into the main code. If you had, maybe your experience might tone down the "if you'd only do it THIS way ..." suggestions.
SPFLite is not easy to work with. Fault? Yes, it's mine; so I really shouldn't be complaining
George
|
|
|
Post by George on Mar 17, 2024 14:07:47 GMT -5
Robert: I've been cursing you for the last few days (just so you know). Your ideas for RLOCFIND were fine, since we allow so many commands to use the full search engine. But my new parse routine and this feature (especially the REVERSE Kwd addition) have been driving me nuts.
i.e. How do you parse a command like RLOCFIND, which can have no parameters, a single REVERSE/REV parameter, or any of the full command sets from FIND, CHANGE, DELETE, JOIN and SPLIT? We created a monster!
I think today I finally have it working properly with FIND only, hopefully the rest will fall in place a bit easier. It's been a real brain-buster.
George
|
|
|
Post by George on Mar 13, 2024 10:58:44 GMT -5
Here's an example. It appears the search for negative colors (e.g. FIND XXX -BLUE) has not been working for a long time. I didn't waste time going back to see when it last worked.
PITA since you waste time looking for the error in the changes you've just made, assuming it was working previously.
I really wonder how many other 'bells and whistles' type features are lying there unused (even if they DO work)
George
|
|
|
Post by George on Mar 11, 2024 13:07:12 GMT -5
Just an update. I'm really being surprised by how many inconsistencies I'm uncovering.
From stuff in the code that's not in the Doc. and visa versa, code not doing what the Doc says. Add in many redundancies mixed in with just plain stupid code, and it's quite an eye-opener. Too many years of too many overly expedient additions.
Should be interesting when I can actually start removing the old parse code, right now both old and new are present.
George
|
|
|
Post by George on Mar 9, 2024 10:37:20 GMT -5
Hi, A small release has been posted. Just a few bug fixes that have been in Beta release for a while.
The next release may be some time as it has some major internal code revisions, so this 24069 release is just a 'catch up' so that I don't have multiple active versions underway at the same time.
George
|
|