Bug Report #11 for Niakwa Programming Language Report Date - March 15, 1996This report lists known problems in the Niakwa Programming Language, Releases III and IV, for all platforms supported, which were discovered after August 1, 1994. This report is in addition to Bug Reports 1 through 10. This report is available on the Niakwa BBS and can be downloaded along with a Bug Report Index. NOTES: - The first part of this report contains closed or resolved bugs that were listed in previous reports. Bugs that are listed as "Under Review" in previous reports and are not listed in this report are still open.
- Bugs are identified in this report by problem number, the internal Niakwa bug code number (shown in parentheses). Corrected bugs also reference the report number they were originally published.
- Some bugs described in this report are corrected in a revision of the NPL RunTime that is not yet available for the field. Developers should be aware that Revision 3.xx bug correction may never be released to the field, and are published here for informational purposes only. All bug corrections noted in these releases have also been applied to NPL Release IV (either the current version or future releases).
- An interim revision of Release IV NPL for MS-DOS based platforms, which corrects some of the bugs listed in this report, is available from Niakwa Technical Support on request. Contact Niakwa for details.
- For a current update on corrected bugs, refer to the BBS Bug Index that is updated monthly. The Bug Index can be downloaded or provided upon request.
Corrected Problems Listed in Previous ReportsProblem 4 (00753)/Report 10:Use of the /D option with any value over 16 produces an immediate memory fault. Solution: Corrected on 4.10.16 and greater Programs Affected: RTI, RTP Revision Number: 4.00.20 and greater Platforms: UNIX Problem 6 (00750)/Report 10:The extended form of $SOURCE does not generate a proper p-code label on the file. A version 1.08 label is generated instead of 1.10. Solution: Corrected on 4.10.16 and greater Programs Affected: RTI, B2C Revision Number: 4.00.20 and greater Platforms: All New Open Problems1. Problem: (00840)Using new $BOXTABLE mode 2, box colors on inverse video areas use the background color instead of text color. Solution: Corrected in release 4.20.11 Programs Affected: RTI, RTP Revision Number: 4.20.07 and greater Platforms: MS-Windows 2. Problem: (00839)If a small amount of data is written to a write-protected media, the write protect error does not occur on the DATASAVE statement and a subsequent close using $DEVICE= will cause a memory fault. On large writes the error occurs on the DATASAVE statement. Solution: Corrected in release 4.20.11 Programs Affected: RTI, RTP Revision Number: 4.20.07 and greater Platforms: 386/DOS-Extender 3. Problem: (00838) B2C cannot compile pcode programs with $DECLARE, #INSTALL or #INSTALLID syntax in them. Solution: Corrected in release 4.20.11 Programs Affected: MS-DOS Revision Number: 4.20.07 and greater Platforms: All Intel 4. Problem: (00827)If $OPTIONS byte 47 is set to HEX(01), (no polling for HALT key) even polling KEYIN statements do not check the windows queue. Solution: Corrected in Revisions 4.20.06 and greater. Programs Affected: RTI, RTP Revision Number: 4.10.23 and greater. Platforms: MS-Windows 5. Problem: (00826)If a program contains LIST statements with line numbers in them, a RENUMBER command that will cause the line numbers to change will usually result in a memory fault. Solution: Corrected in Revisions 4.20.04 and greater. Programs Affected: RTI, RTP Revision Number: 4.10.23 and greater Platforms: 386/DOS-Extender 6. Problem: (00824)Access to "raw" diskettes either does not work at all or works very slowly Solution: Corrected in Revisions 4.20.02 and greater Programs Affected: RTI, RTP Revision Number: 4.00.20 and greater Platforms: MS-Windows 7. Problem: (00823)When running the MS-DOS or 386/DOS-Extender version in a DOS box under MS-Windows, repeated use of the "Fail" option in an "Abort/Retry/Ignore" help screen can hang MS-Windows. Solution: Corrected in Revisions 4.20.02 and greater Programs Affected: RTI, RTP Revision Number: 4.00.20 and greater Platforms: MS-DOS, 386/DOS-Extender 8. Problem: (00821)Under rare circumstances, the output p-code generated by the compiler is incorrect. It is difficult to predict when the problem will occur except that it will not occur for small (less than 32 sectors) modules. Solution: Corrected in Revisions 4.20.02 and greater Programs Affected: All Revision Number: 4.00.20 and greater Platforms: All 9. Problem: (00819)Speed when printing to local parallel printers is much slower than on previous releases Solution: Corrected in Revisions 4.20.02 or greater. Programs Affected: RTIWIN, RTPWIN Revision Number: 4.10.30 and greater Platforms: MS-Windows 10. Problem: (00817) If $OPTIONS byte 43 is set to HEX(01), NPL hogs the Windows interface while printer class files are $OPENed. This should only occur when disk class files are $OPENed. Solution: Corrected in Revisions 4.20.02 or greater. Programs Affected: RTI, RTP Revision Number: 4.10.23 and greater Platforms: MS-Windows 11. Problem: (00816)The NPLSYS.BS2 SOURCE I/O functions will not decompile a program with a revision label of 1.01. Solution: Corrected in Revisions 4.10.31 and greater. Programs Affected: All Revision Number: 3.20.02, 4.00.20 and greater Platforms: All 12. Problem: (00814) If a PROCEDURE / FUNCTION declares a local variable and a static variable with the same name is defined in the module while the program is HALTed after the procedure calls a DEFFN located outside the body of the PROCEDURE / FUNCTION, then immediate mode references to that variable name are resolved to the local variable, instead of to the module static variable. Solution: Corrected in Revision 4.10.31 or greater. Programs Affected: RTI Revision Number: 4.00.20 and greater Platforms: All 13. Problem: (00806)The syntax RETURN(STR(A$())), incorrectly decompiles as RETURN(A$()). The produced code is not equivalent, since it is reserved for (future) function types that return array values. Solution: Corrected in Revisions 4.10.29 and greater Programs Affected: RTI, B2C Revision Number: 4.00.20 and greater Platforms: All 14. Problem: (00791)RunTime fails to detect a recoverable D81 error if only a single sector is available in the diskimage. Solution: Corrected in release 4.20.11 Programs Affected: RTI, RTP Revision Number: 4.20.07 and greater Platforms: MS-DOS, MS-Windows, 386/DOS-Extender, Novell 15. Problem: (00788)Under Windows 3.11, configured with Novells VLM version of NETWARE.DRV, NPL incorrectly detects a, "Novell Network is running but no NETWARE.DRV is configured in SYSTEM.INI". The problem occurs on workstations unattached from a network with single user RunTimes installed. Solution: Corrected in release 4.20.10 Programs Affected: RTI, RTP Revision Number: 4.20.07 and greater Platforms: MS-Windows 16. Problem: (00786)Under Windows95, the browse and SF key bars open in the upper left corner of the desktop. Any attempt to move either window causes an immediate shift of focus back to the NPL Window, making it impossible to move either. Solution: Corrected in release 4.20.10 Programs Affected: RTI, RTP Revision Number: 4.20.07 and greater Platforms: Windows95, WindowsNT 17. Problem: (00782)In a Novell or NetBIOS environment, when a $OPEN / $CLOSE is directed to a local print class device, an unexpected increase of packets are sent to the network when none should be sent. Solution: Under Review Workaround: Assure that $OPEN is used for the duration of the print job. This problem is only really noticeable when running remote workstations over a phone line. Programs Affected: RTIWIN, RTPWIN Revision Number: 4.10.23 and greater Platforms: Windows / Network 18. Problem: (00781)The RESTORE pointer is not set properly when: An Overlay containing new DATA statements is performed An INCLUDEd module in the root is deresolved on the overlay.
Solution: Corrected on Release 4.10.29 and greater. Programs Affected: RTI, RTP Revision Number: 4.10.23 and greater Platforms: All Intel 19. Problem: (00779)RTI386 is substantially slower than RTI when executing polling KEYINs. Solution: Corrected in release 4.10.27 and greater by enabling Byte 51 of #OPTIONS to HEX(01). Programs Affected: RTI386, RTP386 Revision Number: 4.10.23 and greater Platforms: 386/DOS-Extender 20. Problem: (00774)The -p option does not work, with Preboot, or from the command line. Solution: Corrected on 4.10.24 and greater Programs Affected: RTI, RTP Revision Number: 4.10.13 and greater Platforms: Intel UNIX 21. Problem: (00770)A program line containing a DATA statement with more than 9 elements is destroyed, as shown when attempting to list or edit the line. Solution: Corrected on 3.21.10.17 and greater Programs Affected: RTI, RTP Revision Number: 3.21.10.09 and greater Platforms: Solaris/ HP UX 22. Problem: (00767)NPL fails to detect "BASIC2C_ID=xx" when set in a stand alone configuration. Solution: Corrected on 4.10.18 and greater Programs Affected: RTI, RTP Revision Number: 4.10.02 and greater Platforms: Windows / 386/DOS-Extender 23. Problem: (00761)NPL fails with a P48 error when the PRINT option is selected from the HELP screen. Solution: Corrected on 4.10.18 and greater Programs Affected: RTI, RTP Revision Number: 4.10.06 and greater Platforms: Windows 24. Problem: (00760)($IF ON /001,xxx) branches regardless of a keystroke at startup, if debug is on. Solution: Corrected on 4.10.18 and greater Programs Affected: RTI Revision Number: 4.10.02 and greater Platforms: MS-Windows 25. Problem: (00696)A callback to NPL during a $BREAK statement is disabled, it should not be. In addition, a HALT key pressed during a $BREAK is not detected immediately and should be. Solution: Corrected on 4.10.25 and greater Programs Affected: RTI,RTP Revision Number: 4.10.23 and greater Platforms: MS-Windows 26. Problem: (00697)Pressing SFkeys (including TAB = SF126) when the current program module containing GOSUB references to the same function, but no DEFFN definitions for the referenced function can result in garbage being displayed as if there were a marked function key literal, i.e. DEFFN 126 "Lots of garbage". Solution: Corrected in release 4.10.25 and greater Programs Affected: RTI Revision Number: 4.10.23 and greater Platforms: All Intel 27. Problem: (00693)If SELECT LOG in enabled, a KEYIN statement can cause the RunTime to fault. It is also possible that an error writing to the log file would not be reported at the correct line number in the code, if log device has the ERR=Y option. Solution: Corrected in release 4.10.25 and greater Programs Affected: RTI Revision Number: 4.10.23 and greater Platforms: MS-Windows 28. Problem: (00691)If an INPUT SCREEN or PRINT SCREEN specifies line and rows values such that line+rows = 25, this should be flagged as a range error. It is not. Solution: Corrected in release 4.10.26 and greater Programs Affected: RTI, RTP Revision Number: 4.00.20 and greater Platforms: All 29. Problem: (00688)When accessing communications ports with MXE=Y option, if the first statement directed to the device is not a $OPEN, access to the file will return incorrect information and can result in address faults and crashes. Solution: Corrected in release 4.10.25 and greater Workaround: Problem does not occur if the first access is via a $OPEN. Programs Affected: RTI, RTP, WIN2227.DLL Revision Number: 4.10.25 and greater Platforms: MS-Windows 30. Problem: (00687)If an INPUT statement containing arguments involving FUNCTION calls is exited via a special function key, when the DEFFN function RETURNs, the INPUT statement doe not restart from the beginning. The program can get errors, hang, or crash the operating system. Solution: Corrected in release 4.10.25 Programs Affected: RTI, RTP Revision Number: 4.00.20 and greater Platforms: All Intel 31. Problem: (00686)If a program has a PUBLIC section containing INCLUDE statements, scoping rules for USES statements may not apply. Solution: Corrected in release 4.10.25 and greater Programs Affected: RTI, RTP Revision Number: 4.00.20 and greater Platforms: All Intel 32. Problem: (00685)Applications that INCLUDE many modules within their own PUBLIC section may be unable to reference named PUBLIC sections with a USES statement. The problem will occur on USES statements in modules where a preceding PUBLIC section INCLUDE or USE statements reference an exact multiple of 14 PUBLIC sections. Workaround: When this occurs, add an additional INCLUDE statement for an empty module. Solution: Corrected in release 4.10.25 Programs Affected: RTI, RTP Revision Number: 4.00.20 and greater Platforms: All Intel 33. Problem: (00684)If a line function ( e.g. DEF FNA(X) ) within a FUNCTION or PROCEDURE body uses a dummy variable which is also passed to the function as a /POINTER parameter, evaluating the function can hang or crash RTI. Solution: Corrected in release 4.10.25 and greater Programs Affected: RTI, RTP Revision Number: 4.10.23 and greater Platforms: All 34. Problem: (00682)If the number of open files is extended with a SELECT #nn statement, the extension area could be deleted before the /EXIT procedure was run, resulting in an invalid file number error. Solution: Corrected in release 4.10.24 and greater Programs Affected: RTI, RTP Revision Number: 4.00.20 and greater Platforms: All 35. Problem: (00677)Compiling expressions which use functions can result in incorrect expression evaluation order. A numeric function followed by numeric operators is executed as if in parentheses, even where it is not. Example: Y=X* FUNCTION (T)+2 :; compiles incorrectly and decompiles as: Y=X* (FUNCTION (T)+2) Solution: Corrected in release 4.10.24 and greater Programs Affected: RTI, B2C Revision Number: 4.00.20 and greater Platforms: All 36. Problem: (00676)If the Debug Window is shut down while immediate mode commands are in progress, a fault can occur. This is particularly likely on commands that take some time, like: (1) Long FOR / NEXT loops (2) If PRINT delays due to SELECT Pn pauses are enabled (3) $SHELL command or invoke (!) In progress Solution: Corrected in release 4.10.24 Programs Affected: RTI Revision Number: 4.10.23 and greater Platforms: All that support a DEBUG window. 37. Problem: (00675)DATA SAVE DC CLOSE #x statement leaves flag set that can cause a subsequent LOAD executed in a PROCEDURE or FUNCTION to fail. Solution: Corrected in release 4.10.24 and greater Programs Affected: RTI, RTP Revision Number: 4.10.23 and greater Platforms: All 38. Problem: (00672)/EXIT procedures may not run to completion if RTIWIN is shut down with the Close system menu option or by a general windows shutdown. Solution: Corrected in release 4.10.24 Programs Affected: RTI, RTP Revision Number: 4.00.20 and greater Platforms: MS-Windows 39. Problem: (00670)External libraries that use floating point and do not have an RTPEXT_SHAREABLE function occasionally crash with a kernel GPF. Solution: Corrected in release 4.10.23 and greater Programs Affected: RTI, RTP Revision Number: 4.00.20 and greater Platforms: MS-Windows 40. Problem: (00669)If a LIST function pauses with a --MORE-- prompt, and a $DEMO script is active to supply the (-RETURN-) key, the LIST will not continue properly ( or the program may hang). Solution: Corrected in release 4.10.23 Programs Affected: RTI Revision Number: 4.00.20 and greater Platforms: All 41. Problem: (00668)If a LIST option with a restricted line number range is entered or executed immediately before a program SAVE or RESAVE operation, the SAVEd program may have an invalid p-code label and may not load if the program uses Release IV syntax. Example: : LIST V (100,7999) A$
: RESAVE T "PROGRAM" 100,8999
If there is code between lines 7999 and 8999, the program is not correctly saved. Solution: Corrected in release 4.10.23 and greater Programs Affected: RTI Revision Number: 4.00.20 and greater Platforms: All 42. Problem: (00662)Some versions of NETX.EXE (esp 3.31) do not report locking errors correctly to RTI, this can result in I98 errors, especially if the HEX(01) bit in $OPTIONS byte 39 is set. Solution: Corrected in release 4.10.22 and greater. Programs Affected: RTI, RTP Revision Number: 4.10.02 and greater Platforms: Novell 43. Problem: (00660)When using true boxes on a W2236 terminal, the interior on BOX displays, displayed during $DEMO scripts, may contain pieces of previously existing boxes. Solution: Corrected in release 4.10.22 and greater Programs Affected: RTI, RTP Revision Number: 3.01.07 and greater Platforms: SuperDOS, UNIX, Xenix, and AIX with DigiBoard 44. Problem: (00659)Unstructured exits (e.g. LOAD T, LOAD RUN, CLEAR, $END) from an automatically invoked /EXIT procedure crash the RunTime or behave erratically. NOTE: Unstructured exits are not good programming practice. Solution: Corrected in release 4.10.22 and greater Programs Affected: RTI, RTP Revision Number: 4.00.20 and greater Platforms: All 45. Problem: (00658)If a program HALTs or STOPs while in an automatically executing /EXIT procedure, when the program is CONTINUEd, an address fault occurs when it completes the PROCEDURE. Solution: Corrected in release 4.10.22 and greater Programs Affected: RTI, RTP Revision Number: 4.00.20 and greater Platforms: All 46. Problem: (00655)Hardware interrupts can corrupt the stack if RTI is executing a critical code section during a program overlay. This is most likely to occur when the PC is used as a server ( non-dedicated Novell or peer-to-peer) under heavy interrupt load. Solution: Corrected in release 4.10.21 and greater Programs Affected: RTI, RTP Revision Number: 4.00.22 and greater Platforms: MS-DOS, Novell 47. Problem: (00654)An indirect specification of a string function requires a $ in the alpha-var used for the name. ( It should not be required.) Solution: Corrected in release 4.10.21 and greater Programs Affected: RTI, RTP Revision Number: 4.00.20 and greater Platforms: All 48. Problem: (00653)A LIST D after a LIST that referenced named DEFFNs did not properly show referenced lines ( with a - preceding the line number). Solution: Corrected in release 4.10.20 and greater Programs Affected: RTI Revision Number: 4.00.20 and greater Platforms: All 49. Problem: (00652)If a program is HALTed while automatically executing the /MAIN procedure of an INCLUDE module, the Warning - RUN statement is incomplete message should appear, as it does for STOP statements, but doesnt. Solution: Corrected in release 4.10.20 and greater Programs Affected: RTI Revision Number: 4.00.20 and greater Platforms: All 50. Problem: (00651)Stepping through a program SAVE or RESAVE statement results in an improperly saved program. Attempts to load a program SAVEd in this manner may result in address faults or Block link chain broken messages. Solution: Corrected in release 4.10.20 and greater Programs Affected: RTI Revision Number: 4.00.20 and greater Platforms: All |