You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(70) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(38) |
Feb
(4) |
Mar
(11) |
Apr
(49) |
May
(81) |
Jun
(65) |
Jul
(36) |
Aug
(57) |
Sep
(63) |
Oct
(57) |
Nov
(49) |
Dec
(41) |
2006 |
Jan
(75) |
Feb
(80) |
Mar
(10) |
Apr
(13) |
May
(100) |
Jun
(100) |
Jul
(77) |
Aug
(87) |
Sep
(80) |
Oct
(124) |
Nov
(39) |
Dec
(41) |
2007 |
Jan
(20) |
Feb
(32) |
Mar
(32) |
Apr
(43) |
May
(146) |
Jun
(40) |
Jul
(49) |
Aug
(33) |
Sep
(25) |
Oct
(19) |
Nov
(11) |
Dec
(8) |
2008 |
Jan
(4) |
Feb
(11) |
Mar
(31) |
Apr
(40) |
May
(34) |
Jun
(24) |
Jul
(39) |
Aug
(104) |
Sep
(27) |
Oct
(35) |
Nov
(34) |
Dec
(97) |
2009 |
Jan
(75) |
Feb
(29) |
Mar
(45) |
Apr
(76) |
May
(121) |
Jun
(103) |
Jul
(67) |
Aug
(28) |
Sep
(22) |
Oct
(39) |
Nov
(9) |
Dec
(15) |
2010 |
Jan
(7) |
Feb
(39) |
Mar
(40) |
Apr
(57) |
May
(67) |
Jun
(69) |
Jul
(49) |
Aug
(68) |
Sep
(22) |
Oct
(7) |
Nov
(2) |
Dec
(10) |
2011 |
Jan
|
Feb
|
Mar
(10) |
Apr
(4) |
May
(6) |
Jun
(10) |
Jul
(16) |
Aug
(23) |
Sep
(9) |
Oct
|
Nov
(28) |
Dec
(3) |
2012 |
Jan
(11) |
Feb
(10) |
Mar
(1) |
Apr
|
May
(4) |
Jun
(3) |
Jul
(3) |
Aug
(4) |
Sep
(2) |
Oct
|
Nov
|
Dec
(1) |
2013 |
Jan
|
Feb
(7) |
Mar
(30) |
Apr
(4) |
May
(4) |
Jun
(8) |
Jul
(10) |
Aug
(4) |
Sep
|
Oct
(2) |
Nov
(24) |
Dec
(13) |
2014 |
Jan
(7) |
Feb
(2) |
Mar
|
Apr
(1) |
May
(9) |
Jun
|
Jul
(3) |
Aug
(9) |
Sep
|
Oct
(2) |
Nov
|
Dec
(3) |
2015 |
Jan
(4) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(5) |
Sep
(1) |
Oct
(4) |
Nov
(7) |
Dec
(39) |
2016 |
Jan
(17) |
Feb
(2) |
Mar
(2) |
Apr
|
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(2) |
2017 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
(1) |
Jun
(2) |
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
2018 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(2) |
Nov
(1) |
Dec
(1) |
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: George H. <geo...@us...> - 2006-10-17 08:52:22
|
Update of /cvsroot/win32forth/win32forth/src/lib In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv25593/win32forth/src/lib Modified Files: BLOCK.F Log Message: gah:Added documentation Index: BLOCK.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/lib/BLOCK.F,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** BLOCK.F 3 Oct 2006 07:44:22 -0000 1.4 --- BLOCK.F 17 Oct 2006 08:52:19 -0000 1.5 *************** *** 4,31 **** cr .( Loading BLOCK...) ! comment: ! ! Here is an impementation of a virtual block system. The constants below, ! B/BUF, and #BUFFERS control the record or block size, and the number of ! buffers the system uses. These are defaulted to 1024 byte blocks, and ! 4 buffers. A true LRU (least recently used) buffer allocation mechanism ! is used, implemented as a bubble up buffer stack. The least recently used ! buffer is always on the bottom of the stack. As buffers are used or ! re-used, they are bubbled immediately up to the top of the stack, destined ! to settle to the bottom of the stack if the same record is not accessed ! again. ! ! A sample block file BANNER.BLK has been included for your examination. ! ! type the following commands after loading BLOCK.F ! ! OPEN-BLOCKFILE BANNER.BLK ! 1 7 THRU ! ! This will load and run a simple demo. ! Type DEMO again to run it again after it has been loaded. ! comment; only forth also definitions --- 4,41 ---- cr .( Loading BLOCK...) ! \ *D doc ! \ *! p-block W32F block ! \ *T Using the Block Wordset ! \ *P Win32Forth implements a virtual block system, based on the ANSI standard Block ! \ ** and Block extension wordsets. \n ! \ ** The block words are not loaded by default and have to be included. The file ! \ ** BLOCK.F is in the lib folder (some older versions of W32F placed it in the extras ! \ ** folder). \n ! \ ** The constants B/BUF, and #BUFFERS control the block size, and the number of ! \ ** buffers the system uses. These are defaulted to 1024 byte blocks, and ! \ ** 8 buffers. A true LRU (least recently used) buffer allocation mechanism ! \ ** is used, implemented as a bubble up buffer stack. The least recently used ! \ ** buffer is always on the bottom of the stack. As buffers are used or ! \ ** re-used, they are bubbled immediately up to the top of the stack, destined ! \ ** to settle to the bottom of the stack if the same record is not accessed ! \ ** again. \n Blocks are stored in a blockfile (normally with the .blk extension, ! \ ** although some forths use .fb) which is set by the words set-blockfile, ! \ ** open-blockfile or create-blockfile and closed by close-blockfile. Only one ! \ ** blockfile is active at any one time, open-blockfile and create-blockfile ! \ ** automatically close the current one prior to setting themselves as the current ! \ ** blockfile. \n ! \ ** \b NOTE \d set-blockfile does not close the current blockfile. ! \ A sample block file BANNER.BLK has been included for your examination. ! \ ! \ type the following commands after loading BLOCK.F ! \ ! \ OPEN-BLOCKFILE BANNER.BLK ! \ 1 7 THRU ! \ ! \ This will load and run a simple demo. ! \ ! \ Type DEMO again to run it again after it has been loaded. only forth also definitions *************** *** 35,47 **** \ needs 486asm.f \ load assembler if needed ! 1024 constant b/buf \ length of each block ! 64 constant c/l \ character per line ! 8 constant #buffers \ number of virtual buffers ! -1 value blockhandle \ current block file handle ! variable blk \ current block number ! variable scr \ current screen number ! only forth also definitions INTERNAL \ internal definitions --- 45,67 ---- \ needs 486asm.f \ load assembler if needed ! \ *S Glossary ! 1024 constant b/buf \ W32F Block extra ! \ *G Length of each block. ! 64 constant c/l \ W32F Block extra ! \ *G Number of characters per line. ! 8 constant #buffers \ W32F Block extra ! \ *G Number of block buffers. ! -1 value blockhandle \ W32F Block extra ! \ *G The handle of the current block file, or -1 if no current block file. ! variable blk ( -- a-addr ) \ ANSI Block ! \ *G a-addr is the address of a cell containing zero or the number of the mass-storage ! \ ** block being interpreted. If BLK contains zero, the input source is not a block ! \ ** and can be identified by SOURCE-ID, if SOURCE-ID is available. An ambiguous ! \ ** condition exists if a program directly alters the contents of BLK. ! variable scr ( -- a-addr ) \ ANSI Block ext ! \ *G a-addr is the address of a cell containing the block number of the block most ! \ ** recently listed. INTERNAL \ internal definitions *************** *** 121,127 **** EXTERNAL \ externally available definitions ! \ n1 = block # ! \ a1 = bufadr ! : save-buffers ( -- ) \ save all updated buffers to disk #buffers 0 \ through all the buffers do rec#use @ >r \ find a buffer --- 141,149 ---- EXTERNAL \ externally available definitions ! \ u = block # ! \ a-addr = bufadr ! : save-buffers ( -- ) \ ANSI Block ! \ *G Transfer the contents of each updated block buffer to mass storage. ! \ ** Mark all buffers as unmodified. #buffers 0 \ through all the buffers do rec#use @ >r \ find a buffer *************** *** 136,140 **** loop ; ! : buffer ( n1 -- a1 ) \ Assign least used buffer to rec n1 dup ?gotrec \ check if already present if >r drop \ buffer already assigned, save it --- 158,173 ---- loop ; ! : buffer ( u -- a-addr ) \ ANSI Block ! \ *G a-addr is the address of the first character of the block buffer assigned to block u. ! \ ** The contents of the block are unspecified. An ambiguous condition exists if u is not ! \ ** an available block number. \n ! \ ** If block u is already in a block buffer, a-addr is the address of that block buffer. \n ! \ ** If block u is not already in memory and there is an unassigned buffer, a-addr is the ! \ ** address of that block buffer. \n ! \ ** If block u is not already in memory and there are no unassigned block buffers, ! \ ** unassign a block buffer. If the block in that buffer has been UPDATEd, transfer ! \ ** the block to mass storage. a-addr is the address of that block buffer. ! \ ** At the conclusion of the operation, the block buffer pointed to by a-addr is ! \ ** the current block buffer and is assigned to u. dup ?gotrec \ check if already present if >r drop \ buffer already assigned, save it *************** *** 154,158 **** r> buf#>bufaddr ; \ calc buffer addr ! : empty-buffers ( -- ) \ clean out the virtual buffers rec_array b/buf #buffers * erase rec#s buflen -1 fill --- 187,193 ---- r> buf#>bufaddr ; \ calc buffer addr ! : empty-buffers ( -- ) \ ANSI Block ext ! \ *G Unassign all block buffers. Do not transfer the contents of any updated ! \ ** block buffer to mass storage. rec_array b/buf #buffers * erase rec#s buflen -1 fill *************** *** 164,177 **** drop ; ! : flush ( -- ) \ Write any updated buffers to disk save-buffers empty-buffers ; ! : update ( -- ) \ mark the current block as updated cur_buffer# @ >rec#updt on ; ! \ n1 = block # to get ! \ a1 is address of block # n1 ! : block ( n1 -- a1 ) \ Get block n1 into memory dup ?gotrec if nip dup >r buf#>bufaddr --- 199,229 ---- drop ; ! : flush ( -- ) \ ANSI Block ! \ *G Perform the function of SAVE-BUFFERS, then unassign all block buffers. save-buffers empty-buffers ; ! : update ( -- ) \ ANSI Block ! \ *G Mark the current block buffer as modified. An ambiguous condition exists if there ! \ ** is no current block buffer. \n ! \ ** Update does not write the block to the disc. cur_buffer# @ >rec#updt on ; ! \ u = block # to get ! \ a-addr is address of block # u ! : block ( u -- a-addr ) \ ANSI Block ! \ *G a-addr is the address of the first character of the block buffer assigned to ! \ ** mass-storage block u. An ambiguous condition exists if u is not an available ! \ ** block number. \n ! \ ** If block u is already in a block buffer, a-addr is the address of that block buffer. \n ! \ ** If block u is not already in memory and there is an unassigned block buffer, ! \ ** transfer block u from mass storage to an unassigned block buffer. a-addr is ! \ ** the address of that block buffer. \n ! \ ** If block u is not already in memory and there are no unassigned block buffers, unassign ! \ ** a block buffer. If the block in that buffer has been UPDATEd, transfer the block to ! \ ** mass storage and transfer block u from mass storage into that buffer. a-addr is the ! \ ** address of that block buffer. \n ! \ ** At the conclusion of the operation, the block buffer pointed to by a-addr is the ! \ ** current block buffer and is assigned to u. dup ?gotrec if nip dup >r buf#>bufaddr *************** *** 181,185 **** then ; ! : list ( n1 -- ) \ display block n1 on the console dup scr ! block b/buf bounds --- 233,239 ---- then ; ! : list ( u -- ) \ ANSI Block ext ! \ *G Display block u in the console in a 16 line format. Store u in SCR. \n ! \ ** An error occurs if u is greater than the number of blocks in the current blockfile. dup scr ! block b/buf bounds *************** *** 187,196 **** c/l +loop ; ! : wipe ( n1 -- ) \ erase the specified block to blanks buffer b/buf blank update ; ! : set-blockfile ( fileid -- ) to blockhandle ; warning off --- 241,257 ---- c/l +loop ; ! : wipe ( u -- ) \ W32F Block extra ! \ *G Erase the specified block to blanks. buffer b/buf blank update ; ! : set-blockfile ( fileid -- ) \ W32F Block extra ! \ *G Make fileid the current blockfile. to blockhandle ; + \ ---------------------------------------------------------------- + \ The following words add capabities for dealing with blocks. + \ See the documentation for what they do. + \ ---------------------------------------------------------------- + warning off *************** *** 244,248 **** ' blkmessage is message ! : load { loadblk \ incntr outcntr -- } save-input dup 1+ dup to incntr to outcntr --- 305,319 ---- ' blkmessage is message ! \ ---------------------------------------------------------------- ! \ -------- End of extended capabilities -------------------------- ! \ ---------------------------------------------------------------- ! ! : load ( i*x u -- j*x ) \ ANSI Block ! \ *G Save the current input-source specification. Store u in BLK (thus making block ! \ ** u the input source and setting the input buffer to encompass its contents), set ! \ ** >IN to zero, and interpret. When the parse area is exhausted, restore the prior ! \ ** input source specification. Other stack effects are due to the words LOADed. ! \ ** An ambiguous condition exists if u is zero or is not a valid block number. ! { loadblk \ incntr outcntr -- } save-input dup 1+ dup to incntr to outcntr *************** *** 256,265 **** restore-input drop ; ! : thru ( n1 n2 -- ) 1+ swap ?do i load loop ; ! : close-blockfile ( -- ) blockhandle -1 <> if flush --- 327,340 ---- restore-input drop ; ! : thru ( i*x u1 u2 -- j*x ) \ ANSI Block ext ! \ *G LOAD the mass storage blocks numbered u1 through u2 in sequence. Other stack ! \ ** effects are due to the words LOADed. 1+ swap ?do i load loop ; ! : close-blockfile ( -- ) \ W32F Block extra ! \ *G Close the current blockfile, flushing any updated buffers. Set the current blockfile ! \ ** to no file. blockhandle -1 <> if flush *************** *** 268,272 **** then -1 to blockhandle ; ! : open-blockfile ( -<filename>- ) close-blockfile /parse-word count r/w open-file abort" Failed to open Block File" --- 343,348 ---- then -1 to blockhandle ; ! : open-blockfile ( "<spaces>'filename'" ) \ W32F Block extra ! \ *G Close the current blockfile. Open the file and make it the current block file. close-blockfile /parse-word count r/w open-file abort" Failed to open Block File" *************** *** 274,278 **** empty-buffers ; ! : create-blockfile ( u1 -<filename>- ) \ create a blank file of u1 block long close-blockfile /parse-word count r/w create-file --- 350,356 ---- empty-buffers ; ! : create-blockfile ( u "<spaces>'filename'" ) \ W32F Block extra ! \ *G Close the current blockfile. Create a file of u blocks long, initialise the ! \ ** blocks to blanks and make it the current blockfile. close-blockfile /parse-word count r/w create-file *************** *** 287,291 **** flush ; ! : #blocks ( -- n1 ) \ return the number of block in the current file blockhandle file-size drop b/buf um/mod nip ; --- 365,370 ---- flush ; ! : #blocks ( -- u ) \ W32F Block extra ! \ *G u is the number of blocks in the current blockfile. blockhandle file-size drop b/buf um/mod nip ; *************** *** 306,316 **** MODULE \ end of the module ! environment definitions ! ! : BLOCK TRUE ; ! ! : BLOCK-EXT TRUE ; ! only forth also definitions --- 385,394 ---- MODULE \ end of the module ! get-current checkstack also environment definitions ! true constant BLOCK ! true constant BLOCK-EXT + previous set-current + \ *Z |
From: George H. <geo...@us...> - 2006-10-17 08:52:22
|
Update of /cvsroot/win32forth/win32forth/doc In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv25593/win32forth/doc Modified Files: p-index.htm Added Files: p-block.htm Log Message: gah:Added documentation --- NEW FILE: p-block.htm --- <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta name="GENERATOR" content="dexh v03"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title> W32F block</title><style><!-- h1 { font-family: Tahoma; font-size: 24pt; font-weight: bold } h2 { font-family: Tahoma; font-size: 18pt; font-weight: bold } --> </style> </head> <body><h1 align="center"> <a href="mailto:win...@ya...?subject=DOC:Doc error in $Id: p-block.htm,v 1.1 2006/10/17 08:52:18 georgeahubert Exp $"> <img border="0" src="TELLUS.gif" align="left" width="32" height="32"></a> <img border="0" src="FORTHPRO.gif" width="32" height="32"> Win32Forth</h1> <hr /><h1>Using the Block Wordset </h1><hr /><p>Win32Forth implements a virtual block system, based on the ANSI standard Block and Block extension wordsets. <br /> The block words are not loaded by default and have to be included. The file BLOCK.F is in the lib folder (some older versions of W32F placed it in the extras folder). <br /> The constants B/BUF, and #BUFFERS control the block size, and the number of buffers the system uses. These are defaulted to 1024 byte blocks, and 8 buffers. A true LRU (least recently used) buffer allocation mechanism is used, implemented as a bubble up buffer stack. The least recently used buffer is always on the bottom of the stack. As buffers are used or re-used, they are bubbled immediately up to the top of the stack, destined to settle to the bottom of the stack if the same record is not accessed again. <br /> Blocks are stored in a blockfile (normally with the .blk extension, although some forths use .fb) which is set by the words set-blockfile, open-blockfile or create-blockfile and closed by close-blockfile. Only one blockfile is active at any one time, open-blockfile and create-blockfile automatically close the current one prior to setting themselves as the current blockfile. <br /> <b> NOTE </b> set-blockfile does not close the current blockfile. </p><h2>Glossary </h2><pre><b><a name="0"> 1024 constant b/buf \ W32F Block extra </a></b></pre><p>Length of each block. </p><pre><b><a name="1"> 64 constant c/l \ W32F Block extra </a></b></pre><p>Number of characters per line. </p><pre><b><a name="2"> 8 constant #buffers \ W32F Block extra </a></b></pre><p>Number of block buffers. </p><pre><b><a name="3"> -1 value blockhandle \ W32F Block extra </a></b></pre><p>The handle of the current block file, or -1 if no current block file. </p><pre><b><a name="4">variable blk ( -- a-addr ) \ ANSI Block </a></b></pre><p>a-addr is the address of a cell containing zero or the number of the mass-storage block being interpreted. If BLK contains zero, the input source is not a block and can be identified by SOURCE-ID, if SOURCE-ID is available. An ambiguous condition exists if a program directly alters the contents of BLK. </p><pre><b><a name="5">variable scr ( -- a-addr ) \ ANSI Block ext </a></b></pre><p>a-addr is the address of a cell containing the block number of the block most recently listed. </p><pre><b><a name="6">: save-buffers ( -- ) \ ANSI Block </a></b></pre><p>Transfer the contents of each updated block buffer to mass storage. Mark all buffers as unmodified. </p><pre><b><a name="7">: buffer ( u -- a-addr ) \ ANSI Block </a></b></pre><p>a-addr is the address of the first character of the block buffer assigned to block u. The contents of the block are unspecified. An ambiguous condition exists if u is not an available block number. <br /> If block u is already in a block buffer, a-addr is the address of that block buffer. <br /> If block u is not already in memory and there is an unassigned buffer, a-addr is the address of that block buffer. <br /> If block u is not already in memory and there are no unassigned block buffers, unassign a block buffer. If the block in that buffer has been UPDATEd, transfer the block to mass storage. a-addr is the address of that block buffer. At the conclusion of the operation, the block buffer pointed to by a-addr is the current block buffer and is assigned to u. </p><pre><b><a name="8">: empty-buffers ( -- ) \ ANSI Block ext </a></b></pre><p>Unassign all block buffers. Do not transfer the contents of any updated block buffer to mass storage. </p><pre><b><a name="9">: flush ( -- ) \ ANSI Block </a></b></pre><p>Perform the function of SAVE-BUFFERS, then unassign all block buffers. </p><pre><b><a name="10">: update ( -- ) \ ANSI Block </a></b></pre><p>Mark the current block buffer as modified. An ambiguous condition exists if there is no current block buffer. <br /> Update does not write the block to the disc. </p><pre><b><a name="11">: block ( u -- a-addr ) \ ANSI Block </a></b></pre><p>a-addr is the address of the first character of the block buffer assigned to mass-storage block u. An ambiguous condition exists if u is not an available block number. <br /> If block u is already in a block buffer, a-addr is the address of that block buffer. <br /> If block u is not already in memory and there is an unassigned block buffer, transfer block u from mass storage to an unassigned block buffer. a-addr is the address of that block buffer. <br /> If block u is not already in memory and there are no unassigned block buffers, unassign a block buffer. If the block in that buffer has been UPDATEd, transfer the block to mass storage and transfer block u from mass storage into that buffer. a-addr is the address of that block buffer. <br /> At the conclusion of the operation, the block buffer pointed to by a-addr is the current block buffer and is assigned to u. </p><pre><b><a name="12">: list ( u -- ) \ ANSI Block ext </a></b></pre><p>Display block u in the console in a 16 line format. Store u in SCR. <br /> An error occurs if u is greater than the number of blocks in the current blockfile. </p><pre><b><a name="13">: wipe ( u -- ) \ W32F Block extra </a></b></pre><p>Erase the specified block to blanks. </p><pre><b><a name="14">: set-blockfile ( fileid -- ) \ W32F Block extra </a></b></pre><p>Make fileid the current blockfile. </p><pre><b><a name="15">: load ( i*x u -- j*x ) \ ANSI Block </a></b></pre><p>Save the current input-source specification. Store u in BLK (thus making block u the input source and setting the input buffer to encompass its contents), set >IN to zero, and interpret. When the parse area is exhausted, restore the prior input source specification. Other stack effects are due to the words LOADed. An ambiguous condition exists if u is zero or is not a valid block number. </p><pre><b><a name="16">: thru ( i*x u1 u2 -- j*x ) \ ANSI Block ext </a></b></pre><p>LOAD the mass storage blocks numbered u1 through u2 in sequence. Other stack effects are due to the words LOADed. </p><pre><b><a name="17">: close-blockfile ( -- ) \ W32F Block extra </a></b></pre><p>Close the current blockfile, flushing any updated buffers. Set the current blockfile to no file. </p><pre><b><a name="18">: open-blockfile ( "<spaces>'filename'" ) \ W32F Block extra </a></b></pre><p>Close the current blockfile. Open the file and make it the current block file. </p><pre><b><a name="19">: create-blockfile ( u "<spaces>'filename'" ) \ W32F Block extra </a></b></pre><p>Close the current blockfile. Create a file of u blocks long, initialise the blocks to blanks and make it the current blockfile. </p><pre><b><a name="20">: #blocks ( -- u ) \ W32F Block extra </a></b></pre><p>u is the number of blocks in the current blockfile. </p><hr><p>Document $Id: p-block.htm,v 1.1 2006/10/17 08:52:18 georgeahubert Exp $</p> </body></html> Index: p-index.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/p-index.htm,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** p-index.htm 25 Sep 2006 11:42:57 -0000 1.18 --- p-index.htm 17 Oct 2006 08:52:18 -0000 1.19 *************** *** 141,144 **** --- 141,145 ---- <li><a href="p-float.htm">Floating point words in Win32Forth</a></li> <li><a href="p-module.htm">Using the Module Wordset</a></li> + <li><a href="p-block.htm">Using the Block Wordset</a></li> <li><a href="p-interpif.htm">Interpretive conditionals in Win32Forth</a></li> <li><a href="p-task.htm">Using the Task Wordset</a></li> |
From: George H. <geo...@us...> - 2006-10-16 11:22:30
|
Update of /cvsroot/win32forth/win32forth/doc In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv5021/win32forth/doc Modified Files: p-task.htm Log Message: gah:Added (make-lock) including documenting. Index: p-task.htm =================================================================== RCS file: /cvsroot/win32forth/win32forth/doc/p-task.htm,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** p-task.htm 29 Aug 2006 10:31:47 -0000 1.9 --- p-task.htm 16 Oct 2006 11:22:22 -0000 1.10 *************** *** 1,6 **** ! <html> <head> ! <meta http-equiv="Content-Language" content="en-gb"> ! <meta name="GENERATOR" content="dexh00"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> --- 1,8 ---- ! <?xml version="1.0"?> ! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" ! "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> ! <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> ! <meta name="GENERATOR" content="dexh v03"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> *************** *** 107,111 **** <b> For Win9x, and NT<4; </b> Perform the action of LOCK and return true. ! </p><pre><b><a name="18">: make-lock ( compiling: -<name>- -- runtime: -- lock ) \ W32F Lock </a></b></pre><p>Create a new lock. When executed the lock returns it's identifier. </p><h2>WARNING --- 109,115 ---- <b> For Win9x, and NT<4; </b> Perform the action of LOCK and return true. ! </p><pre><b><a name="18">: (make-lock) ( -- lock ) \ W32F Lock ! </a></b></pre><p>Make a new lock, and return it's identifier. ! </p><pre><b><a name="19">: make-lock ( compiling: -<name>- -- runtime: -- lock ) \ W32F Lock </a></b></pre><p>Create a new lock. When executed the lock returns it's identifier. </p><h2>WARNING |
From: George H. <geo...@us...> - 2006-10-16 11:22:26
|
Update of /cvsroot/win32forth/win32forth-stc/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv5021/win32forth-stc/src Modified Files: task.f Log Message: gah:Added (make-lock) including documenting. Index: task.f =================================================================== RCS file: /cvsroot/win32forth/win32forth-stc/src/task.f,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** task.f 4 Oct 2006 12:00:03 -0000 1.3 --- task.f 16 Oct 2006 11:22:21 -0000 1.4 *************** *** 261,272 **** external in-system : make-lock ( compiling: -<name>- -- runtime: -- lock ) \ W32F Lock \ *G Create a new lock. When executed the lock returns it's identifier. ! create ! here lock-size ( 6 cells ) allot \ gah ! lock-list link, \ add to list of locks gah ! init-lock ; in-application --- 261,277 ---- external + : (make-lock) ( -- lock ) \ W32F Lock + \ *G Make a new lock, and return it's identifier. + here dup + lock-size ( 6 cells ) allot + lock-list link, \ add to list of locks + init-lock \ Initialise the critical section + ; + in-system : make-lock ( compiling: -<name>- -- runtime: -- lock ) \ W32F Lock \ *G Create a new lock. When executed the lock returns it's identifier. ! create (make-lock) drop ; in-application |
From: George H. <geo...@us...> - 2006-10-16 11:22:26
|
Update of /cvsroot/win32forth/win32forth/src/lib In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv5021/win32forth/src/lib Modified Files: task.f Log Message: gah:Added (make-lock) including documenting. Index: task.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/lib/task.f,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** task.f 25 Sep 2006 11:44:34 -0000 1.12 --- task.f 16 Oct 2006 11:22:22 -0000 1.13 *************** *** 223,234 **** external in-system : make-lock ( compiling: -<name>- -- runtime: -- lock ) \ W32F Lock \ *G Create a new lock. When executed the lock returns it's identifier. ! create ! here lock-size ( 6 cells ) allot \ gah ! lock-list link, \ add to list of locks gah ! init-lock ; in-application --- 223,239 ---- external + : (make-lock) ( -- lock ) \ W32F Lock + \ *G Make a new lock, and return it's identifier. + here dup + lock-size ( 6 cells ) allot + lock-list link, \ add to list of locks + init-lock \ Initialise the critical section + ; + in-system : make-lock ( compiling: -<name>- -- runtime: -- lock ) \ W32F Lock \ *G Create a new lock. When executed the lock returns it's identifier. ! create (make-lock) drop ; in-application |
From: Jos v.d.V. <jo...@us...> - 2006-10-15 16:08:51
|
Update of /cvsroot/win32forth/win32forth/apps/Player4 In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv8658 Modified Files: Catalog.f Log Message: Jos: It became unsafe to use PAD and NewEditDialog Index: Catalog.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Player4/Catalog.f,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** Catalog.f 26 Aug 2006 15:25:30 -0000 1.39 --- Catalog.f 15 Oct 2006 16:08:43 -0000 1.40 *************** *** 563,567 **** then drop struct, InlineRecord RecordDef File_name swap r> ! CatalogPath FindRelativeName drop >r swap r@ cmove r> struct, InlineRecord RecordDef Cnt_File_name c! ; --- 563,567 ---- then drop struct, InlineRecord RecordDef File_name swap r> ! CatalogPath FindRelativeName drop >r swap r@ cmove r> struct, InlineRecord RecordDef Cnt_File_name c! ; *************** *** 733,738 **** ; ! : pad$_ok? ( - pad count flag ) pad +null pad count dup 1 maxstring between ; ! : init-dlg ( base adr count - pad base ) pad place pad swap ; --- 733,743 ---- ; ! string: dialog$ ! ! : dialog$_ok? ( - dialog$ count flag ) ! dialog$ +null dialog$ count dup 1 maxstring between ; ! ! : init-dlg ( base adr count - dialog$ base ) ! dialog$ place dialog$ swap ; *************** *** 744,748 **** : search-records ( base - ) ! s" artist*album " init-dlg Start: searchDlg >r pad$_ok? over and r> 0> and if "search-records RefreshCatalog --- 749,753 ---- : search-records ( base - ) ! s" artist*album " init-dlg Start: searchDlg >r dialog$_ok? over and r> 0> and if "search-records RefreshCatalog *************** *** 759,766 **** NewEditDialog MaximumRandomLevelDlg "Maximum randomlevel" "Enter the maximum number to use:" "Ok" "Cancel" "" - : ask-max-random-level ( - ) vadr-config MaximumRandomLevel @ n>tmp$ tmp$ count init-dlg Start: MaximumRandomLevelDlg drop ! pad count number? if d>s vadr-config MaximumRandomLevel ! else 2drop --- 764,770 ---- NewEditDialog MaximumRandomLevelDlg "Maximum randomlevel" "Enter the maximum number to use:" "Ok" "Cancel" "" : ask-max-random-level ( - ) vadr-config MaximumRandomLevel @ n>tmp$ tmp$ count init-dlg Start: MaximumRandomLevelDlg drop ! dialog$ count number? if d>s vadr-config MaximumRandomLevel ! else 2drop *************** *** 772,776 **** : SetRequestLevel vadr-config RequestLevel c@ n>tmp$ tmp$ count init-dlg Start: RequestLevelDlg drop ! pad count number? if d>s vadr-config RequestLevel c! else 2drop --- 776,780 ---- : SetRequestLevel vadr-config RequestLevel c@ n>tmp$ tmp$ count init-dlg Start: RequestLevelDlg drop ! dialog$ count number? if d>s vadr-config RequestLevel c! else 2drop |
From: Ezra B. <ezr...@us...> - 2006-10-13 03:56:39
|
Update of /cvsroot/win32forth/win32forth/apps/ProMgr/res In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv6962/apps/ProMgr/res Modified Files: ToolbarBitmaps.bmp Log Message: Updates. EAB Index: ToolbarBitmaps.bmp =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/ProMgr/res/ToolbarBitmaps.bmp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsgov0Wi and /tmp/cvsJ9VIhL differ |
Update of /cvsroot/win32forth/win32forth/apps/Win32ForthIDE In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv5766 Modified Files: ClassBrowser.f CommandID.f EdCommand.f EdCompile.f EdFilePane.f EdFindInFiles.f EdHexViewer.f EdImageWindow.f EdMenu.f EdRemote.f EdStatusbar.f EdTabControl.f EdToolbar.f Main.f ProjectTree.f ScintillaHyperMDI.f ScintillaMDI.f Added Files: EdPreferences.f EdPreferences.ff EdPreferences.frm Log Message: Updates. EAB Index: EdTabControl.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/EdTabControl.f,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** EdTabControl.f 23 Jul 2006 09:36:40 -0000 1.16 --- EdTabControl.f 13 Oct 2006 03:55:11 -0000 1.17 *************** *** 89,93 **** count "TO-PATHEND" ! dup 0= if drop s" Unnamed File" then $buffer place $buffer +null $buffer 1+ ; --- 89,93 ---- count "TO-PATHEND" ! dup 0= if 2drop s" Unnamed File" then $buffer place $buffer +null $buffer 1+ ; *************** *** 367,370 **** --- 367,371 ---- UpdateFileName: cFileList ;M + :M FindFile: ( addr -- f ) FindFile: cFileList ;M Index: EdCommand.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/EdCommand.f,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** EdCommand.f 3 Aug 2006 22:47:45 -0000 1.8 --- EdCommand.f 13 Oct 2006 03:55:11 -0000 1.9 *************** *** 46,50 **** do i GetFile: SourceFileOpenDialog (OpenSourceFile) loop ! then ; IDM_OPEN_SOURCE_FILE SetCommand : UpdateFileName ( -- ) --- 46,50 ---- do i GetFile: SourceFileOpenDialog (OpenSourceFile) loop ! then ; IDM_OPEN_SOURCE_FILE SetCommand : UpdateFileName ( -- ) Index: CommandID.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/CommandID.f,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** CommandID.f 23 Jul 2006 09:36:40 -0000 1.8 --- CommandID.f 13 Oct 2006 03:55:11 -0000 1.9 *************** *** 89,92 **** --- 89,93 ---- NewID IDM_ENSURE_FINAL_LINE_ENDING NewID IDM_COMPILE_PROJECT + NewID IDM_PREFERENCES \ Win32Forth menu *************** *** 134,138 **** NewID IDM_ADD_FORMS_PRJ NewID IDM_ZIP_PRJ ! NewID IDM_ADD_PRJ NewID IDM_COPY_PRJ NewID IDM_OPEN_RECENT_FILE_PRJ --- 135,139 ---- NewID IDM_ADD_FORMS_PRJ NewID IDM_ZIP_PRJ ! \ NewID IDM_ADD_PRJ NewID IDM_COPY_PRJ NewID IDM_OPEN_RECENT_FILE_PRJ --- NEW FILE: EdPreferences.f --- \ EdPreferences.f needs EdPreferences.frm Color: WHITE value back-color \ default font background color Color: BLACK value fore-color \ default font color Color: WHITE value caret-backcolor \ current line color Color: LTGRAY value select-backcolor \ selection background color Color: BLACK value select-forecolor \ selection font color :Class ColorWindow <Super Child-Window colorobject thecolor :M WindowStyle: ( -- style ) WindowStyle: super WS_BORDER or WS_VISIBLE or ;M :m paint: ( colorref -- ) newcolor: thecolor paint: super ;m :m on_paint: ( -- ) 0 0 width height thecolor fillarea: dc ;m ;class :Object IDEPreferencesForm <Super frmIDEPreferences colorwindow fore-window colorwindow back-window colorwindow current-window colorwindow selfore-window colorwindow selback-window colorobject fore colorobject back colorobject curr colorobject selfore colorobject selback :m close: ( -- ) color: fore to fore-color color: back to back-color color: curr to caret-backcolor color: selfore to select-forecolor color: selback to select-backcolor Update close: super ;m : command-func ( id obj -- ) drop case getid: btnforeground of choose: fore if color: fore paint: fore-window then endof getid: btnbackground of choose: back if color: back paint: back-window then endof getid: btncurrentline of choose: curr if color: curr paint: current-window then endof getid: btnSelectFore of choose: selfore if color: selfore paint: selfore-window then endof getid: btnSelectBack of choose: selback if color: selback paint: selback-window then endof getid: btncancel of close: super endof getid: btnok of close: self endof endcase ; :m on_init: ( -- ) IDCANCEL SetID: btnCancel IDOK SetID: btnOK on_init: super SW_HIDE Show: chkButtonTabs SW_HIDE Show: chkMultiLineTabs SW_HIDE Show: chkAutoIndent SW_HIDE Show: grpEditorOptions SW_HIDE Show: grpTabOptions ['] command-func setcommand: self fore-color newcolor: fore back-color newcolor: back caret-backcolor newcolor: curr select-forecolor newcolor: selfore select-backcolor newcolor: selback 100 setid: fore-window self start: fore-window forechildx forechildy forechildw forechildh move: fore-window fore-color paint: fore-window 101 setid: back-window self start: back-window forechildx backchildy backchildw backchildh move: back-window back-color paint: back-window 102 setid: current-window self start: current-window currentchildx currentchildy currentchildw currentchildh move: current-window caret-backcolor paint: current-window 103 setid: selfore-window self start: selfore-window selforechildx selforechildy selforechildw selforechildh move: selfore-window select-forecolor paint: selfore-window 104 setid: selback-window self start: selback-window selbackchildx selbackchildy selbackchildw selbackchildh move: selback-window select-backcolor paint: selback-window ;m ;object : IDEOptions ( -- ) GetHandle: MainWindow SetParentWindow: IDEPreferencesForm start: IDEPreferencesForm ; IDM_PREFERENCES SetCOmmand \s --- NEW FILE: EdPreferences.frm --- \ EDPREFERENCES.FRM \- textbox needs excontrols.f :Object frmIDEPreferences <Super DialogWindow Font WinFont \ default font ' 2drop value WmCommand-Func \ function pointer for WM_COMMAND ColorObject FrmColor \ the background color 150 175 2value XYPos \ save screen location of form GroupBox grpEditorOptions GroupBox grpTabOptions GroupBox grpCOlors PushButton btnForeground PushButton btnBackground PushButton btnCurrentline PushButton btnSelectFore PushButton btnSelectBack \ Coordinates and dimensions for foreChild 130 value foreChildX 30 value foreChildY 34 value foreChildW 25 value foreChildH \ Coordinates and dimensions for BackChild 130 value BackChildX 57 value BackChildY 34 value BackChildW 25 value BackChildH \ Coordinates and dimensions for CurrentChild 130 value CurrentChildX 84 value CurrentChildY 34 value CurrentChildW 25 value CurrentChildH \ Coordinates and dimensions for SelForeChild 130 value SelForeChildX 111 value SelForeChildY 34 value SelForeChildW 25 value SelForeChildH \ Coordinates and dimensions for SelBackChild 130 value SelBackChildX 138 value SelBackChildY 34 value SelBackChildW 25 value SelBackChildH CheckBox chkButtonTabs CheckBox chkMultiLineTAbs CheckBox chkAutoIndent PushButton btnOk PushButton btnCancel :M ClassInit: ( -- ) ClassInit: super \ Insert your code here ;M :M WindowStyle: ( -- style ) WS_POPUPWINDOW WS_DLGFRAME or ;M \ if this form is a modal form a non-zero parent must be set :M ParentWindow: ( -- hwndparent | 0 if no parent ) hWndParent ;M :M SetParentWindow: ( hwndparent -- ) \ set owner window to hWndParent ;M :M WindowTitle: ( -- ztitle ) z" Preferences" ;M :M StartSize: ( -- width height ) 188 362 ;M :M StartPos: ( -- x y ) XYPos ;M :M Close: ( -- ) \ Insert your code here Close: super ;M :M On_Init: ( -- ) s" MS Sans Serif" SetFaceName: WinFont 8 Width: WinFont Create: WinFont drop \ not testing return flag \ set form color to system color COLOR_BTNFACE Call GetSysColor NewColor: FrmColor self Start: grpEditorOptions 16 261 124 55 Move: grpEditorOptions Handle: Winfont SetFont: grpEditorOptions s" Editor Options" SetText: grpEditorOptions self Start: grpTabOptions 15 177 127 80 Move: grpTabOptions Handle: Winfont SetFont: grpTabOptions s" TabWindow Options" SetText: grpTabOptions self Start: grpCOlors 16 14 161 155 Move: grpCOlors Handle: Winfont SetFont: grpCOlors s" Colors" SetText: grpCOlors self Start: btnForeground 28 30 100 25 Move: btnForeground Handle: Winfont SetFont: btnForeground s" ForeGround" SetText: btnForeground self Start: btnBackground 28 57 100 25 Move: btnBackground Handle: Winfont SetFont: btnBackground s" BackGround" SetText: btnBackground self Start: btnCurrentline 28 84 100 25 Move: btnCurrentline Handle: Winfont SetFont: btnCurrentline s" Current Line" SetText: btnCurrentline self Start: btnSelectFore 28 111 100 25 Move: btnSelectFore Handle: Winfont SetFont: btnSelectFore s" Select Foreground" SetText: btnSelectFore self Start: btnSelectBack 28 138 100 25 Move: btnSelectBack Handle: Winfont SetFont: btnSelectBack s" Select Background" SetText: btnSelectBack self Start: chkButtonTabs 27 189 100 25 Move: chkButtonTabs Handle: Winfont SetFont: chkButtonTabs s" Button Style" SetText: chkButtonTabs self Start: chkMultiLineTAbs 27 216 100 25 Move: chkMultiLineTAbs Handle: Winfont SetFont: chkMultiLineTAbs s" MultiLine" SetText: chkMultiLineTAbs self Start: chkAutoIndent 28 277 100 25 Move: chkAutoIndent Handle: Winfont SetFont: chkAutoIndent s" AutoIndent" SetText: chkAutoIndent self Start: btnOk 8 332 80 25 Move: btnOk Handle: Winfont SetFont: btnOk s" &Ok" SetText: btnOk self Start: btnCancel 90 332 80 25 Move: btnCancel Handle: Winfont SetFont: btnCancel s" &Cancel" SetText: btnCancel ParentWindow: self \ if this is a modal form disable parent if 0 ParentWindow: self Call EnableWindow drop then ;M :M WM_COMMAND ( h m w l -- res ) over LOWORD ( ID ) self \ object address on stack WMCommand-Func ?dup \ must not be zero if execute else 2drop \ drop ID and object address then 0 ;M :M SetCommand: ( cfa -- ) \ set WMCommand function to WMCommand-Func ;M :M On_Paint: ( -- ) 0 0 GetSize: self Addr: FrmColor FillArea: dc ;M :M On_Done: ( -- ) Delete: WinFont originx originy 2to XYPos ParentWindow: self \ if modal form re-enable parent if 1 ParentWindow: self Call EnableWindow drop \ reset focus to parent if we have one ParentWindow: self Call SetFocus drop then \ Insert your code here On_Done: super ;M ;Object Index: EdMenu.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/EdMenu.f,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** EdMenu.f 23 Jul 2006 09:36:40 -0000 1.12 --- EdMenu.f 13 Oct 2006 03:55:11 -0000 1.13 *************** *** 140,143 **** --- 140,144 ---- MenuSeparator :MenuItem mp_tabs "&Set Tab options..." IDM_TABS DoCommand ; + MenuItem " IDE Preferences " IDM_PREFERENCES DoCommand ; MenuSeparator :MenuItem mp_showsb "&Show Statusbar" IDM_SHOW_STATUSBAR DoCommand ; Index: EdFilePane.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/EdFilePane.f,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EdFilePane.f 15 Jun 2006 20:59:36 -0000 1.2 --- EdFilePane.f 13 Oct 2006 03:55:11 -0000 1.3 *************** *** 12,16 **** ImageButton imgDupeButton - :Object TheFolderview <Super Child-Window --- 12,15 ---- *************** *** 117,133 **** DeleteFile: TheDirectory ; - \ create txtextension$ ," .f;.frm;.cfg;.ini;.txt;.seq;.4th;.c;.cpp;.h;.bat;.bas;.pas;.htm;.html" - \ \ - \ : open-file { item -- } - \ getname$: item ?dup - \ if 2dup ".ext-only" - \ txtextension$ count 2swap search nip nip - \ if pad place - \ pad IDM_OPEN_RECENT_FILE DoCommand \ recognised text file - \ else 2drop \ hwnd ExecuteFile - \ then - \ else drop - \ then ; - : command-func { id obj -- } ( h m w l id obj -- ) \ OnCommand function for frmFileWindow id --- 116,119 ---- *************** *** 155,165 **** endcase ; ! : UpdatetxtFolder ( -- ) ! GetPath: TheDirectory ! InsertString: cmblstPathPicker ; : openfile { item -- } ! getname$: item pad place ! pad IDM_OPEN_RECENT_FILE DoCommand ; :M On_Init: ( -- ) --- 141,153 ---- endcase ; ! : UpdatetxtFolder ( obj -- ) ! GetPath: [ ] InsertString: cmblstPathPicker ; : openfile { item -- } ! getname$: item new$ dup>r place ! ?control \ control and double click opens file for editing, it had better be text! ! if NewEditWindow r@ count OpenNamedFile: ActiveChild drop ! else r@ IDM_OPEN_RECENT_FILE DoCommand ! then r>drop ; :M On_Init: ( -- ) *************** *** 263,267 **** \ CS_DBLCLKS only to prevent flicker in window on sizing. CS_DBLCLKS ;M ! :m classinit: classinit: super 1290 to id ;m --- 251,255 ---- \ CS_DBLCLKS only to prevent flicker in window on sizing. CS_DBLCLKS ;M ! :m classinit: classinit: super 1290 to id ;m Index: EdCompile.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/EdCompile.f,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EdCompile.f 22 Jul 2006 08:21:53 -0000 1.2 --- EdCompile.f 13 Oct 2006 03:55:11 -0000 1.3 *************** *** 135,139 **** :noname ( addr n -- ) \ compile a file { \ load$ file$ -- } ! MAXSTRING LocalAlloc: load$ MAXSTRING LocalAlloc: file$ --- 135,139 ---- :noname ( addr n -- ) \ compile a file { \ load$ file$ -- } ! MAXSTRING LocalAlloc: load$ MAXSTRING LocalAlloc: file$ Index: ProjectTree.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/ProjectTree.f,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** ProjectTree.f 26 Aug 2006 15:25:32 -0000 1.14 --- ProjectTree.f 13 Oct 2006 03:55:11 -0000 1.15 *************** *** 90,93 **** --- 90,96 ---- itemname ;m + :m getname$: ( -- addrz ) + itemname zcount ;m + :m isparentitem: ( n -- ) to parentitem ;m *************** *** 291,295 **** do i >Link#: ThisList Data@: ThisList Getname: [ ] zcount ! pad count caps-compare 0= if unloop exitm then --- 294,298 ---- do i >Link#: ThisList Data@: ThisList Getname: [ ] zcount ! pad count istr= if unloop exitm then *************** *** 373,388 **** : .buildfile ( -- ) ! mainfile c@ dup ! if s" " ! else s" No build file set" ! then new$ dup>r place ! mainfile count r@ +place ! if s" ---- Total files in project= " r@ +place ! totalfiles: self (.) r@ +place ! then r> count SetText: ProjInfo false to dirty? ; :m setbuildfile: ( addr cnt -- ) ! mainfile place .buildfile ;m :m getbuildfile: ( -- addr cnt ) --- 376,392 ---- : .buildfile ( -- ) ! \ mainfile c@ dup ! \ if s" " ! \ else s" No build file set" ! \ then new$ dup>r place ! \ mainfile count r@ +place ! \ if s" ---- Total files in project= " r@ +place ! \ totalfiles: self (.) r@ +place ! \ then r> count SetText: ProjInfo false to dirty? ; :m setbuildfile: ( addr cnt -- ) ! mainfile place .buildfile ! ;m :m getbuildfile: ( -- addr cnt ) *************** *** 488,509 **** itemid: SelectedItem - \ <<<<<<< ProjectTree.f if s" Number of files = " r@ place #items: SelectedItem (.) r@ +place - r@ FileExt off else ! GetName: SelectedItem dup zcount ! 2dup ".ext-only" 2dup lower FileExt place \ set FileExt ! ! GetName: SelectedItem zcount r@ place ! r@ dup IDM_OPEN_RECENT_FILE DoCommand ! ! then ! count Settext: ProjStatus .buildfile SetFocus: self \ ProjectManager.htm item lost focus before false - r>drop ;M --- 492,510 ---- itemid: SelectedItem if s" Number of files = " r@ place #items: SelectedItem (.) r@ +place FileExt off else ! GetName$: SelectedItem ! 2dup r@ place ! 2dup ".ext-only" ! 2dup lower ! FileExt place \ set FileExt ! r@ IDM_OPEN_RECENT_FILE DoCommand ! then r>drop ! .buildfile SetFocus: self \ ProjectManager.htm item lost focus before false ;M *************** *** 638,642 **** :M Clear: ( -- ) ! TVI_ROOT DeleteItem: self DisposeLists --- 639,643 ---- :M Clear: ( -- ) ! TVI_ROOT DeleteItem: self drop DisposeLists *************** *** 831,835 **** SortParentLists: TheProject true to Modified ! else drop then ; IDM_ADD_PRJ SetCommand --- 832,836 ---- SortParentLists: TheProject true to Modified ! \ else drop then ; IDM_ADD_PRJ SetCommand *************** *** 841,845 **** \ Add the open forms from ForthForm to the project. ForthForm? ! if 0 WANT_FORMS win32forth-message SortParentLists: TheProject then ; IDM_ADD_FORMS_PRJ SetCommand --- 842,846 ---- \ Add the open forms from ForthForm to the project. ForthForm? ! if 0 WANT_FORMS _win32forth-message SortParentLists: TheProject then ; IDM_ADD_FORMS_PRJ SetCommand *************** *** 1002,1010 **** if 2dup addfile ! 2dup SetText: ProjStatus dialog? IF 2dup pad place -2 pad c+! s" .res" pad +place pad count addfile ! 2dup SetText: ProjStatus THEN skip-recurse? --- 1003,1011 ---- if 2dup addfile ! \ 2dup SetText: ProjStatus dialog? IF 2dup pad place -2 pad c+! s" .res" pad +place pad count addfile ! THEN skip-recurse? *************** *** 1040,1044 **** then fClear if Clear: TheProject then ! s" " SetText: ProjStatus GetBuildFile: TheProject ModuleList: TheProject AddItem: TheProject --- 1041,1045 ---- then fClear if Clear: TheProject then ! \ s" " SetText: ProjStatus GetBuildFile: TheProject ModuleList: TheProject AddItem: TheProject *************** *** 1053,1057 **** total-size (.) pad +place s" bytes" pad +place ! pad count SetText: ProjStatus GetBuildFile: TheProject SetBuildFile: TheProject \ update info --- 1054,1058 ---- total-size (.) pad +place s" bytes" pad +place ! GetBuildFile: TheProject SetBuildFile: TheProject \ update info Index: EdToolbar.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/EdToolbar.f,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** EdToolbar.f 23 Jul 2006 09:36:40 -0000 1.6 --- EdToolbar.f 13 Oct 2006 03:55:11 -0000 1.7 *************** *** 21,27 **** anew -ScintillaToolbar.f ! TextBox ProjStatus ! TextBox ProjInfo ! INTERNAL --- 21,25 ---- anew -ScintillaToolbar.f ! ComboBox helpbox INTERNAL *************** *** 63,66 **** --- 61,65 ---- ts," Back" ts," Forward" + ts," Browse" ;ToolStrings *************** *** 84,87 **** --- 83,87 ---- ts," Back" ts," Forward" + ts," Browse" ;ToolStrings *************** *** 112,115 **** --- 112,116 ---- 22 IDM_BACK TBSTATE_ENABLED TBSTYLE_BUTTON 15 ToolBarButton, 23 IDM_FORWARD TBSTATE_ENABLED TBSTYLE_BUTTON 16 ToolBarButton, + 24 IDM_BROWSE TBSTATE_ENABLED TBSTYLE_BUTTON 17 ToolBarButton, ;ToolBarTable *************** *** 120,124 **** 24 constant SmallButtonWidth \ a little bigger than Windows default 18 constant SmallButtonHeight ! 17 constant #buttons :M ClassInit: ( -- ) --- 121,125 ---- 24 constant SmallButtonWidth \ a little bigger than Windows default 18 constant SmallButtonHeight ! 18 constant #buttons :M ClassInit: ( -- ) *************** *** 294,319 **** ; ! : add-projStat ( -- ) ! self Start: ProjStatus ! true ReadOnly: ProjStatus ! ! eraseband-info GetHandle: ProjStatus ! z" Project Status:" to lptext ! [ RBBS_GRIPPERALWAYS RBBS_CHILDEDGE or ] literal 200 insert-band ! ; ! ! : add-projInfo ( -- ) ! self Start: ProjInfo ! true ReadOnly: ProjInfo ! eraseband-info GetHandle: ProjInfo ! z" Build File:" to lptext [ RBBS_GRIPPERALWAYS RBBS_CHILDEDGE or ] literal 200 insert-band ; ! : add-projtoolbar ( -- ) ! self Start: pToolBar ! eraseband-info GetHandle: pToolBar [ RBBS_GRIPPERALWAYS RBBS_CHILDEDGE or ] literal 200 insert-band ; --- 295,311 ---- ; ! : add-projtoolbar ( -- ) ! self Start: pToolBar ! eraseband-info GetHandle: pToolBar [ RBBS_GRIPPERALWAYS RBBS_CHILDEDGE or ] literal 200 insert-band ; ! : add-helpbox ( -- ) ! \ WS_CLIPSIBLINGS AddStyle: helpbox ! self Start: helpbox ! eraseband-info GetHandle: helpbox ! z" View Source for:" to lptext [ RBBS_GRIPPERALWAYS RBBS_CHILDEDGE or ] literal 200 insert-band ; *************** *** 328,340 **** hwnd if add-toolbars - add-projstat add-projtoolbar ! add-projinfo ! Handle: textFont dup SetFont: ProjStatus SetFont: ProjInfo then ;M :M WindowStyle: ( -- style ) WindowStyle: super ! [ WS_CLIPSIBLINGS WS_CLIPCHILDREN or WS_BORDER or RBS_VARHEIGHT or RBS_BANDBORDERS or RBS_AUTOSIZE or ] literal or ;M --- 320,331 ---- hwnd if add-toolbars add-projtoolbar ! add-helpbox ! Handle: textFont SetFont: HelpBox then ;M :M WindowStyle: ( -- style ) WindowStyle: super ! [ ( WS_CLIPCHILDREN ) WS_BORDER RBS_VARHEIGHT or RBS_BANDBORDERS or RBS_AUTOSIZE or ] literal or ;M *************** *** 353,356 **** --- 344,406 ---- ;object + : $browse ( line_number file_name len -- ) + NewBrowseChild LoadHyperFile: ActiveBrowser + SetBrowseMode: ActiveBrowser Update ; + + : ?viewsource { addr cnt -- } + addr cnt "CLIP" pad place \ save string in find buffer + pad caps-find + if + \in-system-ok get-viewfile + if count $browse + else 2drop + then addr cnt InsertString: helpbox \ save help string as entered + else drop beep + then ; + + \ copied from WinED + : myWmChar ( h m w l obj -- res ) + 2 pick VK_RETURN = \ if return + if GetText: [ ] \ get adr,len of edit control text + ?viewsource + false + else drop true + then ; + + ' myWmChar SetWmChar: helpbox + + \ - Save away find text and perform search when user presses F3 + \ - Move Focus to DocWindow when user presses ESC + \ Changed May 19th, 2003 - 18:16 dbu + \ : myWmKeyDown ( h m w l obj -- res ) + \ 2 pick VK_F3 = \ if F3 + \ IF GetText: [ ] \ get adr,len of edit control text + \ "CLIP" find-buf place \ save string in find buffer + \ ?shift \ if we have the shift key + \ IF back-find-text-again + \ ELSE find-text-again \ search for it + \ THEN + \ FALSE \ we already processed this message + \ ELSE + \ 2 pick VK_ESCAPE = \ if ESC + \ if SetFocus: DocWindow \ move Focus to doc window + \ drop \ discard object + \ false \ we already processed this message + \ else drop \ discard object + \ true \ and use default processing + \ then + \ THEN ; + \ + \ ' myWmKeyDown SetWmKeyDown: findCombo + \ + \ save the find text away when the combo box gets a WM_KILLFOCUS message + \ : myWmKillFocus ( h m w l obj -- res ) + \ GetText: [ ] \ get adr,len of edit control text + \ "CLIP" find-buf place \ save string in find buffer + \ TRUE ; \ and use default processing + \ + \ ' myWmKillFocus SetWmKillFocus: findCombo + \ + \ ----------------------------------------------------------------------------------- \ ----------------------------------------------------------------------------------- *************** *** 415,418 **** --- 465,469 ---- false IDM_FIND_NEXT EnableButton: ControlToolbar false IDM_REDO EnableButton: ControlToolbar + false IDM_BROWSE EnableButton: ControlToolbar false IDM_BACK EnableButton: ControlToolbar *************** *** 427,433 **** GetBuildFile: TheProject nip 0<> dup IDM_SAVE_PRJ EnableButton: ptoolbar ! dup IDM_DELETE_PRJ EnableButton: ptoolbar ! dup IDM_BUILD_PRJ EnableButton: ptoolbar ! dup IDM_ADD_PRJ EnableButton: ptoolbar \ dup IDM_ZIP_PRJ EnableButton: ptoolbar \ IDM_COPY_PRJ EnableButton: ptoolbar --- 478,484 ---- GetBuildFile: TheProject nip 0<> dup IDM_SAVE_PRJ EnableButton: ptoolbar ! \ dup IDM_DELETE_PRJ EnableButton: ptoolbar ! \ dup IDM_BUILD_PRJ EnableButton: ptoolbar ! \ dup IDM_ADD_PRJ EnableButton: ptoolbar \ dup IDM_ZIP_PRJ EnableButton: ptoolbar \ IDM_COPY_PRJ EnableButton: ptoolbar Index: EdStatusbar.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/EdStatusbar.f,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** EdStatusbar.f 9 Jun 2006 17:03:35 -0000 1.3 --- EdStatusbar.f 13 Oct 2006 03:55:11 -0000 1.4 *************** *** 20,29 **** :Object ScintillaStatusbar <Super MultiStatusbar ! create MultiWidth 60 , -1 , \ width of statusbar parts create SingleWidth -1 , \ width of statusbar parts ! 2 constant MultiParts 0 constant EdPart 1 constant LinePart :M SetMulti: ( -- ) --- 20,30 ---- :Object ScintillaStatusbar <Super MultiStatusbar ! create MultiWidth 60 , 700 , -1 , \ width of statusbar parts create SingleWidth -1 , \ width of statusbar parts ! 3 constant MultiParts 0 constant EdPart 1 constant LinePart + 2 constant projpart :M SetMulti: ( -- ) *************** *** 42,46 **** :M Clear: ( -- ) z" " EdPart SetText: self ! z" " LinePart SetText: self ;M : SetHtmlView ( -- ) --- 43,48 ---- :M Clear: ( -- ) z" " EdPart SetText: self ! z" " LinePart SetText: self ! ;M : SetHtmlView ( -- ) *************** *** 83,87 **** FT_BITMAP of SetBitmapView endof endcase ! then r> base ! ;M --- 85,92 ---- FT_BITMAP of SetBitmapView endof endcase ! then GetProjectFileName: TheProject ?dup ! if s" Project File: " pad place "to-pathend" pad +place pad +null ! else pad off ! then pad 1+ projpart SetText: self r> base ! ;M *************** *** 98,100 **** if UpdateStatusBar: ActiveChild else Clear: ScintillaStatusbar ! then ; --- 103,105 ---- if UpdateStatusBar: ActiveChild else Clear: ScintillaStatusbar ! then Update: ScintillaStatusbar ; Index: EdHexViewer.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/EdHexViewer.f,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EdHexViewer.f 7 Jun 2006 15:39:34 -0000 1.2 --- EdHexViewer.f 13 Oct 2006 03:55:11 -0000 1.3 *************** *** 21,24 **** --- 21,27 ---- max-path 2 + bytes FileName + :M GetTextLength: ( -- n ) + 0 ;M + :M Start: ( parent -- ) New> HexViewer to ChildWindow Index: EdImageWindow.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/EdImageWindow.f,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** EdImageWindow.f 14 Jun 2006 06:02:56 -0000 1.3 --- EdImageWindow.f 13 Oct 2006 03:55:11 -0000 1.4 *************** *** 17,20 **** --- 17,23 ---- :Class ImageViewChild <Super MDIChild + :M GetTextLength: ( -- n ) + 0 ;M + :M Start: ( parent -- ) New> FreeImageWindow to ChildWindow Index: ClassBrowser.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/ClassBrowser.f,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ClassBrowser.f 29 Jun 2006 10:01:01 -0000 1.4 --- ClassBrowser.f 13 Oct 2006 03:55:11 -0000 1.5 *************** *** 235,241 **** : $browse ( line_number file_name len -- ) ! NewBrowseChild LoadHyperFile: ActiveBrowser ! SetBrowseMode: ActiveBrowser Update ! ; : Browse ( xt -- ) \ browse for the given xt --- 235,240 ---- : $browse ( line_number file_name len -- ) ! NewBrowseChild LoadHyperFile: ActiveBrowser ! SetBrowseMode: ActiveBrowser Update ; : Browse ( xt -- ) \ browse for the given xt Index: EdRemote.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/EdRemote.f,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** EdRemote.f 3 Aug 2006 22:47:45 -0000 1.3 --- EdRemote.f 13 Oct 2006 03:55:11 -0000 1.4 *************** *** 53,56 **** --- 53,69 ---- endcase r> ; + : add-open-forms ( -- ) + param-buffer lcount dup 0= + if 2drop true s" No open forms!" ?MessageBox exit + then 0 + do dup count 2dup + s" untitled.frm" caps-compare 0<> \ not unsaved forms + if AddForm: TheProject + else 2drop + \ pad place s" not saved!" pad +place + \ pad +null pad 1+ 0 Settext: TheStatusBar + then count + + loop drop ; + : ForthFormMsg ( wParam -- f ) \ ForthForm \ returns true if the message wasn't handled *************** *** 58,61 **** --- 71,75 ---- CASE FF_PASTE of FFPasteSource r>drop false >r endof \ August 20, 2005 - EAB + FORMS_SENT of add-open-forms r>drop false >r endof endcase r> ; *************** *** 66,70 **** wParam DebugMsg if wparam ConsoleMsg ! if wparam ForthFormMsg then then ; is HandleW32FMsg --- 80,84 ---- wParam DebugMsg if wparam ConsoleMsg ! if wparam ForthFormMsg drop then then ; is HandleW32FMsg *************** *** 113,118 **** IsHtmlFile? if ed-filename count (OpenHtmlFile) ! else NewRemoteChild ! ed-line @ ed-filename count LoadHyperFile: ActiveRemote \ load the file wParam ED_OPEN_BROWSE = SetBrowseMode: ActiveRemote \ browsing? then --- 127,135 ---- IsHtmlFile? if ed-filename count (OpenHtmlFile) ! else \ avoid duplicate files loaded when compiling and error occurs ! ed-filename count (OpenRemoteFile) \ switch if already loaded ! ed-line @ GotoLine: ActiveRemote ! \ NewRemoteChild ! \ ed-line @ ed-filename count LoadHyperFile: ActiveRemote \ load the file wParam ED_OPEN_BROWSE = SetBrowseMode: ActiveRemote \ browsing? then Index: ScintillaHyperMDI.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/ScintillaHyperMDI.f,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ScintillaHyperMDI.f 29 Jun 2006 04:18:47 -0000 1.2 --- ScintillaHyperMDI.f 13 Oct 2006 03:55:11 -0000 1.3 *************** *** 101,104 **** --- 101,111 ---- then addnew: HyperList ; + :M GotoLine: ( n -- ) \ position at line + 1- 0max dup GotoLine: ChildWindow + dup PositionFromLine: ChildWindow swap + LineLength: ChildWindow + over SetSelectionStart: ChildWindow + + SetSelectionEnd: ChildWindow ;M + \ Samstag, August 20 2005 dbu \ Changed to open the file only if it exist *************** *** 108,117 **** 2dup file-exist? if OpenNamedFile: self ! if 1- 0 max dup GotoLine: ChildWindow ! ! dup PositionFromLine: ChildWindow swap ! LineLength: ChildWindow ! over SetSelectionStart: ChildWindow ! + SetSelectionEnd: ChildWindow else drop beep then --- 115,119 ---- 2dup file-exist? if OpenNamedFile: self ! if GotoLine: self else drop beep then *************** *** 169,172 **** --- 171,178 ---- false SetBrowseMode: self Update: self + \ set current line background color, personal preference - EAB + 0 Color: LTCYAN SCI_SETCARETLINEBACK GetHandle: ChildWindow send-window + 0 true SCI_SETCARETLINEVISIBLE GetHandle: ChildWindow send-window + 0 500 SCI_SETCARETPERIOD GetHandle: ChildWindow send-window ;M --- NEW FILE: EdPreferences.ff --- (This appears to be a binary file; contents omitted.) Index: Main.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/Main.f,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** Main.f 9 Oct 2006 19:05:23 -0000 1.29 --- Main.f 13 Oct 2006 03:55:11 -0000 1.30 *************** *** 19,23 **** only forth also editor definitions \ put all words into the EDITOR vocabulary ! true value sysgen s" apps\Win32ForthIDE" "fpath+ --- 19,23 ---- only forth also editor definitions \ put all words into the EDITOR vocabulary ! true value sysgen s" apps\Win32ForthIDE" "fpath+ *************** *** 73,76 **** --- 73,77 ---- defer HandleW32FMsg ' noop is HandleW32FMsg defer NewBrowseChild ' noop is NewBrowseChild + defer NewEditWindow ' noop is NewEditWindow defer Update ' noop is Update defer OnSelect ' drop is OnSelect \ called when item is selected in the file listview *************** *** 79,82 **** --- 80,84 ---- needs EdStatusbar.f needs EdMenu.f + needs EdPreferences.f AcceleratorTable AccelTable \ create the Accelerator-Key-Table *************** *** 270,274 **** :M WindowStyle: ( -- style ) WindowStyle: SUPER ! WS_CLIPCHILDREN or ;M :M ExWindowStyle: ( -- exstyle ) --- 272,277 ---- :M WindowStyle: ( -- style ) WindowStyle: SUPER ! WS_CLIPCHILDREN or ! ;M :M ExWindowStyle: ( -- exstyle ) *************** *** 369,372 **** --- 372,380 ---- SaveAllBeforeCompile? s>d (d.) s" SaveAllBeforeCompile" "SetDefault StripTrailingWhitespace? s>d (d.) s" StripTrailingSpaces" "SetDefault + Back-Color s>d (d.) s" BackColor" "SetDefault + Fore-Color s>d (d.) s" ForeColor" "SetDefault + Caret-BackColor s>d (d.) s" CaretBackColor" "SetDefault + Select-ForeColor s>d (d.) s" SelectForeColor" "SetDefault + Select-BackColor s>d (d.) s" SelectBackColor" "SetDefault WindowState SIZE_RESTORED = *************** *** 414,417 **** --- 422,431 ---- s" StripTrailingWhitespace" "GetDefaultValue 0= IF drop true THEN to StripTrailingWhitespace? + s" BackColor" "GetDefaultValue 0= IF drop Back-Color THEN to Back-Color + s" ForeColor" "GetDefaultValue 0= IF drop Fore-Color THEN to Fore-Color + s" CaretBackColor" "GetDefaultValue 0= IF drop Caret-BackColor THEN to Caret-BackColor + s" SelectBackColor" "GetDefaultValue 0= IF drop Select-BackColor THEN to Select-BackColor + s" SelectForeColor" "GetDefaultValue 0= IF drop Select-ForeColor THEN to Select-ForeColor + s" SearchText" "GetDefault -IF 2dup "CLIP" find-buf place THEN 2drop s" SearchPath" "GetDefault -IF 2dup "CLIP" search-path place THEN 2drop *************** *** 458,464 **** self Start: LeftPane self Start: Splitter - EnableToolbar On_Init: super load-defaults Update --- 472,479 ---- self Start: LeftPane self Start: Splitter EnableToolbar On_Init: super + \ WS_CLIPCHILDREN -Style: mdiclient + \ WS_CLIPsiblings -Style: mdiclient load-defaults Update *************** *** 468,472 **** over LOWORD ( command ID ) dup IsCommand? IF DoCommand \ intercept Toolbar and shortkey commands ! ELSE drop OnWmCommand: Super \ intercept Menu commands THEN ;M --- 483,492 ---- over LOWORD ( command ID ) dup IsCommand? IF DoCommand \ intercept Toolbar and shortkey commands ! ELSE GetID: HelpBox = ! if over HIWORD CBN_SELCHANGE = ! if GetSelectedString: HelpBox ?viewsource ! then ! else OnWmCommand: Super \ intercept Menu commands ! then THEN ;M *************** *** 561,564 **** --- 581,591 ---- ;M + : RefreshColors ( -- ) + GetFileType: ChildParent FT_SOURCE <> ?exit + fore-color back-color SetColors: ChildParent + caret-backcolor SetCaretBackColor: ChildParent + Select-ForeColor Select-BackColor SetSelectionColor: ChildParent + ; + 0 value Starting? :M Start: ( parent -- ) *************** *** 568,575 **** 0 0 Width Height Move: ChildWindow self AddFile: cTabWindow \ add the file to the file list ! \ SetFocus: ChildWindow ! SetFocus: self ! false to Starting? ! ;M :M ?Modified: ( -- f ) --- 595,603 ---- 0 0 Width Height Move: ChildWindow self AddFile: cTabWindow \ add the file to the file list ! \ SetFocus: ChildWindow ! SetFocus: self ! false to Starting? ! RefreshColors ! ;M :M ?Modified: ( -- f ) *************** *** 675,678 **** --- 703,707 ---- GetFileType: self FT_SOURCE = if Update: ChildParent + RefreshColors then ;M *************** *** 759,762 **** --- 788,792 ---- New> HyperEditorChild to ActiveChild MDIClientWindow: Frame Start: ActiveChild ; + ' NewEditWnd is NewEditWindow : NewHtmlWnd ( -- ) \ open a new child window for displaying HTML-Files *************** *** 792,796 **** temp$ FileNotFound: Frame if NewEditWnd ! temp$ count OpenNamedFile: ActiveChild then Update ; --- 822,826 ---- temp$ FileNotFound: Frame if NewEditWnd ! temp$ count OpenNamedFile: ActiveChild drop then Update ; *************** *** 820,824 **** temp$ FileNotFound: Frame if NewRemoteChild ! temp$ count OpenNamedFile: ActiveChild else ActiveChild to ActiveRemote then Update ; --- 850,854 ---- temp$ FileNotFound: Frame if NewRemoteChild ! temp$ count OpenNamedFile: ActiveChild drop else ActiveChild to ActiveRemote then Update ; *************** *** 966,969 **** --- 996,1000 ---- GetHandle: frame hwndOwner ! DefaultPrinter \ initialise PSD and PD init-shared-type + init-msg-buffer ['] sciedit_win32forth-message is win32forth-message InitClassBrowsers Index: EdFindInFiles.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/EdFindInFiles.f,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EdFindInFiles.f 26 Aug 2006 15:25:32 -0000 1.2 --- EdFindInFiles.f 13 Oct 2006 03:55:11 -0000 1.3 *************** *** 9,14 **** anew -EdFindInFiles.f - s" src\wined" "fpath+ - s" src\wined\res" "fpath+ FALSE value all-occur? \ find all occurances of a string in a file, not just first --- 9,12 ---- *************** *** 376,379 **** ;Object - - |
From: Ezra B. <ezr...@us...> - 2006-10-13 03:55:15
|
Update of /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/res In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv5766/res Modified Files: Toolbar.bmp Log Message: Updates. EAB Index: Toolbar.bmp =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/res/Toolbar.bmp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvs6R7Ca9 and /tmp/cvslnz76W differ |
From: Ezra B. <ezr...@us...> - 2006-10-13 03:50:33
|
Update of /cvsroot/win32forth/win32forth/src/lib In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv4169/src/lib Modified Files: ENUM.F ExUtils.f FileLister.f ScintillaEdit.f bitmap.f multiopen.f treeview.f Log Message: Updates. EAB Index: ScintillaEdit.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/lib/ScintillaEdit.f,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ScintillaEdit.f 31 Aug 2005 17:03:19 -0000 1.4 --- ScintillaEdit.f 13 Oct 2006 03:50:29 -0000 1.5 *************** *** 43,46 **** --- 43,60 ---- fload ScintillaLexer.f + :M SetCaretBackColor: ( color -- ) \ value of zero turns it off effect + dup 0= + if false SCI_SETCARETLINEVISIBLE hwnd send-window + else 0 swap SCI_SETCARETLINEBACK hwnd send-window + 0 true SCI_SETCARETLINEVISIBLE hwnd send-window + then ;M + + :M SetColors: ( fore back -- ) + style_default rot stylesetfore: self + style_default swap stylesetback: self + 0 0 SCI_STYLECLEARALL hwnd send-window + InitLexer: [ self ] + ;M + :M InitLexer: ( -- ) SCLEX_FORTH SetLexer: self Index: multiopen.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/lib/multiopen.f,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** multiopen.f 15 Oct 2005 18:13:10 -0000 1.5 --- multiopen.f 13 Oct 2006 03:50:29 -0000 1.6 *************** *** 134,137 **** --- 134,140 ---- to filterndx ;m + \ :m GetFilterIndex: ( -- index ) + \ filterndx ;m + : run-dialog ( owner_handle dialog-func-cfa -- a1 ) 2>r *************** *** 139,146 **** filterndx szFile dup off \ no initial file ! szDir 1+ ! szTitle ! szFilter ! 2r> execute #selected dup to fcnt if 0 GetFile: self "path-only" szdir place \ save path --- 142,150 ---- filterndx szFile dup off \ no initial file ! szDir 1+ ! szTitle ! szFilter ! 2r> execute ! ofn-struct 6 cells+ @ to filterndx \ save filter index #selected dup to fcnt if 0 GetFile: self "path-only" szdir place \ save path *************** *** 156,158 **** ;Class ! MODULE |
From: George H. <geo...@us...> - 2006-10-10 11:11:32
|
Update of /cvsroot/win32forth/win32forth/src/kernel In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv20491/win32forth/src/kernel Modified Files: fkernel.f Log Message: gah:Fixed bug in Z," Index: fkernel.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/kernel/fkernel.f,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** fkernel.f 3 Oct 2006 07:44:22 -0000 1.39 --- fkernel.f 10 Oct 2006 11:11:25 -0000 1.40 *************** *** 3297,3301 **** CODE APPEND-LINK ( addr list -- ) \ W32F List ! \ *G Appendd a link to the end of a list. @@1: mov ecx, 0 [ebx] \ get next link test ecx, ecx \ is next link zero? --- 3297,3301 ---- CODE APPEND-LINK ( addr list -- ) \ W32F List ! \ *G Append a link to the end of a list. @@1: mov ecx, 0 [ebx] \ get next link test ecx, ecx \ is next link zero? *************** *** 3351,3355 **** : Z", ( addr len -- ) \ W32F String Extra \ *G Compile the string, addr len at here. ! HERE OVER ALLOT place ; : Z," ( -<string">- ) \ compile string" at here --- 3351,3355 ---- : Z", ( addr len -- ) \ W32F String Extra \ *G Compile the string, addr len at here. ! HERE OVER ALLOT swap cmove ; : Z," ( -<string">- ) \ compile string" at here |
From: George H. <geo...@us...> - 2006-10-10 10:23:34
|
Update of /cvsroot/win32forth/win32forth/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv883/win32forth/src Modified Files: ENVIRON.F Log Message: gah:Modified to check for src\\float.f rather than just float.f Index: ENVIRON.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/ENVIRON.F,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ENVIRON.F 28 Sep 2006 10:16:48 -0000 1.4 --- ENVIRON.F 10 Oct 2006 10:23:27 -0000 1.5 *************** *** 52,56 **** TRUE CONSTANT LOCALS-EXT ! LOADED? FLOAT.F [IF] TRUE CONSTANT FLOATING TRUE CONSTANT FLOATING-EXT --- 52,56 ---- TRUE CONSTANT LOCALS-EXT ! LOADED? SRC\FLOAT.F [IF] TRUE CONSTANT FLOATING TRUE CONSTANT FLOATING-EXT |
From: Dirk B. <db...@us...> - 2006-10-09 19:09:11
|
Update of /cvsroot/win32forth/win32forth-stc/demos In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv28554/demos Modified Files: HELLO.F Log Message: Hello.f ported. Index: HELLO.F =================================================================== RCS file: /cvsroot/win32forth/win32forth-stc/demos/HELLO.F,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** HELLO.F 9 Oct 2006 15:15:34 -0000 1.1 --- HELLO.F 9 Oct 2006 19:09:09 -0000 1.2 *************** *** 89,108 **** ; ! \ 0 VALUE _hWnd \ this name works !!! ! \ ! \ : DEMO ( -- ) ! \ REGISTER-CLASS 0= IF CR ." register class failed " THEN ! \ CREATE-HELLO-WINDOW TO _hWnd ! \ _hWnd 0= ABORT" create window failed" ! \ 1 _hWnd Call ShowWindow DROP ! \ _hWnd Call UpdateWindow DROP ! \ ; ! \ ! \ : CLEANUP ( -- ) ! \ _hWnd Call DestroyWindow DROP ! \ AppInst AppName Call UnregisterClass DROP ; - variable hWnd \ this name doesn't work !!! - \ : DEMO ( -- ) REGISTER-CLASS 0= IF CR ." register class failed " THEN --- 89,94 ---- ; ! 0 VALUE hWnd : DEMO ( -- ) REGISTER-CLASS 0= IF CR ." register class failed " THEN *************** *** 112,116 **** hWnd Call UpdateWindow DROP ; ! \ : CLEANUP ( -- ) hWnd Call DestroyWindow DROP --- 98,102 ---- hWnd Call UpdateWindow DROP ; ! : CLEANUP ( -- ) hWnd Call DestroyWindow DROP |
From: Dirk B. <db...@us...> - 2006-10-09 19:05:26
|
Update of /cvsroot/win32forth/win32forth/apps/Win32ForthIDE In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv26988/apps/Win32ForthIDE Modified Files: Main.f Log Message: Setting the tread priority of the main task removed. It blocks the system too mutch. Index: Main.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/apps/Win32ForthIDE/Main.f,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** Main.f 26 Aug 2006 15:25:32 -0000 1.28 --- Main.f 9 Oct 2006 19:05:23 -0000 1.29 *************** *** 958,962 **** : Main ( -- ) ! above start: Frame GetHandle: frame hwndOwner ! DefaultPrinter \ initialise PSD and PD --- 958,966 ---- : Main ( -- ) ! ! \ Removed setting the thread priority of the main task. It block's the system ! \ too mutch and isn't realy needed (Montag, Oktober 09 2006, dbu). ! \ above ! start: Frame GetHandle: frame hwndOwner ! DefaultPrinter \ initialise PSD and PD |
From: Dirk B. <db...@us...> - 2006-10-09 15:15:54
|
Update of /cvsroot/win32forth/win32forth-stc/demos In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv2178/demos Added Files: HELLO.F Log Message: Hello.f ported (still not working; because of a problem with LOCALS, VALUES and TO). --- NEW FILE: HELLO.F --- \ $Id: HELLO.F,v 1.1 2006/10/09 15:15:34 dbu_de Exp $ \ hello.f \ Andrew McKewan \ Demo for simple "Hello World" windows app. \ See also WINHELLO.F for a similar example using objects. ONLY FORTH ALSO DEFINITIONS defined cleanup nip [if] cleanup [then] ANEW PROGRAM : AppName Z" HelloApp" ; : Title Z" Hello World" ; \ Here we get to draw in the window. The counter will increment every \ time PAINT is called. : .HELLO { hdc counter -- } counter 0 <# S" times" "HOLD #S S" Repainted " "HOLD #> swap 20 20 hdc call TextOut drop ; \ the counter is stored in the window extra memory : COUNTER@ ( hwnd -- n ) 0 swap Call GetWindowLong ; : COUNTER! ( n hwnd -- ) 0 swap Call SetWindowLong DROP ; create ps 64 allot ( paintstruct ) \ update counter every time we repaint window : PAINT { hWnd \ hDC -- } ps hWnd Call BeginPaint to hDC hDC hWnd COUNTER@ .HELLO hWnd COUNTER@ 1+ hWnd COUNTER! ( increment counter ) ps hWnd Call EndPaint DROP ; \ Define the window procedure 4 callback: hello-wndproc { hWnd msg wParam lParam -- result } msg CASE WM_CREATE OF 1 hWnd COUNTER! 0 200 1 hWnd Call SetTimer drop ENDOF WM_PAINT OF hWnd PAINT ENDOF WM_TIMER OF 1 0 hWnd Call InvalidateRect drop ENDOF WM_DESTROY OF 1 hWnd Call KillTimer drop ENDOF ( DEFAULT ) lParam wParam msg hWnd Call DefWindowProc EXIT ENDCASE 0 ; \ Create a WNDCLASS structure and register the class. : REGISTER-CLASS ( -- F ) HERE CS_HREDRAW CS_VREDRAW or , ( class style ) ['] HELLO-WNDPROC , 0 , ( class extra ) 4 , ( window extra ) ( for counter ) AppInst , IDI_APPLICATION NULL Call LoadIcon , IDC_ARROW NULL Call LoadCursor , WHITE_BRUSH Call GetStockObject , NULL , ( hMenu ) AppName , DUP Call RegisterClass SWAP DP ! ; \ Create the window : CREATE-HELLO-WINDOW ( -- f ) 0 \ creation parameters AppInst \ instance handle 0 \ menu ConHndl \ parent window 200 300 100 100 \ window position ( h w y x ) WS_OVERLAPPEDWINDOW \ window style Title \ window title AppName \ class name 0 \ exended style Call CreateWindowEx ; \ 0 VALUE _hWnd \ this name works !!! \ \ : DEMO ( -- ) \ REGISTER-CLASS 0= IF CR ." register class failed " THEN \ CREATE-HELLO-WINDOW TO _hWnd \ _hWnd 0= ABORT" create window failed" \ 1 _hWnd Call ShowWindow DROP \ _hWnd Call UpdateWindow DROP \ ; \ \ : CLEANUP ( -- ) \ _hWnd Call DestroyWindow DROP \ AppInst AppName Call UnregisterClass DROP ; variable hWnd \ this name doesn't work !!! \ : DEMO ( -- ) REGISTER-CLASS 0= IF CR ." register class failed " THEN CREATE-HELLO-WINDOW TO hWnd hWnd 0= ABORT" create window failed" 1 hWnd Call ShowWindow DROP hWnd Call UpdateWindow DROP ; \ : CLEANUP ( -- ) hWnd Call DestroyWindow DROP AppInst AppName Call UnregisterClass DROP ; CR .( Type 'DEMO' to run program ) |
From: Alex M. <ale...@us...> - 2006-10-08 20:39:37
|
Update of /cvsroot/win32forth/win32forth-stc/src/kernel In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv4117 Modified Files: gmeta-compiler.f Log Message: arm: remove inline code generation Index: gmeta-compiler.f =================================================================== RCS file: /cvsroot/win32forth/win32forth-stc/src/kernel/gmeta-compiler.f,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** gmeta-compiler.f 6 Oct 2006 15:43:44 -0000 1.5 --- gmeta-compiler.f 8 Oct 2006 20:39:34 -0000 1.6 *************** *** 91,115 **** \ -------------------- Deferred app space words ------------------------ ! $10000 dup malloc to image-codeptr image-codeptr swap $90 fill \ where code is built ! $10000 dup malloc to image-appptr image-appptr swap erase \ where target app is built ! $10000 dup malloc to image-kodeptr image-kodeptr swap $90 fill \ where sys-code is built ! $10000 dup malloc to image-sysptr image-sysptr swap erase \ where target heads are built ! image-origin image-csep + image-codeptr - constant tcode-base \ target data base ! image-origin image-asep + image-appptr - constant tapp-base \ target dictionary base ! image-origin image-ssep + image-sysptr - constant tsys-base \ target header base ! image-origin image-ksep + image-kodeptr - constant tkode-base \ target sys code base ! create tcode-dp image-codeptr , image-codeptr , image-codeptr $10000 + , 0 , ," tcode-dp" \ code ! create tapp-dp image-appptr , image-appptr , image-appptr $10000 + , 0 , ," tapp-dp" \ app ! create tkode-dp image-kodeptr , image-kodeptr , image-kodeptr $10000 + , 0 , ," tkode-dp" \ code ! create tsys-dp image-sysptr , image-sysptr , image-sysptr $10000 + , 0 , ," tsys-dp" \ system : in-sys-t? dp tsys-dp = ; ! : >tapp ( -- ) tapp-dp >dp exit ; \ select app dict, save prev dict ! : >tsys ( -- ) tsys-dp >dp exit ; \ select sys dict, save prev dict ! : >tcode ( -- ) tcode-dp >dp exit ; \ select code dict, save prev dict ! : >tkode ( -- ) tkode-dp >dp exit ; \ select kode dict, save prev dict ' dp> alias tapp> --- 91,115 ---- \ -------------------- Deferred app space words ------------------------ ! $10000 dup malloc to image-codeptr image-codeptr swap $90 fill \ where code is built ! $10000 dup malloc to image-appptr image-appptr swap erase \ where target app is built ! $10000 dup malloc to image-kodeptr image-kodeptr swap $90 fill \ where sys-code is built ! $10000 dup malloc to image-sysptr image-sysptr swap erase \ where target heads are built ! image-origin image-csep + image-codeptr - constant tcode-base \ target data base ! image-origin image-asep + image-appptr - constant tapp-base \ target dictionary base ! image-origin image-ssep + image-sysptr - constant tsys-base \ target header base ! image-origin image-ksep + image-kodeptr - constant tkode-base \ target sys code base ! create tcode-dp image-codeptr , image-codeptr , image-codeptr $10000 + , 0 , ," tcode-dp" \ code ! create tapp-dp image-appptr , image-appptr , image-appptr $10000 + , 0 , ," tapp-dp" \ app ! create tkode-dp image-kodeptr , image-kodeptr , image-kodeptr $10000 + , 0 , ," tkode-dp" \ code ! create tsys-dp image-sysptr , image-sysptr , image-sysptr $10000 + , 0 , ," tsys-dp" \ system : in-sys-t? dp tsys-dp = ; ! : >tapp ( -- ) tapp-dp >dp exit ; \ select app dict, save prev dict ! : >tsys ( -- ) tsys-dp >dp exit ; \ select sys dict, save prev dict ! : >tcode ( -- ) tcode-dp >dp exit ; \ select code dict, save prev dict ! : >tkode ( -- ) tkode-dp >dp exit ; \ select kode dict, save prev dict ' dp> alias tapp> *************** *** 1370,1479 **** .olly - \ temp for debugging - \s - - t: @ ( addr -- n ) - macro[ - mov eax, [eax] - ]macro ; - - t: ! ( n addr -- ) - macro[ - mov ecx, [ebp] - mov [eax], ecx - mov eax, 4 [ebp] - lea ebp, 8 [ebp] - ]macro ; - - t: + ( n m -- l ) - macro[ - add eax, [ebp] - lea ebp, 4 [ebp] - ]macro ; - - t: - ( n m -- l ) - macro[ - neg eax - add eax, [ebp] - lea ebp, 4 [ebp] - ]macro ; - - t: cell+ ( n m -- l ) - macro[ - add eax, # 4 - ]macro ; - - t: cell- ( n m -- l ) - macro[ - sub eax, # 4 - ]macro ; - - t: 0= ( n m -- l ) - macro[ - cmp eax, # 1 - sbb eax, eax - ]macro ; - - t: or ( n m -- l ) - macro[ - or eax, [ebp] - lea ebp, 4 [ebp] - ]macro ; ! t: and ( n m -- l ) ! macro[ ! and eax, [ebp] ! lea ebp, 4 [ebp] ! ]macro ; ! ! t: dup ( n -- n n ) ! macro[ ! mov -4 [ebp], eax ! lea ebp, -4 [ebp] ! ]macro ; ! ! t: swap ( n m -- m n ) ! macro[ ! mov ecx, [ebp] ! mov [ebp], eax ! mov eax, ecx ! ]macro ; ! ! t: over ( n1 n2 -- n1 n2 n1 ) ! macro[ ! mov -4 [ebp], eax ! mov eax, [ebp] ! lea ebp, -4 [ebp] ! ]macro ; ! ! t: 0 ( -- 0 ) ! macro[ ! mov -4 [ebp], eax ! xor eax, eax ! lea ebp, -4 [ebp] ! ]macro ; ! ! t: 1 ( -- 0 ) ! macro[ ! mov -4 [ebp], eax ! xor eax, eax ! inc eax ! lea ebp, -4 [ebp] ! ]macro ; ! ! t: 1- ( n -- n-1 ) ! macro[ ! dec eax ! ]macro ; ! ! t: 1+ ( n -- n-1 ) ! macro[ ! inc eax ! ]macro ; ! ! t: c@ ( n -- n-1 ) ! macro[ ! movzx eax, byte [eax] ! ]macro ; (( --- 1370,1375 ---- .olly ! \s (( |
From: Alex M. <ale...@us...> - 2006-10-08 20:37:44
|
Update of /cvsroot/win32forth/win32forth-stc/src/kernel In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv3275 Modified Files: gkernel.f Log Message: arm: correct TO on values with same name as local Index: gkernel.f =================================================================== RCS file: /cvsroot/win32forth/win32forth-stc/src/kernel/gkernel.f,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** gkernel.f 8 Oct 2006 14:41:26 -0000 1.16 --- gkernel.f 8 Oct 2006 20:37:41 -0000 1.17 *************** *** 2260,2265 **** : code-align ( -- ) >code align dp> ; - : break $cc code-c, ; immediate - \ -------------------- Vocabulary/header support ----------------------- --- 2260,2263 ---- *************** *** 2341,2347 **** : >ct ( xt -- ct ) dup cell- @ + ; \ given an xt, get the ct : >comp ( xt -- comp ) >ct cell- ; \ point to the comp field : >ct-exec ( xt -- ) >ct 2@ execute ; \ execute the ct : >name ( xt -- nfa ) >ct ct>name ; \ get the name - : >comp! ( xt2 xt1 -- ) >comp ! ; \ set the compile word : compile-for ( xt2 <name> -- ) ' >comp! ; \ parsing; set the compilation word --- 2339,2345 ---- : >ct ( xt -- ct ) dup cell- @ + ; \ given an xt, get the ct : >comp ( xt -- comp ) >ct cell- ; \ point to the comp field + : >comp! ( xt2 xt1 -- ) >comp ! ; \ set the compile word : >ct-exec ( xt -- ) >ct 2@ execute ; \ execute the ct : >name ( xt -- nfa ) >ct ct>name ; \ get the name : compile-for ( xt2 <name> -- ) ' >comp! ; \ parsing; set the compilation word *************** *** 4463,4466 **** --- 4461,4465 ---- : unnest ( -- ) \ generate a return + sync-code $c3 code-c, ; immediate *************** *** 4525,4528 **** --- 4524,4528 ---- is ; \ set the ; word 0 to localstk \ clear locals stack counter + 0 to tail-call \ will be non-zero if we have any calls cs-leave -stack \ clear the stack used for leave addresses !csp ] ; \ stack depth, start compiling *************** *** 4537,4541 **** : : ( -<name>- -- ) \ forth's primary function defining word - 0 to tail-call \ will be non-zero if we have any calls header hide ['] ;name (:noname) \ set the named ; word --- 4537,4540 ---- *************** *** 4549,4553 **** 0 to localstk \ can have its own locals cs-leave -stack \ clear the stack used for leave addresses ! code-here name-compiles \ make the defined word compile this ; --- 4548,4552 ---- 0 to localstk \ can have its own locals cs-leave -stack \ clear the stack used for leave addresses ! code-here latestxt @ >ct ! \ make the defined word compile this ; *************** *** 4629,4633 **** execute r> handler ! ! r>drop r>drop r>drop --- 4628,4632 ---- execute r> handler ! ! r>drop r>drop r>drop *************** *** 4658,4663 **** : abort" ( n -<string">- -- ) ! postpone if [c"] postpone abort! ! postpone then ; immediate \ ----------------- Vocabulary & wordlist support -------------------------- --- 4657,4666 ---- : abort" ( n -<string">- -- ) ! (comp-only) ! compilation> drop ! postpone if ! postpone c" ! postpone abort! ! postpone then ; \ ----------------- Vocabulary & wordlist support -------------------------- *************** *** 5368,5380 **** |: _to ( -<value>- -- ) \ compile time ! bl word dup count ! [ ' locals >body ] literal \ locals wordlist ! (search-self) name>xtimm if \ might be a local ! nip execute \ execute it ! $418D code-here 3 - code-w! \ modify to "lea eax, n [ecx]" ! else ! find ?missing \ do a find, check not missing ! >body postpone literal \ compile as literal ! then ; : to ( n -<value>- -- ) \ set a value --- 5371,5386 ---- |: _to ( -<value>- -- ) \ compile time ! bl word ! localstk 0> if ! dup count [ ' locals >body ] literal \ locals wordlist ! search-wordlist if \ might be a local ! nip execute \ execute it ! $418D code-here 3 - code-w! \ modify to "lea eax, n [ecx]" ! exit ! then ! then ! find ?missing \ do a find, check not missing ! >body postpone literal \ compile as literal ! ; : to ( n -<value>- -- ) \ set a value *************** *** 5791,5794 **** --- 5797,5802 ---- 0 | value word-count + : break sync-code $cc code-c, ; immediate + : ((words)) ( nfa -- true ) dup count pad count search nip nip if |
From: Alex M. <ale...@us...> - 2006-10-08 20:37:28
|
Update of /cvsroot/win32forth/win32forth-stc In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv3250 Modified Files: gkernel.exe Log Message: arm: correct TO on values with same name as local Index: gkernel.exe =================================================================== RCS file: /cvsroot/win32forth/win32forth-stc/gkernel.exe,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 Binary files /tmp/cvsVvXa3j and /tmp/cvs6K0BSl differ |
From: Dirk B. <db...@us...> - 2006-10-08 14:41:34
|
Update of /cvsroot/win32forth/win32forth-stc/src/kernel In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv19782/src/kernel Modified Files: gkernel.f Log Message: "HOLD added Index: gkernel.f =================================================================== RCS file: /cvsroot/win32forth/win32forth-stc/src/kernel/gkernel.f,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** gkernel.f 6 Oct 2006 12:16:34 -0000 1.15 --- gkernel.f 8 Oct 2006 14:41:26 -0000 1.16 *************** *** 531,535 **** code nip ( n1 n2 -- n2 ) \ discard second item on data stack 2 1 in/out ! next; code tuck ( n1 n2 -- n2 n1 n2 ) \ copy top data stack to under second item --- 531,535 ---- code nip ( n1 n2 -- n2 ) \ discard second item on data stack 2 1 in/out ! next; code tuck ( n1 n2 -- n2 n1 n2 ) \ copy top data stack to under second item *************** *** 2427,2431 **** >system \ constant value in system space ['] doval dogen , ! dp> ['] (comp-cons) name-compiles \ make the defined word compile this ; --- 2427,2431 ---- >system \ constant value in system space ['] doval dogen , ! dp> ['] (comp-cons) name-compiles \ make the defined word compile this ; *************** *** 2650,2655 **** : char ( -- char ) parse-word drop c@ ; ! : [char] ( -- char ) ! (comp-only) compilation> drop char postpone literal ; : /parse ( -- addr u ) --- 2650,2655 ---- : char ( -- char ) parse-word drop c@ ; ! : [char] ( -- char ) ! (comp-only) compilation> drop char postpone literal ; : /parse ( -- addr u ) *************** *** 3274,3277 **** --- 3274,3278 ---- next; + : "HOLD ( addr len -- ) dup negate hld +! hld @ swap move ; : #s ( d1 -- d2 ) begin # 2dup or 0= until ; : (d.) ( d -- addr len ) tuck dabs <# #s rot sign #> ; *************** *** 4259,4263 **** add 0 [ebp], eax mov eax, ecx ! next; create cs-leave 16 cells allot \ for leave only --- 4260,4264 ---- add 0 [ebp], eax mov eax, ecx ! next; create cs-leave 16 cells allot \ for leave only *************** *** 5443,5450 **** : action-of ( "name" ) \ get action for defer ! ' defer@ compilation> drop ' >body postpone literal postpone @ ; ! ' to alias is immediate \ is or to works with defer & value --- 5444,5451 ---- : action-of ( "name" ) \ get action for defer ! ' defer@ compilation> drop ' >body postpone literal postpone @ ; ! ' to alias is immediate \ is or to works with defer & value *************** *** 5865,5869 **** repeat drop .olly-fileid close-file drop r> base ! ; ! in-application --- 5866,5870 ---- repeat drop .olly-fileid close-file drop r> base ! ; ! in-application |
From: Dirk B. <db...@us...> - 2006-10-07 05:34:47
|
Update of /cvsroot/win32forth/win32forth-stc In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv30952 Added Files: extend.bat meta.bat rebuild.bat Log Message: - Some batch files added for simpler rebuilding the system (will be removed when the setup is ready). --- NEW FILE: rebuild.bat --- gkernel fload src\extend fsave w32f bye w32f fload src\kernel\gmeta bye --- NEW FILE: meta.bat --- w32f fload src\kernel\gmeta key drop bye --- NEW FILE: extend.bat --- gkernel fload src\extend fsave w32f key drop bye |
From: Alex M. <ale...@us...> - 2006-10-06 16:57:06
|
Update of /cvsroot/win32forth/win32forth-stc/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv1356 Modified Files: extend.f Added Files: environ.f Log Message: arm: add environ.f to support environment? queries --- NEW FILE: environ.f --- \ $Id: environ.f,v 1.1 2006/10/06 16:57:02 alex_mcdonald Exp $ \ ENVIRON.F ENVIRONMENT? support by Tom Zimmer cr .( Loading ANS ENVIRONMENT...) \ Implementation suggested by Andrew McKewan only forth also definitions 1 #vocabulary environment : environment? ( a1 n1 -- false | ?? true ) ['] environment >body search-wordlist if execute true else false then ; environment definitions MAXCOUNTED CONSTANT /COUNTED-STRING 0x50 CONSTANT /HOLD MAXSTRING CONSTANT /PAD 8 CONSTANT ADDRESS-UNIT-BITS TRUE CONSTANT CORE TRUE CONSTANT CORE-EXT -10 7 / -2 = CONSTANT FLOORED \ -rbs \ 0xFFFFFFFF CONSTANT MAX-CHAR 0xFF CONSTANT MAX-CHAR 0x7FFFFFFF.FFFFFFFF 2CONSTANT MAX-D 0x7FFFFFFF CONSTANT MAX-N 0xFFFFFFFF CONSTANT MAX-U 0xFFFFFFFF.FFFFFFFF 2CONSTANT MAX-UD 0x100 CONSTANT RETURN-STACK-CELLS 0x100 CONSTANT STACK-CELLS TRUE CONSTANT DOUBLE TRUE CONSTANT DOUBLE-EXT TRUE CONSTANT EXCEPTION TRUE CONSTANT EXCEPTION-EXT TRUE CONSTANT FACILITY TRUE CONSTANT FACILITY-EXT TRUE CONSTANT MEMORY-ALLOC TRUE CONSTANT MEMORY-ALLOC-EXT TRUE CONSTANT FILE TRUE CONSTANT FILE-EXT TRUE CONSTANT TOOLS TRUE CONSTANT TOOLS-EXT TRUE CONSTANT SEARCH-ORDER TRUE CONSTANT SEARCH-ORDER-EXT #VOCS CONSTANT WORDLISTS TRUE CONSTANT STRING TRUE CONSTANT STRING-EXT 12 CONSTANT #LOCALS : LOCALS TRUE ; TRUE CONSTANT LOCALS-EXT TRUE CONSTANT WIN32FORTH LOADED? FLOAT.F [IF] TRUE CONSTANT FLOATING TRUE CONSTANT FLOATING-EXT FSTACK-ELEMENTS CONSTANT FLOATING-STACK FBIG FCONSTANT MAX-FLOAT [then] forth definitions Index: extend.f =================================================================== RCS file: /cvsroot/win32forth/win32forth-stc/src/extend.f,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** extend.f 6 Oct 2006 16:36:49 -0000 1.9 --- extend.f 6 Oct 2006 16:57:02 -0000 1.10 *************** *** 18,21 **** --- 18,22 ---- FLOAD src\paths.f \ multi path support words sys-fload src\imageman.f \ fsave, application & turnkey words + sys-FLOAD src\environ.f \ environment? support sys-FLOAD src\dis486.f \ load the disassembler *************** *** 57,61 **** \ FLOAD src\scrnctrl.f \ screen control words *** OBSOLETE *** FLOAD src\mapfile.f \ Windows32 file into memory mapping words - sys-FLOAD src\environ.f \ environment? support \ sys-FLOAD src\transit.f \ minimal transient support now an extra file FLOAD src\Shell.f \ load SHELL utility words --- 58,61 ---- |
From: Alex M. <ale...@us...> - 2006-10-06 16:57:01
|
Update of /cvsroot/win32forth/win32forth-stc In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv1190 Modified Files: gkernel.exe Log Message: arm: add environ.f to support environment? queries Index: gkernel.exe =================================================================== RCS file: /cvsroot/win32forth/win32forth-stc/gkernel.exe,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 Binary files /tmp/cvsxv1hj5 and /tmp/cvszjN33P differ |
From: Alex M. <ale...@us...> - 2006-10-06 16:56:11
|
Update of /cvsroot/win32forth/win32forth-stc/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv770 Modified Files: primutil.f Log Message: arm: added 2constant in primutil.f Index: primutil.f =================================================================== RCS file: /cvsroot/win32forth/win32forth-stc/src/primutil.f,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** primutil.f 6 Oct 2006 11:26:32 -0000 1.11 --- primutil.f 6 Oct 2006 16:55:59 -0000 1.12 *************** *** 96,99 **** --- 96,103 ---- \ ------------------------------------------------------------------------ + : 2constant ( n m "name" ) + >system create , , dp> + does> 2@ ; + ' dpl alias dp-location ' postpone alias compile |
From: Alex M. <ale...@us...> - 2006-10-06 16:36:52
|
Update of /cvsroot/win32forth/win32forth-stc/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv25727 Modified Files: extend.f Log Message: arm: inlude registry.f in list of files migrated Index: extend.f =================================================================== RCS file: /cvsroot/win32forth/win32forth-stc/src/extend.f,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** extend.f 6 Oct 2006 12:16:23 -0000 1.8 --- extend.f 6 Oct 2006 16:36:49 -0000 1.9 *************** *** 30,33 **** --- 30,34 ---- FLOAD src\console\lineedit.f \ a line editor utility FLOAD src\ansfile.f \ ansi file words + FLOAD src\registry.f \ Win32 Registry support .olly *************** *** 45,51 **** \s ! ! \ sys-FLOAD src\dthread.f \ display threads ! \ sys-FLOAD src\order.f \ vocabulary support sys-FLOAD src\see.f \ sys-FLOAD src\ctype.f \ 'c' style character typing --- 46,52 ---- \s ! ! \ sys-FLOAD src\dthread.f \ display threads *** OBSOLETE *** ! \ sys-FLOAD src\order.f \ vocabulary support *** OBSOLETE *** sys-FLOAD src\see.f \ sys-FLOAD src\ctype.f \ 'c' style character typing *************** *** 54,59 **** sys-FLOAD src\words.f FLOAD src\class.f \ ***** Object Oriented Programming Support ***** ! \ FLOAD src\scrnctrl.f \ screen control words ! FLOAD src\registry.f \ Win32 Registry support FLOAD src\mapfile.f \ Windows32 file into memory mapping words sys-FLOAD src\environ.f \ environment? support --- 55,59 ---- sys-FLOAD src\words.f FLOAD src\class.f \ ***** Object Oriented Programming Support ***** ! \ FLOAD src\scrnctrl.f \ screen control words *** OBSOLETE *** FLOAD src\mapfile.f \ Windows32 file into memory mapping words sys-FLOAD src\environ.f \ environment? support |
From: Alex M. <ale...@us...> - 2006-10-06 16:36:18
|
Update of /cvsroot/win32forth/win32forth-stc/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv25696 Added Files: registry.f Log Message: arm: base version of registry functions --- NEW FILE: registry.f --- \ $Id: registry.f,v 1.1 2006/10/06 16:36:11 alex_mcdonald Exp $ \ \ registry.f The Registry Interface for Win32Forth by Tom Zimmer \ \ Andrew implemented the functionality in C, and I translated it \ into Forth \ \ 2002/08/31 arm (minor) use ANS file words replaceing FXXX-FILE \ 2002/09/24 arm release for testing \ 2002/10/08 arm Consolidation \ 2003/09/08 dbu removed the registry entries 'Directory' and 'Version' \ Sonntag, Dezember 26 2004 dbu mostly rewritten \ Dienstag, Mai 24 2005 dbu \ - Changed to work with Rod's RegistrySupport.f \ - fixed a bug in (RegQueryValue) \ - removed the deprecated words .REGISTRY and RE-REGISTER \ - Expanded TAB's into spaces \ Mittwoch, Mai 25 2005 dbu \ - Some more changes to work with Rod's RegistrySupport.f cr .( Loading Windows Registry...) in-application INTERNAL library advapi32.dll 5 proc RegOpenKeyEx 9 proc RegCreateKeyEx 1 proc RegCloseKey 6 proc RegQueryValueEx 6 proc RegSetValueEx \ ************************************************************************************ \ Low level Registry words \ \ With these words the complete registry can be accessed \ ************************************************************************************ external \ RegOpenKey opens the specified registry key : (RegOpenKey) { hKey lpSubKey samDesired \ hkResult -- hkResult } &OF hkResult samDesired 0 lpSubKey hKey call RegOpenKeyEx ERROR_SUCCESS = if hkResult else INVALID_HANDLE_VALUE then ; \ RegCreateKey creates the specified registry key. \ If the key already exists, it is opened. : (RegCreateKey) { hKey lpSubKey samDesired \ Class Disposition hkResult -- hkResult } 0 to Class 0 to Disposition &OF Disposition \ disposition value buffer &OF hkResult \ key handle 0 \ inheritance samDesired \ desired security access REG_OPTION_NON_VOLATILE \ special options &OF Class \ class string 0 \ reserved lpSubKey \ subkey name hKey \ handle to open key call RegCreateKeyEx ERROR_SUCCESS = if hkResult else INVALID_HANDLE_VALUE then ; \ RegCloseKey releases a handle to the specified registry key : (RegCloseKey) ( hKey -- f ) call RegCloseKey ERROR_SUCCESS = ; \ RegQueryValue retrieves the type and data for a specified value name \ associated with an open registry key : (RegQueryValue) { hKey lpValueName rType lpData lpcbData \ -- f } lpcbData lpData rType null lpValueName hKey call RegQueryValueEx ERROR_SUCCESS = ; \ RegSetValue sets the data and type of a specified value under a registry key. : (RegSetValue) { hKey lpValueName rType lpData cbData \ -- f } cbData lpData rType null lpValueName hKey call RegSetValueEx ERROR_SUCCESS = ; \ ************************************************************************************ \ High level Registry words... \ ************************************************************************************ \ Default registry key. Change this string to put your programs registry \ information in a place other than "Win32For\". Look for PROGREG in WinEd \ for an example of how to change the program base registry key to a value \ that will be specific not only to your program, but to the particular \ directory instance of your program that is running. create BaseReg ," SOFTWARE\" MAXSTRING allot create ProgReg MAXSTRING allot HKEY_CURRENT_USER value regBaseKey KEY_ALL_ACCESS value regAccessMask : PROGREG-SET-BASE-PATH ( -- ) s" Win32Forth " ProgReg place version# ((version)) ProgReg +place s" \" ProgReg +place ; : PROGREG-INIT ( -- ) PROGREG-SET-BASE-PATH s" Win32For\" ProgReg +place HKEY_CURRENT_USER to regBaseKey KEY_ALL_ACCESS to regAccessMask ; initialization-chain chain-add PROGREG-INIT PROGREG-INIT INTERNAL variable regLen variable regType named-new$ ReturnedKey$ : BuildSection ( sadr slen adr -- adr1 ) >R BaseReg count r@ place ProgReg count r@ +place r@ +place r@ +NULL r> 1+ ; \ sadr,slen = the registry section to get the key of (for read accesss) \ return -1 if we could not get the key : RegGetKeyRead { sadr slen \ section$ -- regkey } \ read the key of a section MAXSTRING 2 + LocalAlloc: section$ regBaseKey sadr slen section$ BuildSection regAccessMask (RegOpenKey) ; external \ read registry key value string 'vadr,vlen' \ from section string 'sadr,slen' \ return data string 'dadr,dlen' \ sadr,slen = the registry key section string \ vadr,vlen = the registry key value string to read \ dadr,dlen = the registry key data string returned : RegGetString { vadr vlen sadr slen -- dadr dlen } ReturnedKey$ off \ initially clear return buffer sadr slen RegGetKeyRead dup INVALID_HANDLE_VALUE = if drop ReturnedKey$ count regLen off regType off EXIT \ return on error, empty data then dup vadr regType \ we get it, but we don't need it ReturnedKey$ 1+ MAXCOUNTED regLen ! \ init max length of string regLen (RegQueryValue) if regLen @ 1- 0max ReturnedKey$ c! \ make counted string else ReturnedKey$ off \ return empty data on error then (RegCloseKey) drop ReturnedKey$ count ; internal \ sadr,slen = the registry section to get the key of (for write accesss) \ return -1 if we could not get the key : RegGetKey { sadr slen \ section$ -- regkey } \ read the key of a section MAXSTRING 2 + LocalAlloc: section$ regBaseKey sadr slen section$ BuildSection regAccessMask (RegCreateKey) ; external \ Write to the registry, a key value string 'vadr,vlen' \ in section string 'sadr,slen' \ the data string 'dadr,dlen' : RegSetString { dadr dlen vadr vlen sadr slen \ val$ khdl -- } sadr slen RegGetKey to khdl khdl INVALID_HANDLE_VALUE = if exit then \ just return, ignore error dlen 2 + LocalAlloc: val$ \ allocate a dynamic string dadr dlen val$ place val$ +NULL khdl vadr REG_SZ \ type val$ 1+ \ null terminated data string dlen 1+ \ data length including NULL (RegSetValue) drop khdl (RegCloseKey) drop ; : SetSetting ( a1 n1 a2 n2 -- ) \ a1,n1=value string, a2,n2=key string s" Settings" RegSetString ; : GetSetting ( a1,n1 -- a2 n2 ) \ a1,n1-key string, a2,n2=value string s" Settings" RegGetString ; INTERNAL :noname ( -- ) \ Write the current version into the registry. \ Needed by the w32fConsole.dll to find the right \ place to read/write from/into the registry s" Win32Forth" PROGREG place version# ((version)) s" CurrentVersion" s" " RegSetString \ dadr dlen vadr vlen sadr slen PROGREG-INIT ; is INIT-CONSOLE-REG MODULE \s Example code for registry use \ The following word is executed at compile time to setup the \ current programs base registry key. : app-key-init ( -- ) \ intialize the program base registry key s" MyApplication\" progreg place app-key-init : test ( -- ) s" WindowPosition" GetSetting type ; \ Write the 'WindowPosition" value in section 'Settins' \ to a data string of '5,9' which would presumably be the x,y coordinate \ of where the window should be placed next time the application starts up. : test! ( -- ) s" 5,9" s" WindowPosition" SetSetting ; |