Obsolete words

The following words are now obsolete and have been removed from the VFX kernel. If their use is required, they may be found in LIB\OBSOLETE.FTH.

: ALIGN&ERASE   \ --                                             MPE.0000
Align the dictionary pointer, zeroing any intermediate memory. This word is now obsolete as ALIGN now performs the same action.

: HALF-ALIGN&ERASE      \ --
HALF-ALIGN the dictionary pointer, zeroing any intermediate memory. This word is now obsolete as HALF-ALIGN now performs the same action.

: M/MOD         \ d1 n2 -- rem quot                              MPE.0000
Signed version of UM/MOD. This word is obsolescent and should be replaced by FM/MOD (floored division) or SM/REM (symmetric division).

: CONVERT       \ ud1 c-addr1 u1 -- ud2 c-addr2                 6.2.0970
An obsolescent word corresponding to >NUMBER DROP.

cell +USER SPAN \ -- addr
Required by EXPECT and Forth 83 systems.

: EXPECT        \ c-addr +n --                                   6.2.1390
Wait for input from the console. Data is stored in the buffer at c-addr for upto n characters. After input is complete due to either a full buffer or a carriage return, the length of the input string is also stored in the variable SPAN. This word is marked as obsolescent in the ANS specification, and new code should use ACCEPT instead.

: v-find        \ caddr voc-xt -- cfa/cfa/caddr +1/-1/0       SYS.0000
A near equivalent to SEARCH-WORDLIST retained in VFX Forth as a concession to PFW 2.x users.

: all           \ -- -1 -1
A ProForth 2.x compatibility word.

: from-file     \ start end "<name>" --
A ProForth 2.x compatibility word.

: pto           \ --                                             MPE.0000
Skip parsing until an ASCII 12 pagethrow is encountered.

: winapphandle@ \ -- hwnd
Return the console parent frame window handle.

: OFFSET        \ x "<spaces>name" -- ; Exec: n -- n+x*4        MPE.0000
Create a new offset called name. On execution of name the supplied address will be incremented by x cells.

: BOFFSET       \ x "<spaces>name" -- ; Exec: n -- n+x          MPE.0000
As with OFFSET except the increment is specified in bytes rather than cells.

: instance      \ n -- ; -- addr                                 MPE.0000
Create a named instance of a named structure. A memory buffer n bytes long called name is built. When name is executed the address of the buffer is returned. Use buffer: instead.

Removed from VFX Forth v4.0

: <<n           \ x1 u -- x2                                    MPE.0000
Logically shift X1 by U bits left. Use lshift instead.

: >>n           \ x1 u -- x2                                    MPE.0000
Logically shift X1 by U bits right. The result of shifting by more than 31 bits is undefined. Use rshift instead.

: s>>n          \ x1 u -- x2                                    MPE.0000
Shift x1 right by u bits, filling with the previous top bit. An arithmetic right shift. The result of shifting by more than 31 bits is undefined. Use arshift instead.

: ($+)          \ c-addr u $dest --                              MPE.0000
Add the string described by C-ADDR/U to the counted string at $DEST. The strings must not overlap. Use APPEND instead.

: z>here        \ --
Lay the counted string at PAD into the dictionary at HERE.