Niakwa, Inc.

    

 


What's News
NPL Products
NPL Support
NPL Downloads
System Integration
swiggle_small.gif (991 bytes)

swiggle_small.gif (991 bytes)

Bug Report #8
for Niakwa Programming Language
Report Date - October 15, 1993

This report lists known problems in the Niakwa Programming Language, Release III and IV, for all platforms supported, which were discovered after June 1, 1993. This report is in addition to Bug Reports 1 through 7. This report is available on the Niakwa BBS and can be downloaded along with a Bug Report Index.

NOTES: The first part of the 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), and the previous Report number.

Some bugs described in this report are corrected in a revision of the NPL RunTime that is not yet available for the field. In addition, Release III bugs noted as corrected in unreleased 3.xx versions of NPL are considered maintenance releases and will continue to be performed until all NPL platforms have been updated to Release IV. Developers should be aware that Revision 3.xx maintenance releases 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).

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.

For the latest product release available, refer to the latest Niakwa Newsletter or the Niakwa BBS.

Corrected Problems Listed in Previous Reports

Problem 7 (00427)/Report 6:

Under MS-Windows, attempts to set #PART to a value greater than 112 result in the error message, "Partition <#> mapped to network partition 113 number exceeds maximum".

Solution: Corrected in Revision 4.00.17.00.N or greater. The maximum value for #PART is now 999.

Programs Affected: RTI, RTP, BESDK

Revision Number: 3.20.11.00.N

Platforms: MS-Windows

Problem 15 (00410)/Report 6:

Under AIX on the IBM RS/6000, attempts to compile from ASCII code to p-code/OBJ format result in the error message "no names found in" when the ASCII (.SRC) file is not in the current directory.

For example:

b2c /usr/BASIC2C/uextrn/include/MYBOOT

entered from the /usr directory generates the above error.

NOTE: If the ASCII file is located in the current directory, the problem does not occur.

Solution: Under review.

Programs Affected: B2C

Revision Number: 3.20.15.07.U and greater

Platforms: IBM RS/6000 or any later "C" port platforms.

Problem 33 (00346)/Report 6:

On occasion, attempts to start, close, and restart four or more windows using the NPL MS-Windows RunTime with external calls results in the error message:

Insufficient DOS memory to pass security.

Ensure there is 16K free DOS memory.

Solution: Corrected in Revision 4.00.20.N or greater.

Programs Affected: BESDK

Revision Number: 3.20.11.00.N

Platforms: MS-Windows 3.0

Problem 5 (00462)/Report 7

Under MS-Windows, attempts to set bytes 29 and 30 of $OPTIONS do not result in remapping of the available colors for video attribute replacement on terminals with less than 64K and only four colors available. These bytes work under the MS-DOS/Novell NetWare RunTime in graphic mode.

Solution: Corrected in Revision 4.00.17.00.N or greater.

Programs Affected: RTI, RTP, BESDK

Revision Number: 3.20.11.00.N and greater

Platforms: MS-Windows

New Open Problems

1. Problem: (00521)

Any "read only" operations performed to a diskimage after a "READ DC" statement may hang the system (under MS-Windows, the task running NPL will hang).

For example, after execution of the following program:

10 $DEVICE(/D11)="F:\BASIC2C\TEST.BS2"

20 READ DC T/D11, A$, A, FILE="FIL", TYPE="D"

a command like "RENAME T/D11, FROM "FILE1" TO "NEWFILE" hangs the system under MS-DOS or Novell NetWare.

Solution: Corrected in Revisions 3.21.13 and 4.00.17 or greater.

Programs Affected: RTI, RTP, BESDK

Revision Number: 3.20 and greater

Platforms: All

2. Problem: (00508)

Under MS-Windows, attempts to print in landscape mode by choosing this option in the Printer Configuration Dialog Box are unsuccessful. When the printer device is set as $DEVICE(/215)=">(?) CFG=?", two dialog boxes are displayed, one to select the desired printer and the other to choose different options for the selected printer. The landscape mode is always ignored.

Solution: Corrected in Revision 4.00.17 or greater.

Programs Affected: RTI, RTP

Revision Number: 3.20.11.00.N and greater

Platforms: MS-Windows

3. Problem: (00493)

When LIST V encounters a LIMITS statement that uses the same letter for the used and status information, it lists that variable only once instead of twice.

For example:

10 LIMITS T#1,"FILE1",X,E,J,J

a LIST V command will result in:

J - 0010

Solution: This problem is due to optimization by the compiler and will not be changed. The variable displaying the "USED" information (third numeric parameter) in a LIMITS statement will not be displayed by the LIST V if it has the same name as the "TYPE" variable (fourth numeric parameter). This occurs due to optimization by the compiler that assumes that, if the two variables (USED and TYPE) are the same, the program does not use the "USED" value.

Programs Affected: RTI, RTP, BESDK

Revision Number: 2.x and greater

Platforms: All

4. Problem (00573)

Under the 386/DOS-Extender, a PRINT SCREEN statement that specifies an AT( ) parameter, without a subsequent BOX( ) parameter, may result in an Error 34, "Invalid Range".

Solution: It is difficult to predict when the error will occur. The problem can be avoided by explicitly entering the BOX( ) clause. In a routine where the size of the BOX is not known, it can be easily referenced from the screen buffer. For example, the following code uses the box values stored in the screen buffer (assuming S$ is the screen buffer).

PRINT SCREEN S$,AT(8,11),BOX(VAL(STR(S$,71)),VAL(STR(S$,72)))

Corrected in Revision 4.00.21.00.P.

Programs Affected: RTI, RTP

Revision Number: 3.20.15.00.P

4.00.20.00.P

Platforms: 386/DOS-Extender

5. Problem (00572)

Attempts to draw a box after using dynamic color attribute selection, result in a box with the top left corner in the colors used by the dynamic attribute.

Solution: Problem is under review.

Programs Affected: RTI, RTP, BESDK

Revision Number: 3.20.13.00.X

Platforms: INTEL XENIX/UNIX (SCO, AT&T, Interactive, Altos)

6. Problem (00568)

If external routines used with MS-Windows BESDK create timers with the SetTimer API call and a NULL windows handle, timer events are not dispatched to the timer callback routines (if NPL gets the WM_TIMER message from the task queue).

Solution: Use a valid window handle for the SetTimer call. This ensures that the message will be dispatched by NPL to the required callback routine. One possible value would be the NPL main window handle, as passed to the RTPEXT_MAIN routine (if defined). If the main window used by RTI is used for the SetTimer call, avoid using timer ID's less than 0x100 to prevent conflicts with NPL's own timers.

Corrected in Revision 4.00.21.00.N.

Programs Affected: RTI, RTP

Revision Number: 4.00.20.00.N

Platforms: MS-Windows

7. Problem (00567)

Attempts to compile from p-code to p-code with REMS off with long lines (statements spanning four or five screens) are not handled properly by B2C.

Solution: Corrected by Revision 4.00.21.00.I.

Programs Affected: B2C

Revision Number: 4.00.20.00.I

Platforms: MS-DOS, Novell NetWare

8. Problem (00566)

Release IV can incorrectly scan long identifiers that are constants (_XXX) or global variables (@XXX) when there is a single space between the underline or @ and the first letter of the identifier. The identifier is not treated in the same way as it would be if the space were omitted.

0010 DIM _Hi=10,@Low=5

PRINT _ Hi :; note typo - space between _ and H

PRINT @ Low :; note typo - space between @ and L

RUN

0

0

If byte 38 of $OPTIONS is "on" (require explicit variable dimensioning), an error for the undefined variable "_ Hi" would be generated.

Solution: Corrected by Revision 4.00.21.00.I.

Program Affected: RTI, RTP, B2C

Revision Number: 4.00.20.00.I

Platforms: MS-DOS, Novell NetWare, MS-Windows,

386/DOS-Extender

9. Problem (00565)

The compiler generates an incorrect (non-variable) argument type for string fields, if the field name is specified indirectly using a constant string-variable.

0010 RECORD /PUBLIC X

FIELD Stuff$10

END RECORD

0100 PROCEDURE 'DisplayString(/POINTER String$)

END PROCEDURE

DIM LicenseData$#RECORDLENGTH(X)

PROCEDURE 'PrintField(/POINTER _FieldName$)

'DisplayString(LicenseData$.<_FieldName$>$)

END PROCEDURE

0120 'PrintField($NAMEOF(FIELD .Stuff$))

RUN

0100 :::: 'DisplayString(LicenseData$.<_FieldName$>$)

^

ERR 215: Argument for non-constant /POINTER parameter is not modifiable.

Use a STR( ) function, a #FIELDSTART and #FIELDLENGTH function, to avoid the problem.

For example, replace:

'DisplayString(LicenseData$.<_FieldName$>$)

with:

'DisplayString(STR(LicenseData$,#FIELDSTART(<_FieldName$>$), #FIELDLENGTH(<_FieldName$>$)))

Solution: Corrected in future releases.

Programs Affected: RTI, RTP, B2C

Revision Number: 4.00.20.00.I

Platforms: All

10. Problem (00564)

The compiler can generate bad p-code for a statement of the form:

DIM string-var$=initialvalue

when initial value involves either of the following built-in string functions:

$NAMEOF(FIELD .x)

$FIELDFORMAT(.x)

For example:

DIM FieldName$=$NAMEOF(FIELD .Stuff$)

DIM FieldFmt$=$FIELDFORMAT(.Stuff)

DIM FieldImg$='CompatibleImage($FIELDFORMAT(.Stuff))

Listing the statement generates a "?" after the initial value. Attempting to execute the statement can cause unpredictable results.

Solution: Corrected by Revision 4.00.21.00.I.

Programs Affected: RTI, B2C

Revision Number: 4.00.20.00.I

Platforms: All

11. Problem (00563)

The time required to execute LIST PUBLIC statements increases dramatically as the number of public variables declared increases. This problem only occurs when the number of public items is very large.

Solution: Corrected in Revision 4.00.21.00.I .

Programs Affected: RTI

Revision Number: 4.00.20.00.I

Platforms: All

12. Problem (00558)

Certain calls to external DEFFN's that must allocate memory from DOS may return indicating that memory is not available, even if the RTPDEF_FLAGS_NO_MALLOC bit was not set by the routine (indicating that memory requests will be made).

The problem can occur if:

1. The GOSUB' is issued from immediate mode.

2. Any of the arguments of the GOSUB' involves function calls.

Solution: Corrected by Revision 4.00.21.00.I.

Programs Affected: RTI, RTP

Revision Number: 4.00.20.00.I

Platforms: MS-DOS, Novell NetWare

13. Problem (00543)

Attempt to change colors using bytes 22 and 23 of $OPTIONS does not work correctly when a 64K color palette is in use. This problem only occurs under MS-Windows. The foreground and background colors do not change at all. The perimeter color changes but always at low bit colors. Attempts to use high bit colors always result in low bit colors.

Solution: Problem under review.

Programs Affected: RTI, RTP

Revision Number: 4.00.15.00.N

3.21.07.00.N

Platforms: MS-Windows

14. Problem (00525)

When running a program that contains a LINPUT statement in the Background partition, invalid information is picked up in the LINPUT variable.

Solution: Problem is under review.

Programs Affected: RTI, RTP

Revision Number: 3.21.10.03.V

Platforms: DEC-VMS

15. Problem (00522)

The pitch control does not work correctly in the Niakwa Help Utility "PRINTER CONTROL". Any attempt to change the pitch os not successful.

Solution: Problem under review.

Programs Affected: RTI, RTP

Revision Number: 3.21.10.03.V

Platforms: DEC-VMS

 

blank.gif (841 bytes)


Niakwa, Basic-2C and NPL are trademarks of Niakwa, Inc. All other products mentioned are registered trademarks or trademarks of their respective companies.

Questions or problems regarding this web site should be directed to webmaster@niakwa.com.
Copyright 1996-2010 Niakwa, Inc. All rights reserved.
Last updated: Thursday January 07, 2010.