2015/09/09

Known bugs in X-BASIC for iOS V3.10

Known bugs in X-BASIC for iOS V3.10 are below:
  1. Sometimes, text character displays too small.
  2. The system falls when the program source is terminated without 'next' paired with 'for'.
  3. The system falls when the program source is terminated without 'endwhile' paired with 'while'.
  4. The system falls when the program source is terminated without 'until' paired with 'repeat'.
  5. The system falls when the program source is terminated without 'endswitch' paired with 'switch'.
  6. The system falls when the program source is terminated without 'endfunc' paired with 'func'.
  7. The system falls when the program source is terminated without 'endenum' paired with 'enum' or 'fenum'.
  8. system error occurs when you declare a 10-dimensional array.
  9. If you try to save a file from the "Creat New", ".!" is displayed in the file name input field.
  10. The cardInit() does not correspond the SHIFT-JIS filename.
  11. A program line with number can not be read correctly.
  12. "Old display compatibe" in settings does not become ON.
  13. If the first character in the program source is a surrogate pair characters, it does not display the characters in the font selection view.
  14. If you include the surrogate pair characters in symbolt(), it is not displayed correctly.
  15. In the some external function, run-time error is ignored.
  16. Text charater of text screen may be too small.
  17. The beep2()'s argument floadonly is ignored.
  18. You seem that the touch area is not released by removeTouchArea().
  19. It becomes abnormal operation when you do not omit the argument of bitmapImgLoad() or bitmapTileImgLoad().
  20. When you display an integer number by 'print', The displaying space in front of the number is different from the X-BASIC/68.
  21. It issues a new line when you write Print "~"; //.
  22. When you print double-byte characters at last column in the text screen,it does not issue new line before.
  23. The display corrdinate of function keys are illegal.
  24. Sometime system fall at bitmapOpen().
  25. At the first launching, the setup data for v3.0 later are not initialized.
  26. In zipExpand (), you can not expand the Japanese file name files in Zip made under Windows environment.
  27. Sometime th return information of jpegHeader()/pngHeader() is illegal.
  28. The system fall when motionGetRotation()/compassGetData()/symbol(,ht)/fontSize(,wy)/getWidth(,fontWx,fontWy) returns float value to float variables.
  29. After using the motion function, working memory has been still allocated.
  30. When you call 'end' statement without motionEnd(), the motion function has been still run.
  31. The date and time of file creating are not correct at making zip archive with emailSend.
  32. The return value of str$(positive number) is not same as X-BASIC/68.
  33. If you call the bitmapImgLoad () for the same graphics page in a short period of time, sometimes drawing is delayed or lack
All bugs except last one are resolved in V3.40.

In addition, the following is a specification:
  1. When you use dimension argument in internal function, you can not use enum constant to the size specified.
    Example : func f(masu(WW,WW);int):// error occur
  2. When writing the enum values using the equation, it is an error to uses some operators consecutively two or more.
    enum
      C=1+2+4          OK
      D=1 or 2 or 4    Error
      E=(1 or 2) or 4  OK
    endenum
    
1st is due to the following reasons:
  1. The internal function's name and argument are registered within preprocess of compile.
  2. The enum constant is determined within compile process.
  3. Therefore, in preprocess, the enum constant is not referable.
This is very difficult to solve. I made a comparison between the frequency of use and the effort of implementation and debugging.
As a result, I decided this to "limit as a specification".

2nd is derived from the method of generating internal code, it is very difficult to modified.
Therefore, this is considered as a specification.
The formula writing in the enum, please enclose with () in every operator.

No comments:

Post a Comment