fsave.f

This source file contains words which allow you to create a stand alone executable of your project. This executable can be in one of two forms; these being either with or without word headers.

If you save your project and retain all word headers (performed by executing the word fsave) then the full functionality of the IsForth compiler will be contained within the resultant executable. On launching this application the user will be able to execute any word that is in context if you chose to allow interaction. It is possible to seal the application within a specific vocabulary (or vocabularies) but the interactive nature of the Forth environment will be intact.

The word turnkey will create what is known as a turnkey'd application. This application will contain everything that was compiled into list space only. None of the Forth word headers will be saved out to the resultant executable. Prior to calling turnkey you must tell Forth where your 'main' function is and there are two ways in which you can do this...

When IsForth is launched, after it has initialized the Forth system it executes a deferred word called default. This word is normally used by IsForth to initialize various extensions. Any extension can add itself to the default chain to be initialized prior to quit (Forths inner interpreter) being called. You can patch this chain so that it executs ONLY your applications main. If you do this then variables like cols and rows (terminal size) will not be initialized, the console will be in canonical mode and various other extensions will be uninitialized.