Post by Stefan on Apr 26, 2017 7:58:10 GMT -5
Observed using Windows 10 Pro Version 1607, 64-bit and SPFLite Version 8.5.7027
I noticed some unexpected effects.
(1) Odd effects with "Alternating BG screen colors" enabled.
Text colorised by SCHEME n (where n<>0) looks wrong on lines using the alternate background set via OPTIONS - SCREEN.
HELP SCHEME states: "If not provided, the [abg] operand is assumed equal to the bg value." That would be fine. However, if [abg] is not specified, it actually defaults to black (&h000000).
(2) HILITE AUTO ON/OFF commands do not always toggle the display unless edit session is closed and reopened.
Example: Unexpected behaviour after saving file with HILITE AUTO OFF in effect
a) Pick a file for which colorisation is defined and Profile specifies HILITE AUTO ON
b) Load the file into the editor -> text is colourised
c) Enter Primary command HILITE AUTO OFF -> text is monochrome
d) Enter Primary command HILITE AUTO ON -> text is colourised
e) Enter Primary command HILITE AUTO OFF -> text is monochrome (so far so good)
f) Press PF3 (END SAVE)
g) Reload file into editor -> text is monochrome (still good)
h) Enter Primary command HILITE AUTO ON -> text REMAINS monochrome, but message "HILITE AUTO is ON" appears
i) Press PF3 (END SAVE)
j) Reload file into editor -> text is colourised
(3) AUTO data colorising doesn't necessarily follow the SCHEME settings
Example:
a) Place the AUTO.AUTO file (see code below) into the SPFLite \AUTO sudirectory
b) Load the AUTO.AUTO file into the editor
c) Enter Primary command HILITE AUTO ON
-> text is colourised, but notice that the word "Yellow" that appears on lines 42 and 139 is shown in the background colour (green)
d) Change both instances from "Yellow" to "Bellow"
e) Press PF3 (END SAVE)
f) Reload the AUTO.AUTO file
-> text is colourised, but notice that the two changed words now display correctly in yellow. However, each instance of "WORD" is now no longer
shown in cyan as specified by SCHEME 3, but in the default colour (green).
In fact, it seems that any replacement 'word' will work correctly as long as it does not start with a "Y", so "Bellow" works ok but "Yonder" doesn't.
I've noticed other instances of words being colorised incorrectly, but the above is the first example where the erroneous effect is reproducible in a confined sample. I suspect that the cause may also have a bearing on observation (4) below.
Sample AUTO.AUTO colourisation file for (3)
(4) SPFLite Execution exception (C0000005) with large Autocolorise files
Admittedly, I have gone overboard with AUTO colourising, but I have some xxx.AUTO files which exceed 1200 lines. There appears to be a memory leak or addressing problem in SPFlite.
When working with a relevant file type, SPFLite crashes in various circumstances. It may happen on loading the file, it may occur after the first edit interaction, on saving the file, or it may be when re-opening or re-saving the file.
The initial abend is an Execution exception (C0000005) which is sometimes swiftly followed by another C000005 or by an "Internal Loop Detected" condition before the user reacts to the first condition. The Module Back Trace and interaction information recorded in SPFLiteCrash.<date&time>.txt do not exhibit any common factors or user interactions.
I noticed some unexpected effects.
(1) Odd effects with "Alternating BG screen colors" enabled.
Text colorised by SCHEME n (where n<>0) looks wrong on lines using the alternate background set via OPTIONS - SCREEN.
HELP SCHEME states: "If not provided, the [abg] operand is assumed equal to the bg value." That would be fine. However, if [abg] is not specified, it actually defaults to black (&h000000).
(2) HILITE AUTO ON/OFF commands do not always toggle the display unless edit session is closed and reopened.
Example: Unexpected behaviour after saving file with HILITE AUTO OFF in effect
a) Pick a file for which colorisation is defined and Profile specifies HILITE AUTO ON
b) Load the file into the editor -> text is colourised
c) Enter Primary command HILITE AUTO OFF -> text is monochrome
d) Enter Primary command HILITE AUTO ON -> text is colourised
e) Enter Primary command HILITE AUTO OFF -> text is monochrome (so far so good)
f) Press PF3 (END SAVE)
g) Reload file into editor -> text is monochrome (still good)
h) Enter Primary command HILITE AUTO ON -> text REMAINS monochrome, but message "HILITE AUTO is ON" appears
i) Press PF3 (END SAVE)
j) Reload file into editor -> text is colourised
(3) AUTO data colorising doesn't necessarily follow the SCHEME settings
Example:
a) Place the AUTO.AUTO file (see code below) into the SPFLite \AUTO sudirectory
b) Load the AUTO.AUTO file into the editor
c) Enter Primary command HILITE AUTO ON
-> text is colourised, but notice that the word "Yellow" that appears on lines 42 and 139 is shown in the background colour (green)
d) Change both instances from "Yellow" to "Bellow"
e) Press PF3 (END SAVE)
f) Reload the AUTO.AUTO file
-> text is colourised, but notice that the two changed words now display correctly in yellow. However, each instance of "WORD" is now no longer
shown in cyan as specified by SCHEME 3, but in the default colour (green).
In fact, it seems that any replacement 'word' will work correctly as long as it does not start with a "Y", so "Bellow" works ok but "Yonder" doesn't.
I've noticed other instances of words being colorised incorrectly, but the above is the first example where the erroneous effect is reproducible in a confined sample. I suspect that the cause may also have a bearing on observation (4) below.
Sample AUTO.AUTO colourisation file for (3)
; SPFLite Colorize file for AUTO
;
; Base colours loosely follow the Basic Windows color numbers but with some changes.
; Base colours are 01 to 09, Dark versions 11 to 19 and Brite version 21 to 29
;
; Full Color values are specified as R=red,grn,blu in DECIMAL, as on Options - Screen - Colour picker
;
; No Text col Backgnd AltBckgnd Text Backgnd Alt Bckgnd Usage
; -- ------------- ------------- ------------- ------------- --------- ------------- ------------------------------
SCHEME 0 R=0,160,0 R=0,0,0 R=18,18,18 Green Black Brite-Black Normal text
SCHEME 10 R=18,18,18 R=0,0,0 R=18,18,18 Black Black Brite-Black Normal background colour
SCHEME 20 R=60,60,60 R=0,0,0 R=18,18,18 Brite-Black Black Brite-Black Alternative background colour
;
SCHEME 1 R=0,0,160 R=0,0,0 R=18,18,18 Blue black Brite-Black
SCHEME 11 R=0,0,128 R=0,0,0 R=18,18,18 Dark-Blue Black Brite-Black
SCHEME 21 R=0,0,255 R=0,0,0 R=18,18,18 Brite-Blue Black Brite-Black
;
SCHEME 2 R=0,160,0 R=0,0,0 R=18,18,18 Green Black Brite-Black
SCHEME 12 R=0,128,0 R=0,0,0 R=18,18,18 Dark-Green Black Brite-Black
SCHEME 22 R=0,255,0 R=0,0,0 R=18,18,18 Brite-green Black Brite-Black
;
SCHEME 3 R=0,160,160 R=0,0,0 R=18,18,18 Cyan Black Brite-Black AUTO Colorisation Keywords
SCHEME 13 R=0,128,128 R=0,0,0 R=18,18,18 Dark-Cyan Black Brite-Black
SCHEME 23 R=0,255,255 R=0,0,0 R=18,18,18 Brite-Cyan Black Brite-Black
;
SCHEME 4 R=196,0,0 R=0,0,0 R=18,18,18 Red Black Brite-Black RGB value label
SCHEME 14 R=128,0,0 R=0,0,0 R=18,18,18 Dark-Red Black Brite-Black
SCHEME 24 R=255,0,0 R=0,0,0 R=18,18,18 Brite-Red Black Brite-Black
;
SCHEME 5 R=160,0,160 R=0,0,0 R=18,18,18 Magenta Black Brite-Black
SCHEME 15 R=128,0,128 R=0,0,0 R=18,18,18 Dark-Magenta Black Brite-Black
SCHEME 25 R=255,0,255 R=0,0,0 R=18,18,18 Brite-Magenta Black Brite-Black
;
SCHEME 6 R=255,64,0 R=0,0,0 R=18,18,18 Orange Black Brite-Black
SCHEME 16 R=128,64,0 R=0,0,0 R=18,18,18 Dark-Orange Black Brite-Black
SCHEME 26 R=255,128,0 R=0,0,0 R=18,18,18 Brite-Orange Black Brite-Black
;
SCHEME 7 R=196,196,196 R=0,0,0 R=18,18,18 White Black Brite-Black
SCHEME 17 R=128,128,128 R=0,0,0 R=18,18,18 Dark-White Black Brite-Black Comments
SCHEME 27 R=255,255,255 R=0,0,0 R=18,18,18 Brite-White Black Brite-Black
;
SCHEME 9 R=196,196,0 R=0,0,0 R=18,18,18 Yellow Black Brite-Black
SCHEME 19 R=128,128,0 R=0,0,0 R=18,18,18 Dark-Yellow Black Brite-Black
SCHEME 29 R=255,255,0 R=0,0,0 R=18,18,18 Brite-Yellow Black Brite-Black
COMMENT1 17 ; 0
DELIMS =
; Hilite RGB value label
WORD 4 =
WORD 4 R
; Auto Colorisation Keywords
WORD 3 COMMENT1
WORD 3 COMMENT2
WORD 3 COMMENT3
WORD 3 COMMENT4
WORD 3 COMMENT5
WORD 3 COMMENT6
WORD 3 COMMENT7
WORD 3 COMMENT8
WORD 3 COMMENT9
WORD 3 DELIMS
WORD 3 ESCAPECHR
WORD 3 EXCLUDE
WORD 3 INCLUDE
WORD 3 LINEHI
WORD 3 LINELO
WORD 3 MIXEDCASE
WORD 3 NORMHI
WORD 3 NORMLO
WORD 3 NUMERIC
WORD 3 QUOTED
WORD 3 SCHEME
WORD 3 WORD
; Mark up Scheme numbers & names according to colour
WORD 1 Blue
WORD 1 1
WORD 1 101
WORD 11 Dark-Blue
WORD 11 11
WORD 11 111
WORD 21 Brite-Blue
WORD 21 21
WORD 21 121
WORD 2 Green
WORD 2 2
WORD 2 102
WORD 12 Dark-Green
WORD 12 12
WORD 12 112
WORD 22 Brite-Green
WORD 22 22
WORD 22 122
WORD 3 Cyan
WORD 3 3
WORD 3 103
WORD 13 Dark-Cyan
WORD 13 13
WORD 13 113
WORD 23 Brite-Cyan
WORD 23 23
WORD 23 23
WORD 4 Red
WORD 4 4
WORD 4 104
WORD 14 Dark-Red
WORD 14 14
WORD 14 114
WORD 24 Brite-Red
WORD 24 24
WORD 24 124
WORD 5 Magenta
WORD 5 5
WORD 5 105
WORD 15 Dark-Magenta
WORD 15 15
WORD 15 115
WORD 25 Brite-Magenta
WORD 25 25
WORD 25 125
WORD 6 Orange
WORD 6 6
WORD 6 106
WORD 16 Dark-Orange
WORD 16 16
WORD 16 116
WORD 26 Brite-Orange
WORD 26 26
WORD 26 126
WORD 7 White
WORD 7 7
WORD 7 107
WORD 27 Brite-White
WORD 27 27
WORD 27 127
WORD 17 Dark-White
WORD 17 17
WORD 17 117
WORD 9 Yellow
WORD 9 9
WORD 9 109
WORD 19 Dark-Yellow
WORD 19 19
WORD 19 119
WORD 29 Brite-Yellow
WORD 29 29
WORD 29 129
WORD 10 Black
WORD 10 10
WORD 10 110
WORD 20 Brite-Black
WORD 20 20
WORD 20 120
(4) SPFLite Execution exception (C0000005) with large Autocolorise files
Admittedly, I have gone overboard with AUTO colourising, but I have some xxx.AUTO files which exceed 1200 lines. There appears to be a memory leak or addressing problem in SPFlite.
When working with a relevant file type, SPFLite crashes in various circumstances. It may happen on loading the file, it may occur after the first edit interaction, on saving the file, or it may be when re-opening or re-saving the file.
The initial abend is an Execution exception (C0000005) which is sometimes swiftly followed by another C000005 or by an "Internal Loop Detected" condition before the user reacts to the first condition. The Module Back Trace and interaction information recorded in SPFLiteCrash.<date&time>.txt do not exhibit any common factors or user interactions.