|
Post by TheFeDuke on Mar 2, 2016 2:15:45 GMT -5
The latest proposed corrections fixed my reported bugs. I exercised some combinations and found no poorly behaved line command combinations. A 'cut' or 'paste' primary command with no target still discards line commands without acting as per George's stated design limitation. No issue.
The primary command handling appears to be a little strange to me. 'Paste' with no line target issues an error message and stays in the command line waiting to be completed. 'Cut' issues a similar, but different error message but discards the primary command, leaving the user to enter both instead of just completing the required line (block) command(s). It is nicer to see the command that issues the error and left something pending.
|
|
|
Post by TheFeDuke on Mar 2, 2016 1:40:47 GMT -5
You may not consider this as documentation, but it seems to be a good place to mention that the banner announces the availability of V8.3.5337. The News box has left and right tabs for the banners. I guess you could keep a few release announcement banners active with their dates. Anyway V8.3.6022 deserves a mention.
|
|
|
Post by TheFeDuke on Feb 26, 2016 15:29:36 GMT -5
I was finally able to reproduce the crash that I mentioned earlier. The test was successful. Finding nothing would be inconclusive. Here is the tip of the iceberg: SPFLite has detected an internal loop
Last Interactions were: KB Primitive: ENTER Line Cmnd: D Primary Cmnd:
Module Back Trace: 07 | XREBUILD 06 | DISPSCREEN 05 | XREBUILD 04 | DISPSCREEN 03 | XREBUILD 02 | DISPSCREEN 01 | POSTKEYBOARD 00 | MAINDKEYPROCESS
Note: A copy of this message is in: C:\Users\Zani\Documents\SPFLite\SPFLiteCrash.txt
Select OK, to ignore loop and continue execution, or Cancel to terminate the program There are two crash windows and the problem commands are obscured during the crash. The window producing this crash message lies, because the file is not created while the crash box is open, and it looks like the crash.txt from the initial problem gets over-written by the above text. Incidentally, in the above case, I allowed the loop to run once.
I managed to get screenshots and a clip of the offending commands, which I am forwarding separately by e-mail.
|
|
|
Post by TheFeDuke on Feb 25, 2016 17:42:54 GMT -5
I reviewed the results of the proposed code changes. All line commands appear to be preserved if they are not acted upon. It is not the classic 'all or nothing' approach, but we all agree that SPFLite is better. Actions taken on 'D', 'X', 'F', 'L', 'S' and their applicable blocks are predictable.
There is still a bug with the 'A' line command on an excluded line. It works properly with a move, but acts like a 'B' with a copy command or block.
I did have a crash, that I shall try to document or duplicate. (not captured because of sloppy testing practices)
|
|
|
Post by TheFeDuke on Feb 22, 2016 12:12:53 GMT -5
If you want to, and are willing, I can let you have a pre-release to try out, as long as you promise not to find another bug. ;-)) If so, send me your email address. You have my agreement. I sent you a PM in case you can't get my e-mail from my profile. If you like, I can send you a write link to a cloud folder.
|
|
|
Post by TheFeDuke on Feb 15, 2016 17:16:42 GMT -5
I just noticed this thread. My habits send me this way frequently. I can even remember some silliness when I copied lines part way down a couple of times so that I could do them top down in multiples. I relish the power to propagate errors faster.
|
|
|
Post by TheFeDuke on Feb 15, 2016 16:56:40 GMT -5
At my stage in life, everything is a hobby and nurturing technical vitality is just another way of avoiding brain atrophy. Elsewhere I wrote This puts me at the same stage of re-learning REXX that I had with DOS batch script about three years ago. At my level, I am just happy to edit and run the code. I cannot contribute much to your choice, but thanks, for your discussion, which has influenced me to allow OORexx onto my PATH. So I remain a loyal user with no pressing demand on this survey topic.
|
|
|
Post by TheFeDuke on Feb 14, 2016 13:59:54 GMT -5
I updated the first post in anticipation of your correction.
|
|
|
Post by TheFeDuke on Feb 14, 2016 1:33:45 GMT -5
"In the good old days", I could I could enter long sequences of line commands that traversed pages, and they would be preserved until the last open block and destination was complete. After that, all were acted upon.
When I noticed, that under certain circumstances, the 'D' line commands were reset with no action, I wondered if I were seeing a bug or a feature. I could digest a policy of safety "for my own good" with minor resentment, but recently I have seen inconsistencies and noted that the behavior includes the 'X' line command which is too harmless to need protection. After all, SPFLite doesn't flag an error for showing an already visible line. No point.
Before I illustrate some examples, there is an error in placing copied lines to an excluded destination line. Both 'A' and 'B' line destinations are acted upon as 'B'.
Starting with inline text:
Command > Scroll > CSR Pending Source line range command ****** ******* Top of Data ********* 000001 xxx x aaa x bbb 000004 ccc A xxx 000006 ccc 000007 ddd xx xxx xx xxx 000010 ccc 000011 xxx ****** ****** Bottom of Data *******
This preserved the 'A ' but none of the 'x' commands. I would have expected that the 'x' would be acted upon or preserved until the error is resolved. The same is true if the incomplete command is a 'C'.
If, in the above example, the screen is completed by a 'cut' or 'paste' primary EDIT command before pressing the action key, the cut or paste is completed and again the 'x' commands disappear with no action.
It is intuitive for me to enter a few line commands and press 'PF12' to retrieve a primary command to complete a sequence. Oops, my keystrokes are lost. This behavior is the same for the 'D' line command.
When I mentioned inconsistencies before I meant the action on the following screen, which includes 'x' and 'd' :
Command > Scroll > CSR ****** *********************** Top of Data ************************ xx xxx 000002 aaa 000003 bbb xx ccc 000005 xxx mm ccc mm ddd dd xxx dd xxx d ccc A xxx ****** ********************** Bottom of Data ********************** results in:
Command > Scroll > CSR ****** *********************** Top of Data ************************ ------ ------------------------------------------ < 000004 > ------ 000005 xxx 000006 xxx 000007 ccc 000008 ddd ****** ********************** Bottom of Data **********************
These results are exactly what I expected and what I expected when the source or destination was a primary command.
I think I got all of what was bothering me.
|
|
|
Post by TheFeDuke on Feb 13, 2016 16:19:09 GMT -5
The Scroll amount validation seems to operate the same, but it really uses PAGE instead of CSR regardless of which one appears after 'Scroll >'. It seems to behave identically to EDIT when the cursor is in the command line. Maybe under FM the cursor position got lost? I have another one that used to cause me grief a few versions ago, but that I thought was fixed. Given that 'Page Down' is pressed on this screen: I get the following output, which loses the stray line on next refresh: Command > Scroll > h _ New _ FilePath _ Recent _ Found _ Opened _ Favorites File Path/Name> J:\SPFLite.V8.3.6022\Config\RUN\ File Patterns > * Cmd Dir+ Name+ Date Size -- End of List, 1 Dir, 3 Files -- ColorSPF..cmd
|
|
|
Post by TheFeDuke on Feb 13, 2016 13:26:56 GMT -5
Thanks, George. My question was more about the extra period between the name and the extension in the generated temporary filename. I renamed ColorSPF.bat to ColorSPF.cmd and the RUN output was:
SPF Run command: 'J:\SPFLite.V8.3.6022\Config\RUN\ColorSPF..cmd' Volume in drive J is PINKFLASH Volume Serial Number is 0E08-2842
Directory of J:\SPFLite.V8.3.6022\Config\RUN
02/13/2016 12:55 PM 646 ColorSPF..cmd 1 File(s) 646 bytes 0 Dir(s) 505,344,000 bytes free Press 'Enter' to end SPF RUN window... I had a background of mainframe VM/REXX. I discovered how to start TSO in mainframe MVS and run REXX within it in my last contract. That was tricky because the devil in me could avoid deadline-defeating stringent program change control by just changing source code in an input data file that the paper-pushers did not recognize as programs. I did not pursue REXX on the PC , but your quick comment just reminded me to check it out again.
|
|
|
Post by TheFeDuke on Feb 13, 2016 1:03:35 GMT -5
I place some code at the end of batch scripts for testing both in a 'DOS Prompt' window or using the RUN primary EDIT command. The script ends with no noise in the Command Prompt and closes the RUN window with just an 'Enter' after viewing output. [Edited: The original contribution has been generalized in anticipation of updates after v8.3.6022]. [Edited: Some simplification and added handling a window started by double-click]
:Xit SetLOCAL EnableDelayedExpansion&Set Clean="%CmdCmdLine:&=Ampersand%"&Set x=%~p0&Set x=!x:\run\=! For /F "tokens=1-2*" %%C In (%Clean%) Do If /I "%%D" EQU "/C" %ComSpec% /K Echo.Enter 'Exit' to end dbl-clk window... If "%x%" NEQ "%~p0" (Echo.Press 'Enter' to end SPF RUN window...&Pause>nul&Exit) Else Exit /B
The original code below should not be used after the .dot bug is fixed. [Edited: 8.4.6075 (Mar 15/2016) changed the ..]
Set "TILDEn=%~n0" %=== SPFLite RUN filename ends in ..BAT so close Window ===% If "%TILDEn:~-1%" EQU "." (Echo.Press 'Enter' to end SPF RUN window...&Pause>nul&Exit) Exit /B %=== End batch script leaving Window open in DOS Prompt ===%
I cannot contain my question of curiosity. Why does SPFLite use the RUN name in the format: batchname..bat ?
|
|
|
Post by TheFeDuke on Feb 12, 2016 18:57:30 GMT -5
Good, George. I think that I had a subconscious aversion to the banding feature. I am a little surprised and quite pleased that the banding does not obscure the comments. I removed your change in SCHEME 7 and the ')' and '(' characters came back to life a bit in the bands.
|
|
|
Post by TheFeDuke on Feb 11, 2016 14:15:22 GMT -5
Back in the early days of Cathode Ray Tube display technology there was no lower case and green letters on a black background were deemed best for readability with minimum eyestrain and best to not burn out the phosphor coating on the display. Veteran mainframe users got used to that, and the look persists right into the default DOS Prompt in Windows, but on a flat screen I prefer colored text on a white background. Here is the look: [Edited: Sorry, I neglected to snapshot that the line commands are in RED. Too lazy for another snapshot.] And here is bat.AUTO, the colorization file: ; SPFLite colorize file for DOS Batch files ; You may use the following Basic color numbers ; 0 Black 4 Red 8 Gray 12 Light red ; 1 Blue 5 Magenta 9 Light blue 13 Light magenta ; 2 Green 6 Brown 10 Light green 14 Yellow ; 3 Cyan 7 White 11 Light cyan 15 Bright white ; ; or specify a Full Color value as &hbbggrr where bb, gg, and rr are the HEX ; values respectively for Blue, Green, and Red. ; e.g the above values are equivalent to: ; ; 0 &h000000 4 &h0000C4 8 &h808080 12 &h0000FF ; 1 &h800000 5 &h800080 9 &hFF0000 13 &hFF00FF ; 2 &h008000 6 &h004080 10 &h00FF00 14 &h00FFFF ; 3 &h808000, 7 &hC4C4C4 11 &hFFFF00 15 &hFFFFFF ; ; A good place to choose colors and get the equivalent hex values is: ; http://www.free-webmaster-tools.com/colorpicker.htm#colorpicker ; SCHEME 0 &hD00000 15 Default scheme Medium Blue on White SCHEME 1 &h00A000 15 Scheme 1 - Green on Bright White SCHEME 12 &h800000 &hD0D0D0 2 - Blue on Bold White SCHEME 2 &hA000D8 15 2 - Pink on White SCHEME 12 &hA000D8 15 2 - Pink on White SCHEME 3 &h202020 15 3 - Charcoal on Bright White SCHEME 4 &h606060 7 4 - Gray on White SCHEME 5 1 15 5 - Black on Bright White SCHEME 6 2 15 6 - Green on Bright White SCHEME 7 4 14 7 - Red on Yellow SCHEME 8 4 15 8 - Red on Bright White SCHEME 9 &h008000 15 9 - Dark Green on Bright White QUOTED 2 NORMLO 4 NORMHI 5 LINELO 0 LINEHI 7 COMMENT1 1 REM 0 - Either REM COMMENT2 9 :: 1 - or :: indicate comments ; Delimiters DELIMS (),.:=@&<> WORD 7 ( WORD 7 ) WORD 3 , WORD 3 . WORD 3 : WORD 3 = WORD 1 @ WORD 8 & WORD 8 < WORD 8 > WORD 4 aux Reserved words WORD 3 call . WORD 3 cd . WORD 4 com1 . WORD 4 com2 WORD 4 com3 WORD 4 com4 WORD 4 con WORD 3 defined WORD 3 dir WORD 3 do WORD 3 echo WORD 3 else WORD 3 endlocal WORD 3 equ WORD 3 errorlevel WORD 3 exist WORD 2 exit WORD 3 for WORD 3 geq WORD 3 goto WORD 3 gtr WORD 3 if WORD 3 in WORD 3 leq WORD 4 lpt1 WORD 4 lpt2 WORD 4 lpt3 WORD 3 lss WORD 3 neq WORD 8 not WORD 8 nul WORD 3 pause WORD 4 prn WORD 1 rem WORD 3 set WORD 3 setlocal WORD 3 shift WORD 3 title
Improvement suggestions welcome. Enjoy.
|
|
|
Post by TheFeDuke on Feb 9, 2016 13:27:31 GMT -5
I was trying to offer a contribution on the remote chance that it might help someone. Leave it at that, then. None of this is for the standard user and this thread has likely already exceeded its potential audience just with your comments. I used to have standard SPFLite desktop shortcuts and my project testing environment shortcuts. By rolling a simple call to SPFLite into the latter, I can seamlessly test batch scripts with the RUN command in SPFLite and have access to my CD, PATH and stock environmental variables. Happiness is. Thanks, again, and I'll be back
|
|