X-Git-Url: http://git.subgeniuskitty.com/pforth/.git/blobdiff_plain/82b409b0854d22efe9bbf8b2e7c2d003ab06e2e3..c1a87b8298475c3fdd007b14a1413d2a6fd0fa61:/csrc/pf_guts.h diff --git a/csrc/pf_guts.h b/csrc/pf_guts.h index 4fa4bd0..3c5a4cf 100644 --- a/csrc/pf_guts.h +++ b/csrc/pf_guts.h @@ -23,7 +23,7 @@ ** PFORTH_VERSION changes when PForth is modified and released. ** See README file for version info. */ -#define PFORTH_VERSION "27" +#define PFORTH_VERSION "28" /* ** PFORTH_FILE_VERSION changes when incompatible changes are made @@ -36,8 +36,9 @@ ** FV7 - 971203 - Added ID_FILL, (1LOCAL@), etc., ran out of reserved, resorted. ** FV8 - 980818 - Added Endian flag. ** FV9 - 20100503 - Added support for 64-bit CELL. +** FV10 - 20170103 - Added ID_FILE_FLUSH ID_FILE_RENAME ID_FILE_RESIZE */ -#define PF_FILE_VERSION (9) /* Bump this whenever primitives added. */ +#define PF_FILE_VERSION (10) /* Bump this whenever primitives added. */ #define PF_EARLIEST_FILE_VERSION (9) /* earliest one still compatible */ /*************************************************************** @@ -282,6 +283,8 @@ enum cforth_primitive_ids /* DELETE-FILE */ ID_FILE_DELETE, ID_FILE_FLUSH, /* FLUSH-FILE */ + ID_FILE_RENAME, /* (RENAME-FILE) */ + ID_FILE_RESIZE, /* RESIZE-FILE */ /* If you add a word here, take away one reserved word below. */ #ifdef PF_SUPPORT_FP /* Only reserve space if we are adding FP so that we can detect @@ -297,8 +300,6 @@ enum cforth_primitive_ids ID_RESERVED08, ID_RESERVED09, ID_RESERVED10, - ID_RESERVED11, - ID_RESERVED12, ID_FP_D_TO_F, ID_FP_FSTORE, ID_FP_FTIMES, @@ -369,6 +370,7 @@ enum cforth_primitive_ids #define THROW_FLOAT_STACK_UNDERFLOW ( -45) #define THROW_QUIT (-56) #define THROW_FLUSH_FILE (-68) +#define THROW_RESIZE_FILE (-74) /* THROW codes unique to pForth */ #define THROW_BYE (-256) /* Exit program. */ @@ -460,7 +462,7 @@ typedef struct IncludeFrame extern "C" { #endif -int pfCatch( ExecToken XT ); +ThrowCode pfCatch( ExecToken XT ); #ifdef __cplusplus } @@ -569,9 +571,12 @@ extern cell_t gIncludeIndex; /* Force Quad alignment. */ #define QUADUP(x) (((x)+3)&~3) +#ifndef MIN #define MIN(a,b) ( ((a)<(b)) ? (a) : (b) ) +#endif +#ifndef MAX #define MAX(a,b) ( ((a)>(b)) ? (a) : (b) ) - +#endif #ifndef TOUCH #define TOUCH(argument) ((void)argument)