RodBird
Oct 29, 2015
Bugs and Gotchas
The CommunityBugs and Gotchas
| - | Unary minus is not supported, use 0-x | Gotcha |
| = | If you try to compare two floats x.x y.y they will never be equal | Gotcha |
| !insert | Texteditor !insert command requires a locally scoped string | Bug |
| % | If this appears in front of a using() number its too big to fit | |
| * | A missing * in a maths statement is not caught, always insert * | http://libertybasicbugs.wikispaces.com/Missing+%2A+not+caught+in+expressions |
| , | Missing , are sometimes not reported, check , are inserted | http://libertybasicbugs.wikispaces.com/Missing+commas+are+not+reported |
| Beep | Beep is not supported by modern BIOS, use Playwave instead | http://libertybasicbugs.wikispaces.com/BEEP |
| Box graphics | Box draws one pixel short, just set the last pixel | http://libertybasicbugs.wikispaces.com/Line+and+Box+draw+one+pixel+short |
| Branch labels | A [Branch Label] should not head up another [Branch Label] | http://libertybasicbugs.wikispaces.com/Branch+Labels |
| Button | Button anchor values result in misplaced buttons | http://libertybasicbugs.wikispaces.com/Button+anchor+misplacement |
| Calldll | Calldll return types USHORT and WORD are broken | http://libertybasicbugs.wikispaces.com/CALLDLL+return+types+%27ushort%27+and+%27word%27+are+broken |
| Close | Random file's close command cannot use a Handle$ variable | http://libertybasicbugs.wikispaces.com/Handle+variables+do+not+work+with+RANDOM+files |
| Data | If you precede the data statement with line numbers it will fail | http://libertybasicbugs.wikispaces.com/DATA |
| Error message | Attempted to kill non-existant file | Fast FAQ |
| Error message | Stack Overflow | Fast FAQ |
| Error message | Collection is empty | Fast FAQ |
| Error message | Argument must be a collection | Fast FAQ |
| Error message | Index (n) is outside collection bounds | Fast FAQ |
| Error message | Invalid Branch Label [xyz] | Fast FAQ |
| Error message | Float invalid op | Fast FAQ |
| Error message | System Primitive Failed | Fast FAQ |
| Error message | File is literally invisible | Fast FAQ |
| Error message | Error Opening file | Fast FAQ |
| Error message | File System Access Denied | Fast FAQ |
| Error message | Problem creating file | Fast FAQ |
| Error message | OS Error cannot find file | Fast FAQ |
| Error message | Key is missing | Fast FAQ |
| Error message | String can't hold string | Fast FAQ |
| Error message | A non-continuable protection violation has occurred | Fast FAQ |
| Error message | IsEmpty | Fast FAQ |
| Field | Random file's field command cannot use a Handle$ variable | http://libertybasicbugs.wikispaces.com/Handle+variables+do+not+work+with+RANDOM+files |
| File Association | Associating liberty.exe to .bas files needs manual fix on upgrade | http://libertybasicbugs.wikispaces.com/File+Association+.bas |
| For Next | Incorrectly allows a string variable as a loop counter | http://libertybasicbugs.wikispaces.com/FOR-allows+string+index+variable |
| For Next | Do not use a global variable as a loop counter | http://libertybasicbugs.wikispaces.com/FOR-global+loop+counter |
| For Next | Don't jump out a for next loop, leave using exit for | http://libertybasicbugs.wikispaces.com/Jumping+out+of+a+nested+FOR+loop |
| For Next | A STRUCT variable cannot be used as a loop counter | http://libertybasicbugs.wikispaces.com/Structure+member+cannot+be+used+as+FOR+variable |
| Function | Arrays are global by default and availbale inside functions | http://libertybasicbugs.wikispaces.com/Arrays+Not+Passed+to+Subs |
| Function | Global variables need not be passed to functions | http://libertybasicbugs.wikispaces.com/FUNCTION+with+GLOBAL+parameter |
| Get | Random file's get command cannot use a Handle$ variable | http://libertybasicbugs.wikispaces.com/Handle+variables+do+not+work+with+RANDOM+files |
| Handle$ | Handle$ variables do not work with RAF files | http://libertybasicbugs.wikispaces.com/Handle+variables+do+not+work+with+RANDOM+files |
| Horizscrollbar | Large graphics need special preparation | http://libertybasicbugs.wikispaces.com/Scrollbars-Graphics-Distorted |
| IDE | IDE-editor - Undo feature does not work + some quirks | http://libertybasicbugs.wikispaces.com/Environment |
| Inkey$ | The help file reference listing Virtual Key Codes is erroneous | http://libertybasicbugs.wikispaces.com/HELPFILE-virtual+key+codes |
| Input var$;val | Input cannot use a var$ as a prompt, it needs to be literal | http://libertybasicbugs.wikispaces.com/INPUT-variable+as+prompt |
| Inputcsv | Does not deal with embeded quotes correctly | http://libertybasicbugs.wikispaces.com/INPUTCSV+does+not+accept+embedded+quotes |
| Line graphics | Line and Lineto draw one pixel short, just set the last pixel | http://libertybasicbugs.wikispaces.com/Line+and+Box+draw+one+pixel+short |
| Listbox | Changes to font size after creation breaks scroll range | http://libertybasicbugs.wikispaces.com/Listbox+horizontal+scroll+range |
| lof() | Lof() function reports incorrect files size for files > 4Gb | http://libertybasicbugs.wikispaces.com/lof%28%29+reports+wrong+file+size+for+large+files |
| Mainwin | Mainwin permanently alters width, reset to 80 using preferences | http://libertybasicbugs.wikispaces.com/MAINWIN+changes+preferences |
| Mid$() | Mid$() reads a string fragment, it cannot assign a string fragment | http://libertybasicbugs.wikispaces.com/MID-can+not+assign+value |
| middleButtonMove | middleButtonMove event is broken | http://libertybasicbugs.wikispaces.com/middleButtonMove+event |
| Pie graphics | Pie and Piefilled drawing distorted | http://libertybasicbugs.wikispaces.com/Pie+and+Piefilled+drawing+distorted |
| Piefilled graphics | Pie and Piefilled drawing distorted | http://libertybasicbugs.wikispaces.com/Pie+and+Piefilled+drawing+distorted |
| Printerdialog | Printerdialog is broken an API alternative is available | http://libertybasicbugs.wikispaces.com/PRINTERDIALOG-broken+for+XP+and+higher |
| Prompt | If you use prompt when a timer is running Liberty will crash | http://libertybasicbugs.wikispaces.com/Timer+and+Prompt+conflict |
| Put | Random file's put command cannot use a Handle$ variable | http://libertybasicbugs.wikispaces.com/Handle+variables+do+not+work+with+RANDOM+files |
| Put | Attempting to write to record 0 erronously creates a 4Gb file | http://libertybasicbugs.wikispaces.com/PUT+%E2%80%93+attempt+to+write+record+0+writes+4Gb+file |
| Redim | Redim acts on an existing array a(x,y) x,y cannot change | http://libertybasicbugs.wikispaces.com/Redim++fails+to+redimension+an+array |
| Rnd(0) | Rnd(0) has a slight bias, improved routines are available | http://libertybasicbugs.wikispaces.com/Improved+RND%28%29+function |
| Sort | Sort a(),r,c,col if r is less than c sorting breaks above col is >r | http://libertybasicbugs.wikispaces.com/Sort |
| Sort | Sorting is not in ASCII order it is dictionary order but flawed | http://libertybasicbugs.wikispaces.com/SORT-fails+to+provide+dictionary+order |
| STRUCT | STRUCT keyword is case sensitive | http://libertybasicbugs.wikispaces.com/STRUCT-keyword+is+case+sensitive |
| STRUCT double | STRUCT member of type double crashes if you assign and integer | http://libertybasicbugs.wikispaces.com/STRUCT-DOUBLE+crashes+then+assigning+integer |
| STRUCT Variable | STRUCT variable cannot be used as a For loop counter | http://libertybasicbugs.wikispaces.com/Structure+member+cannot+be+used+as+FOR+variable |
| Sub | Arrays are global by default and available inside Subs | http://libertybasicbugs.wikispaces.com/Arrays+Not+Passed+to+Subs |
| Sub | Global variables need not be passed to Subs | http://libertybasicbugs.wikispaces.com/FUNCTION+with+GLOBAL+parameter |
| Texteditor | The !insert command must use a locally scoped string | http://libertybasicbugs.wikispaces.com/TEXTEDITOR+%21insert |
| Texteditor | The undo feature is broken | http://libertybasicbugs.wikispaces.com/TEXTEDITOR+-+Undo+feature+doesn%27t+work |
| Time$() | Time$() arguments are case sensitive, lower case | http://libertybasicbugs.wikispaces.com/TIME-arguments+are+case+sensitive |
| Timer | If you use prompt when a timer is running Liberty will crash | http://libertybasicbugs.wikispaces.com/Timer+and+Prompt+conflict |
| Timer | If a timer is set you must consider where the scope is when it fires | http://libertybasicbugs.wikispaces.com/TIMER-sub+as+event+handler |
| Timer | Timer events repeat, you must turn them off asap | FastFAQ |
| Timer | Only a timer encased entirely within a sub will work | FastFAQ |
| Trapclose | Trapclose is broken for windows of type text | http://libertybasicbugs.wikispaces.com/TRAPCLOSE+does+not+work+correctly+in+text+window |
| Using | Using is accurate to 16 digits, beyond that is garbage | http://libertybasicbugs.wikispaces.com/USING+loses+accuracy+after+16+digits |
| Using() | If a % appears the number is too big to fit in the format | http://lbpe.wikispaces.com/FastFAQ#Fast FAQ:-Using(): |
| Vertscrollbar | Large graphics need special preparation | http://libertybasicbugs.wikispaces.com/Scrollbars-Graphics-Distorted |
| Virtual Key Code | The help file reference listing Virtual Key Codes is erroneous | http://libertybasicbugs.wikispaces.com/HELPFILE-virtual+key+codes |
| Window type Dialog | Dialog windows may position incorrectly if DPI is not 96 | http://libertybasicbugs.wikispaces.com/DIALOG-wrong+position |
| Window type Text | Trapclose is broken for windows of type text | http://libertybasicbugs.wikispaces.com/TRAPCLOSE+does+not+work+correctly+in+text+window |
Bugs and Gotchas