>Original sender: Gene LeFave <gene_at_tekdata.com>
>I've had this same problem, It has something to do with directory =
>searches. Apparently requires searches directories in a different =
>sequence as (include) so that the file actually included may be =
>different. I had too versions of a file with the same name. Deleting =
>the wrong one solved the problem.
>
>Gene
>----------
>From: talk_at_forth.com[SMTP:talk_at_forth.com]
>Sent: Friday, February 26, 1999 11:46 AM
>To: Members of SF Talk
>Subject: SFTALK - bug in REQUIRES ?
>
>Original sender: ForthCAD <mail_at_forthcad.com>
>A bug in REQUIRES ?
>
>With 3 sources files A, B, C.
>
> A.F REQUIRES( B.F, C.F )
> B.F REQUIRES( C.F )
>
>If I load "A.F",=20
> I see the system load "C.F",=20
> then "B.F",=20
> then "C.F",=20
> then terminate the "A.F" interpretation.
>
>But, in the documentation, I read "include the file is not already =
>included..."
>
The documentation is a bit faulty here. The word REQUIRES simply searches
for a file in the defined path set (in the documentation). The "include if
not already included" is managed by the word OPTIONAL, which is used in
all of the optional extension packages for just this purpose.
I think that OPTIONAL is not documented very well or at all -- here
is what it does: The word immediately following OPTIONAL (for
example, OPTIONAL RND ) is a token that, if it exists in the dictionary,
prevents the file from loading further. If it doesn't exist, OPTIONAL
will create it, preventing future compilation of the same file.
Hope this clears up the issue a bit.
Rick
.
>From mail_at_forthcad.com Thu Feb 3 09:25:43 2000
To: sftalk_at_forth.com
Message-Id: <m0000709_at_gerd.forthinc.com>
Date: Thu, 3 Feb 2000 09:25:43 +0100
From: "Charles Melice" <mail_at_forthcad.com>
Subject: Official way to manage short returned values from API ?
Testing an application, I have noticed that 'short' and 'unsigned short' return-values can be erroneous on Win98. Sometime, returned
values seems to have an HIWORD no null part.
It seems this problem don't exist on NT4 !!!
To resolve, I think its necessary to apply a mask on the returned value:
Function: Fxyz ( x y z -- short )
: Fxyz ( x y z -- val ) \ redef
Fxyz $FFFF AND SIGNED ;
Function: Gxyz ( x y z -- ushort )
: Gxyz ( x y z -- val ) \ redef
Gxyz $FFFF AND ;
Is it the 'official' way to manage short returned values ?
Charles
.
Received on Sat Feb 27 1999 - 20:22:46 PST
Subscribe to our e-mail list service. It's free for all SwiftForth and SwiftX users!
This archive was generated 09-Feb-2012. Archive updated nightly.