diff --git a/include/exception.h b/include/exception.h index bc8c948..b7a49e6 100644 --- a/include/exception.h +++ b/include/exception.h @@ -41,7 +41,7 @@ extern unsigned long Intr_Level; extern int Sigmask_Old, Sigmask_Block; #else C_LINKAGE_BEGIN - extern void Intr_Handler P_((int)); + extern void Intr_Handler (int); C_LINKAGE_END #endif diff --git a/include/extern.h b/include/extern.h index a17d04c..6a51f4a 100644 --- a/include/extern.h +++ b/include/extern.h @@ -33,413 +33,413 @@ C_LINKAGE_BEGIN /* Autoloading */ -extern Object P_Autoload P_((Object, Object)); +extern Object P_Autoload (Object, Object); /* Bignums */ -extern Object Make_Uninitialized_Bignum P_((int)); -extern void Bignum_Normalize_In_Place P_((struct S_Bignum *)); -extern double Bignum_To_Double P_((Object)); +extern Object Make_Uninitialized_Bignum (int); +extern void Bignum_Normalize_In_Place (struct S_Bignum *); +extern double Bignum_To_Double (Object); /* Boolean operators */ -extern Object P_Booleanp P_((Object)); -extern Object P_Not P_((Object)); -extern Object P_Eq P_((Object, Object)); -extern Object P_Eqv P_((Object, Object)); -extern Object P_Equal P_((Object, Object)); -extern Object P_Empty_List_Is_False P_((Object)); -extern int Eqv P_((Object, Object)); -extern int Equal P_((Object, Object)); +extern Object P_Booleanp (Object); +extern Object P_Not (Object); +extern Object P_Eq (Object, Object); +extern Object P_Eqv (Object, Object); +extern Object P_Equal (Object, Object); +extern Object P_Empty_List_Is_False (Object); +extern int Eqv (Object, Object); +extern int Equal (Object, Object); /* Characters */ -extern Object Make_Char P_((int)); -extern Object P_Charp P_((Object)); -extern Object P_Char_Upcase P_((Object)); -extern Object P_Char_Downcase P_((Object)); -extern Object P_Char_Eq P_((Object, Object)); -extern Object P_Char_Less P_((Object, Object)); -extern Object P_Char_Greater P_((Object, Object)); -extern Object P_Char_Eq_Less P_((Object, Object)); -extern Object P_Char_Eq_Greater P_((Object, Object)); -extern Object P_Char_CI_Eq P_((Object, Object)); -extern Object P_Char_CI_Less P_((Object, Object)); -extern Object P_Char_CI_Greater P_((Object, Object)); -extern Object P_Char_CI_Eq_Less P_((Object, Object)); -extern Object P_Char_CI_Eq_Greater P_((Object, Object)); -extern Object P_Char_Upper_Casep P_((Object)); -extern Object P_Char_Lower_Casep P_((Object)); -extern Object P_Char_Alphabeticp P_((Object)); -extern Object P_Char_Numericp P_((Object)); -extern Object P_Char_Whitespacep P_((Object)); -extern Object P_Char_To_Integer P_((Object)); -extern Object P_Integer_To_Char P_((Object)); +extern Object Make_Char (int); +extern Object P_Charp (Object); +extern Object P_Char_Upcase (Object); +extern Object P_Char_Downcase (Object); +extern Object P_Char_Eq (Object, Object); +extern Object P_Char_Less (Object, Object); +extern Object P_Char_Greater (Object, Object); +extern Object P_Char_Eq_Less (Object, Object); +extern Object P_Char_Eq_Greater (Object, Object); +extern Object P_Char_CI_Eq (Object, Object); +extern Object P_Char_CI_Less (Object, Object); +extern Object P_Char_CI_Greater (Object, Object); +extern Object P_Char_CI_Eq_Less (Object, Object); +extern Object P_Char_CI_Eq_Greater (Object, Object); +extern Object P_Char_Upper_Casep (Object); +extern Object P_Char_Lower_Casep (Object); +extern Object P_Char_Alphabeticp (Object); +extern Object P_Char_Numericp (Object); +extern Object P_Char_Whitespacep (Object); +extern Object P_Char_To_Integer (Object); +extern Object P_Integer_To_Char (Object); /* Continuations */ -extern Object P_Call_With_Current_Continuation P_((Object)); -extern Object P_Dynamic_Wind P_((Object, Object, Object)); -extern Object P_Control_Pointp P_((Object)); -extern Object P_Control_Point_Environment P_((Object)); +extern Object P_Call_With_Current_Continuation (Object); +extern Object P_Dynamic_Wind (Object, Object, Object); +extern Object P_Control_Pointp (Object); +extern Object P_Control_Point_Environment (Object); /* Scheme strings --> C Strings */ -extern char *Get_String P_((Object)); -extern char *Get_Strsym P_((Object)); +extern char *Get_String (Object); +extern char *Get_Strsym (Object); /* Debugging */ -extern Object P_Backtrace_List P_((int, Object*)); +extern Object P_Backtrace_List (int, Object*); /* Dump */ -extern Object P_Dump P_((Object)); +extern Object P_Dump (Object); /* Lexical bindings, environments */ -extern Object P_The_Environment P_((void)); -extern Object P_Define P_((Object)); -extern Object P_Set P_((Object)); -extern Object P_Environment_To_List P_((Object)); -extern Object P_Define_Macro P_((Object)); -extern Object P_Boundp P_((Object)); -extern Object P_Global_Environment P_((void)); -extern Object P_Environmentp P_((Object)); +extern Object P_The_Environment (void); +extern Object P_Define (Object); +extern Object P_Set (Object); +extern Object P_Environment_To_List (Object); +extern Object P_Define_Macro (Object); +extern Object P_Boundp (Object); +extern Object P_Global_Environment (void); +extern Object P_Environmentp (Object); extern Object The_Environment, Global_Environment; /* Error handling */ -extern void Primitive_Error P_((const char*, ...)) elk_attribute(__noreturn__); -extern void Fatal_Error P_((const char*, ...)) elk_attribute(__noreturn__); -extern void Range_Error P_((Object)); -extern void Panic P_((const char*)); -extern Object P_Error P_((int, Object*)); -extern Object P_Reset P_((void)); +extern void Primitive_Error (const char*, ...) elk_attribute(__noreturn__); +extern void Fatal_Error (const char*, ...) elk_attribute(__noreturn__); +extern void Range_Error (Object); +extern void Panic (const char*); +extern Object P_Error (int, Object*); +extern Object P_Reset (void); extern const char *Error_Tag; /* will be removed in the near future */ -extern const char *Get_Error_Tag P_((void)); -extern void Set_Error_Tag P_((const char *)); -extern void Set_App_Name P_((char *)); -extern void Reader_Error P_((Object, char *)) elk_attribute(__noreturn__); +extern const char *Get_Error_Tag (void); +extern void Set_Error_Tag (const char *); +extern void Set_App_Name (char *); +extern void Reader_Error (Object, char *) elk_attribute(__noreturn__); /* Interrupts */ -extern Object P_Disable_Interrupts P_((void)); -extern Object P_Enable_Interrupts P_((void)); -extern void Signal_Exit P_((int)); +extern Object P_Disable_Interrupts (void); +extern Object P_Enable_Interrupts (void); +extern void Signal_Exit (int); /* Features */ -extern Object P_Features P_((void)); -extern Object P_Featurep P_((Object)); -extern Object P_Provide P_((Object)); -extern Object P_Require P_((int, Object*)); +extern Object P_Features (void); +extern Object P_Featurep (Object); +extern Object P_Provide (Object); +extern Object P_Require (int, Object*); /* Memory allocation, garbage collection */ extern int GC_Debug; -extern Object Alloc_Object P_((int, int, int)); -extern void Register_Before_GC P_((void (*)(void))); -extern void Register_After_GC P_((void (*)(void))); -extern Object P_Collect P_((void)); -extern Object P_Garbage_Collect_Status P_((int, Object *)); +extern Object Alloc_Object (int, int, int); +extern void Register_Before_GC (void (*)(void)); +extern void Register_After_GC (void (*)(void)); +extern Object P_Collect (void); +extern Object P_Garbage_Collect_Status (int, Object *); #ifdef GENERATIONAL_GC - extern Object P_Collect_Incremental P_((void)); + extern Object P_Collect_Incremental (void); #endif /* Files and ports */ extern Object Curr_Input_Port, Curr_Output_Port; extern Object Standard_Input_Port, Standard_Output_Port; -extern void Reset_IO P_((int)); -extern Object P_Current_Input_Port P_((void)); -extern Object P_Current_Output_Port P_((void)); -extern Object P_Input_Portp P_((Object)); -extern Object P_Output_Portp P_((Object)); -extern Object P_Open_Input_File P_((Object)); -extern Object P_Open_Output_File P_((Object)); -extern Object P_Open_Input_Output_File P_((Object)); -extern Object P_Eof_Objectp P_((Object)); -extern Object P_With_Input_From_File P_((Object, Object)); -extern Object P_With_Output_To_File P_((Object, Object)); -extern Object P_Call_With_Input_File P_((Object, Object)); -extern Object P_Call_With_Output_File P_((Object, Object)); -extern Object P_Open_Input_String P_((Object)); -extern Object P_Open_Output_String P_((void)); -extern Object P_Port_File_Name P_((Object)); -extern Object P_Tilde_Expand P_((Object)); -extern Object P_File_Existsp P_((Object)); -extern Object P_Close_Input_Port P_((Object)); -extern Object P_Close_Output_Port P_((Object)); -extern Object P_Port_Line_Number P_((Object)); -extern Object Terminate_File P_((Object)); -extern Object Make_Port P_((int, FILE*, Object)); -extern unsigned int Path_Max P_((void)); +extern void Reset_IO (int); +extern Object P_Current_Input_Port (void); +extern Object P_Current_Output_Port (void); +extern Object P_Input_Portp (Object); +extern Object P_Output_Portp (Object); +extern Object P_Open_Input_File (Object); +extern Object P_Open_Output_File (Object); +extern Object P_Open_Input_Output_File (Object); +extern Object P_Eof_Objectp (Object); +extern Object P_With_Input_From_File (Object, Object); +extern Object P_With_Output_To_File (Object, Object); +extern Object P_Call_With_Input_File (Object, Object); +extern Object P_Call_With_Output_File (Object, Object); +extern Object P_Open_Input_String (Object); +extern Object P_Open_Output_String (void); +extern Object P_Port_File_Name (Object); +extern Object P_Tilde_Expand (Object); +extern Object P_File_Existsp (Object); +extern Object P_Close_Input_Port (Object); +extern Object P_Close_Output_Port (Object); +extern Object P_Port_Line_Number (Object); +extern Object Terminate_File (Object); +extern Object Make_Port (int, FILE*, Object); +extern unsigned int Path_Max (void); /* Loading of files */ -extern Object P_Load P_((int, Object*)); -extern void Load_Source_Port P_((Object)); -extern void Load_File P_((char *)); +extern Object P_Load (int, Object*); +extern void Load_Source_Port (Object); +extern void Load_File (char *); /* Pairs and lists */ -extern Object P_Cons P_((Object, Object)); -extern Object P_Car P_((Object)); -extern Object P_Cdr P_((Object)); -extern Object P_Set_Car P_((Object, Object)); -extern Object P_Set_Cdr P_((Object, Object)); -extern Object P_Listp P_((Object)); -extern Object P_List P_((int, Object*)); -extern Object P_Length P_((Object)); -extern Object P_Nullp P_((Object)); -extern Object P_Pairp P_((Object)); -extern Object P_Cxr P_((Object, Object)); -extern Object P_Cddr P_((Object)); -extern Object P_Cdar P_((Object)); -extern Object P_Cadr P_((Object)); -extern Object P_Caar P_((Object)); -extern Object P_Cdddr P_((Object)); -extern Object P_Cddar P_((Object)); -extern Object P_Cdadr P_((Object)); -extern Object P_Cdaar P_((Object)); -extern Object P_Caddr P_((Object)); -extern Object P_Cadar P_((Object)); -extern Object P_Caadr P_((Object)); -extern Object P_Caaar P_((Object)); -extern Object P_Caaaar P_((Object)); -extern Object P_Caaadr P_((Object)); -extern Object P_Caadar P_((Object)); -extern Object P_Caaddr P_((Object)); -extern Object P_Cadaar P_((Object)); -extern Object P_Cadadr P_((Object)); -extern Object P_Caddar P_((Object)); -extern Object P_Cadddr P_((Object)); -extern Object P_Cdaaar P_((Object)); -extern Object P_Cdaadr P_((Object)); -extern Object P_Cdadar P_((Object)); -extern Object P_Cdaddr P_((Object)); -extern Object P_Cddaar P_((Object)); -extern Object P_Cddadr P_((Object)); -extern Object P_Cdddar P_((Object)); -extern Object P_Cddddr P_((Object)); -extern Object P_Append P_((int, Object*)); -extern Object P_Append_Set P_((int, Object*)); -extern Object P_Last_Pair P_((Object)); -extern Object P_Reverse P_((Object)); -extern Object P_Reverse_Set P_((Object)); -extern Object P_List_Tail P_((Object, Object)); -extern Object P_List_Ref P_((Object, Object)); -extern Object P_Assq P_((Object, Object)); -extern Object P_Assv P_((Object, Object)); -extern Object P_Assoc P_((Object, Object)); -extern Object P_Memq P_((Object, Object)); -extern Object P_Memv P_((Object, Object)); -extern Object P_Member P_((Object, Object)); -extern Object P_Make_List P_((Object, Object)); -extern Object Copy_List P_((Object)); -extern unsigned int Fast_Length P_((Object)); -extern Object Const_Cons P_((Object, Object)); +extern Object P_Cons (Object, Object); +extern Object P_Car (Object); +extern Object P_Cdr (Object); +extern Object P_Set_Car (Object, Object); +extern Object P_Set_Cdr (Object, Object); +extern Object P_Listp (Object); +extern Object P_List (int, Object*); +extern Object P_Length (Object); +extern Object P_Nullp (Object); +extern Object P_Pairp (Object); +extern Object P_Cxr (Object, Object); +extern Object P_Cddr (Object); +extern Object P_Cdar (Object); +extern Object P_Cadr (Object); +extern Object P_Caar (Object); +extern Object P_Cdddr (Object); +extern Object P_Cddar (Object); +extern Object P_Cdadr (Object); +extern Object P_Cdaar (Object); +extern Object P_Caddr (Object); +extern Object P_Cadar (Object); +extern Object P_Caadr (Object); +extern Object P_Caaar (Object); +extern Object P_Caaaar (Object); +extern Object P_Caaadr (Object); +extern Object P_Caadar (Object); +extern Object P_Caaddr (Object); +extern Object P_Cadaar (Object); +extern Object P_Cadadr (Object); +extern Object P_Caddar (Object); +extern Object P_Cadddr (Object); +extern Object P_Cdaaar (Object); +extern Object P_Cdaadr (Object); +extern Object P_Cdadar (Object); +extern Object P_Cdaddr (Object); +extern Object P_Cddaar (Object); +extern Object P_Cddadr (Object); +extern Object P_Cdddar (Object); +extern Object P_Cddddr (Object); +extern Object P_Append (int, Object*); +extern Object P_Append_Set (int, Object*); +extern Object P_Last_Pair (Object); +extern Object P_Reverse (Object); +extern Object P_Reverse_Set (Object); +extern Object P_List_Tail (Object, Object); +extern Object P_List_Ref (Object, Object); +extern Object P_Assq (Object, Object); +extern Object P_Assv (Object, Object); +extern Object P_Assoc (Object, Object); +extern Object P_Memq (Object, Object); +extern Object P_Memv (Object, Object); +extern Object P_Member (Object, Object); +extern Object P_Make_List (Object, Object); +extern Object Copy_List (Object); +extern unsigned int Fast_Length (Object); +extern Object Const_Cons (Object, Object); /* Startup and termination */ -extern Object P_Command_Line_Args P_((void)); -extern Object P_Exit P_((int, Object*)); -extern void Elk_Init P_((int, char **av, int, char *)); -extern void Exit_Handler P_((void)); +extern Object P_Command_Line_Args (void); +extern Object P_Exit (int, Object*); +extern void Elk_Init (int, char **av, int, char *); +extern void Exit_Handler (void); /* malloc() and realloc() */ -extern char *Safe_Malloc P_((unsigned int)); -extern char *Safe_Realloc P_((char*, unsigned int)); +extern char *Safe_Malloc (unsigned int); +extern char *Safe_Realloc (char*, unsigned int); /* Numbers */ -extern Object Make_Integer P_((int)); -extern Object Make_Unsigned P_((unsigned int)); -extern Object Make_Long P_((long int)); -extern Object Make_Unsigned_Long P_((unsigned long int)); -extern Object Make_Reduced_Flonum P_((double)); -extern Object Make_Flonum P_((double)); -extern Object P_Numberp P_((Object)); -extern Object P_Complexp P_((Object)); -extern Object P_Realp P_((Object)); -extern Object P_Rationalp P_((Object)); -extern Object P_Integerp P_((Object)); -extern Object P_Abs P_((Object)); -extern Object P_Zerop P_((Object)); -extern Object P_Positivep P_((Object)); -extern Object P_Negativep P_((Object)); -extern Object P_Oddp P_((Object)); -extern Object P_Evenp P_((Object)); -extern Object P_Exactp P_((Object)); -extern Object P_Inexactp P_((Object)); -extern Object P_Exact_To_Inexact P_((Object)); -extern Object P_Inexact_To_Exact P_((Object)); -extern Object P_Inc P_((Object)); -extern Object P_Dec P_((Object)); -extern Object P_Generic_Equal P_((int, Object*)); -extern Object P_Generic_Less P_((int, Object*)); -extern Object P_Generic_Greater P_((int, Object*)); -extern Object P_Generic_Eq_Less P_((int, Object*)); -extern Object P_Generic_Eq_Greater P_((int, Object*)); -extern Object P_Generic_Plus P_((int, Object*)); -extern Object P_Generic_Minus P_((int, Object*)); -extern Object P_Generic_Multiply P_((int, Object*)); -extern Object P_Generic_Divide P_((int, Object*)); -extern Object P_Quotient P_((Object, Object)); -extern Object P_Remainder P_((Object, Object)); -extern Object P_Modulo P_((Object, Object)); -extern Object P_Gcd P_((int, Object*)); -extern Object P_Lcm P_((int, Object*)); -extern Object P_Floor P_((Object)); -extern Object P_Ceiling P_((Object)); -extern Object P_Truncate P_((Object)); -extern Object P_Round P_((Object)); -extern Object P_Sqrt P_((Object)); -extern Object P_Exp P_((Object)); -extern Object P_Pow P_((Object, Object)); -extern Object P_Log P_((Object)); -extern Object P_Sin P_((Object)); -extern Object P_Cos P_((Object)); -extern Object P_Tan P_((Object)); -extern Object P_Asin P_((Object)); -extern Object P_Acos P_((Object)); -extern Object P_Atan P_((int, Object*)); -extern Object P_Min P_((int, Object*)); -extern Object P_Max P_((int, Object*)); -extern Object P_Random P_((void)); -extern Object P_Srandom P_((Object)); -extern Object P_Number_To_String P_((int, Object*)); -extern double Get_Double P_((Object)); -extern int Get_Integer P_((Object)); -extern unsigned int Get_Unsigned P_((Object)); -extern long int Get_Long P_((Object)); -extern unsigned long int Get_Unsigned_Long P_((Object)); -extern int Get_Exact_Integer P_((Object)); -extern unsigned int Get_Exact_Unsigned P_((Object)); -extern long int Get_Exact_Long P_((Object)); -extern unsigned long int Get_Exact_Unsigned_Long P_((Object)); +extern Object Make_Integer (int); +extern Object Make_Unsigned (unsigned int); +extern Object Make_Long (long int); +extern Object Make_Unsigned_Long (unsigned long int); +extern Object Make_Reduced_Flonum (double); +extern Object Make_Flonum (double); +extern Object P_Numberp (Object); +extern Object P_Complexp (Object); +extern Object P_Realp (Object); +extern Object P_Rationalp (Object); +extern Object P_Integerp (Object); +extern Object P_Abs (Object); +extern Object P_Zerop (Object); +extern Object P_Positivep (Object); +extern Object P_Negativep (Object); +extern Object P_Oddp (Object); +extern Object P_Evenp (Object); +extern Object P_Exactp (Object); +extern Object P_Inexactp (Object); +extern Object P_Exact_To_Inexact (Object); +extern Object P_Inexact_To_Exact (Object); +extern Object P_Inc (Object); +extern Object P_Dec (Object); +extern Object P_Generic_Equal (int, Object*); +extern Object P_Generic_Less (int, Object*); +extern Object P_Generic_Greater (int, Object*); +extern Object P_Generic_Eq_Less (int, Object*); +extern Object P_Generic_Eq_Greater (int, Object*); +extern Object P_Generic_Plus (int, Object*); +extern Object P_Generic_Minus (int, Object*); +extern Object P_Generic_Multiply (int, Object*); +extern Object P_Generic_Divide (int, Object*); +extern Object P_Quotient (Object, Object); +extern Object P_Remainder (Object, Object); +extern Object P_Modulo (Object, Object); +extern Object P_Gcd (int, Object*); +extern Object P_Lcm (int, Object*); +extern Object P_Floor (Object); +extern Object P_Ceiling (Object); +extern Object P_Truncate (Object); +extern Object P_Round (Object); +extern Object P_Sqrt (Object); +extern Object P_Exp (Object); +extern Object P_Pow (Object, Object); +extern Object P_Log (Object); +extern Object P_Sin (Object); +extern Object P_Cos (Object); +extern Object P_Tan (Object); +extern Object P_Asin (Object); +extern Object P_Acos (Object); +extern Object P_Atan (int, Object*); +extern Object P_Min (int, Object*); +extern Object P_Max (int, Object*); +extern Object P_Random (void); +extern Object P_Srandom (Object); +extern Object P_Number_To_String (int, Object*); +extern double Get_Double (Object); +extern int Get_Integer (Object); +extern unsigned int Get_Unsigned (Object); +extern long int Get_Long (Object); +extern unsigned long int Get_Unsigned_Long (Object); +extern int Get_Exact_Integer (Object); +extern unsigned int Get_Exact_Unsigned (Object); +extern long int Get_Exact_Long (Object); +extern unsigned long int Get_Exact_Unsigned_Long (Object); /* Onfork handlers */ -extern void Register_Onfork P_((void (*)(void))); -extern void Call_Onfork P_((void)); +extern void Register_Onfork (void (*)(void)); +extern void Call_Onfork (void); /* Define_Primitive() */ -extern void Define_Primitive P_((Object (*)(ELLIPSIS), const char*, int, int, - enum discipline)); +extern void Define_Primitive (Object (*)(), const char*, int, int, + enum discipline); /* Output */ -extern Object P_Write P_((int, Object*)); -extern Object P_Display P_((int, Object*)); -extern Object P_Write_Char P_((int, Object*)); -extern Object P_Newline P_((int, Object*)); -extern Object P_Format P_((int, Object*)); -extern Object P_Clear_Output_Port P_((int, Object*)); -extern Object P_Flush_Output_Port P_((int, Object*)); -extern Object P_Print P_((int, Object*)); -extern Object P_Get_Output_String P_((Object)); -extern void Check_Output_Port P_((Object)); -extern void Discard_Output P_((Object)); -extern void Printf P_((Object, const char *, ...)); -extern void Print_Object P_((Object, Object, int, int, unsigned int)); -extern void General_Print_Object P_((Object, Object, int)); -extern void Format P_((Object, const char*, unsigned int, int, Object*)); +extern Object P_Write (int, Object*); +extern Object P_Display (int, Object*); +extern Object P_Write_Char (int, Object*); +extern Object P_Newline (int, Object*); +extern Object P_Format (int, Object*); +extern Object P_Clear_Output_Port (int, Object*); +extern Object P_Flush_Output_Port (int, Object*); +extern Object P_Print (int, Object*); +extern Object P_Get_Output_String (Object); +extern void Check_Output_Port (Object); +extern void Discard_Output (Object); +extern void Printf (Object, const char *, ...); +extern void Print_Object (Object, Object, int, int, unsigned int); +extern void General_Print_Object (Object, Object, int); +extern void Format (Object, const char*, unsigned int, int, Object*); extern int Saved_Errno; /* Evaluator, procedures, macros */ -extern Object Eval P_((Object)); -extern Object P_Eval P_((int, Object*)); -extern Object P_Apply P_((int, Object*)); -extern Object Funcall P_((Object, Object, int)); -extern Object P_Lambda P_((Object)); -extern Object P_Map P_((int, Object*)); -extern Object P_Procedure_Environment P_((Object)); -extern Object P_Procedure_Lambda P_((Object)); -extern Object P_For_Each P_((int, Object*)); -extern Object P_Procedurep P_((Object)); -extern Object P_Macro P_((Object)); -extern Object P_Macro_Body P_((Object)); -extern Object P_Macro_Expand P_((Object)); -extern Object P_Primitivep P_((Object)); -extern Object P_Compoundp P_((Object)); -extern Object P_Macrop P_((Object)); -extern void Check_Procedure P_((Object)); +extern Object Eval (Object); +extern Object P_Eval (int, Object*); +extern Object P_Apply (int, Object*); +extern Object Funcall (Object, Object, int); +extern Object P_Lambda (Object); +extern Object P_Map (int, Object*); +extern Object P_Procedure_Environment (Object); +extern Object P_Procedure_Lambda (Object); +extern Object P_For_Each (int, Object*); +extern Object P_Procedurep (Object); +extern Object P_Macro (Object); +extern Object P_Macro_Body (Object); +extern Object P_Macro_Expand (Object); +extern Object P_Primitivep (Object); +extern Object P_Compoundp (Object); +extern Object P_Macrop (Object); +extern void Check_Procedure (Object); /* Delay and force */ -extern Object P_Delay P_((Object)); -extern Object P_Force P_((Object)); -extern Object P_Promisep P_((Object)); -extern Object P_Promise_Environment P_((Object)); +extern Object P_Delay (Object); +extern Object P_Force (Object); +extern Object P_Promisep (Object); +extern Object P_Promise_Environment (Object); /* Input */ -extern Object P_Read P_((int, Object*)); -extern Object P_Read_Char P_((int, Object*)); -extern Object P_Peek_Char P_((int, Object*)); -extern Object P_Char_Readyp P_((int, Object*)); -extern Object P_Unread_Char P_((int, Object*)); -extern Object P_Read_String P_((int, Object*)); -extern Object P_Clear_Input_Port P_((int, Object*)); -extern Object General_Read P_((Object, int)); -extern void Check_Input_Port P_((Object)); -extern void Discard_Input P_((Object)); -extern void Define_Reader P_((int, READFUN)); +extern Object P_Read (int, Object*); +extern Object P_Read_Char (int, Object*); +extern Object P_Peek_Char (int, Object*); +extern Object P_Char_Readyp (int, Object*); +extern Object P_Unread_Char (int, Object*); +extern Object P_Read_String (int, Object*); +extern Object P_Clear_Input_Port (int, Object*); +extern Object General_Read (Object, int); +extern void Check_Input_Port (Object); +extern void Discard_Input (Object); +extern void Define_Reader (int, READFUN); /* Special forms */ -extern Object P_Quote P_((Object)); -extern Object P_If P_((Object)); -extern Object P_Let P_((Object)); -extern Object P_Letseq P_((Object)); -extern Object P_Letrec P_((Object)); -extern Object P_Case P_((Object)); -extern Object P_Cond P_((Object)); -extern Object P_And P_((Object)); -extern Object P_Or P_((Object)); -extern Object P_Do P_((Object)); -extern Object P_Quasiquote P_((Object)); -extern Object P_Fluid_Let P_((Object)); -extern Object P_Begin P_((Object)); -extern Object P_Begin1 P_((Object)); +extern Object P_Quote (Object); +extern Object P_If (Object); +extern Object P_Let (Object); +extern Object P_Letseq (Object); +extern Object P_Letrec (Object); +extern Object P_Case (Object); +extern Object P_Cond (Object); +extern Object P_And (Object); +extern Object P_Or (Object); +extern Object P_Do (Object); +extern Object P_Quasiquote (Object); +extern Object P_Fluid_Let (Object); +extern Object P_Begin (Object); +extern Object P_Begin1 (Object); /* Strings */ -extern Object Make_String P_((const char*, unsigned int)); -extern Object Make_Const_String P_((const char*, unsigned int)); -extern Object P_Make_String P_((int, Object*)); -extern Object P_Stringp P_((Object)); -extern Object P_String P_((int, Object*)); -extern Object P_String_To_Number P_((int, Object*)); -extern Object P_String_Eq P_((Object, Object)); -extern Object P_String_Less P_((Object, Object)); -extern Object P_String_Greater P_((Object, Object)); -extern Object P_String_Eq_Less P_((Object, Object)); -extern Object P_String_Eq_Greater P_((Object, Object)); -extern Object P_String_CI_Eq P_((Object, Object)); -extern Object P_String_CI_Less P_((Object, Object)); -extern Object P_String_CI_Greater P_((Object, Object)); -extern Object P_String_CI_Eq_Less P_((Object, Object)); -extern Object P_String_CI_Eq_Greater P_((Object, Object)); -extern Object P_String_Length P_((Object)); -extern Object P_String_Ref P_((Object, Object)); -extern Object P_String_Set P_((Object, Object, Object)); -extern Object P_Substring P_((Object, Object, Object)); -extern Object P_String_Copy P_((Object)); -extern Object P_String_Append P_((int, Object*)); -extern Object P_List_To_String P_((Object)); -extern Object P_String_To_List P_((Object)); -extern Object P_Substring_Fill P_((Object, Object, Object, Object)); -extern Object P_String_Fill P_((Object, Object)); -extern Object P_Substringp P_((Object, Object)); -extern Object P_CI_Substringp P_((Object, Object)); -extern int String_Getc P_((Object)); -extern void String_Ungetc P_((Object, register int)); +extern Object Make_String (const char*, unsigned int); +extern Object Make_Const_String (const char*, unsigned int); +extern Object P_Make_String (int, Object*); +extern Object P_Stringp (Object); +extern Object P_String (int, Object*); +extern Object P_String_To_Number (int, Object*); +extern Object P_String_Eq (Object, Object); +extern Object P_String_Less (Object, Object); +extern Object P_String_Greater (Object, Object); +extern Object P_String_Eq_Less (Object, Object); +extern Object P_String_Eq_Greater (Object, Object); +extern Object P_String_CI_Eq (Object, Object); +extern Object P_String_CI_Less (Object, Object); +extern Object P_String_CI_Greater (Object, Object); +extern Object P_String_CI_Eq_Less (Object, Object); +extern Object P_String_CI_Eq_Greater (Object, Object); +extern Object P_String_Length (Object); +extern Object P_String_Ref (Object, Object); +extern Object P_String_Set (Object, Object, Object); +extern Object P_Substring (Object, Object, Object); +extern Object P_String_Copy (Object); +extern Object P_String_Append (int, Object*); +extern Object P_List_To_String (Object); +extern Object P_String_To_List (Object); +extern Object P_Substring_Fill (Object, Object, Object, Object); +extern Object P_String_Fill (Object, Object); +extern Object P_Substringp (Object, Object); +extern Object P_CI_Substringp (Object, Object); +extern int String_Getc (Object); +extern void String_Ungetc (Object, register int); /* Symbols, variables, frequently used Scheme objects */ @@ -450,57 +450,57 @@ extern_c Object elk_import Void; extern_c Object elk_import Newline; extern_c Object elk_import Eof; extern_c Object elk_import Unspecified; -extern Object Intern P_((const char*)); -extern Object CI_Intern P_((const char*)); -extern Object P_Oblist P_((void)); -extern Object P_Symbolp P_((Object)); -extern Object P_Symbol_To_String P_((Object)); -extern Object P_String_To_Symbol P_((Object)); -extern Object P_Put P_((int, Object*)); -extern Object P_Get P_((Object, Object)); -extern Object P_Symbol_Plist P_((Object)); -extern void Define_Variable P_((Object*, const char*, Object)); -extern void Define_Symbol P_((Object *, const char*)); +extern Object Intern (const char*); +extern Object CI_Intern (const char*); +extern Object P_Oblist (void); +extern Object P_Symbolp (Object); +extern Object P_Symbol_To_String (Object); +extern Object P_String_To_Symbol (Object); +extern Object P_Put (int, Object*); +extern Object P_Get (Object, Object); +extern Object P_Symbol_Plist (Object); +extern void Define_Variable (Object*, const char*, Object); +extern void Define_Symbol (Object *, const char*); extern Object Sym_Else; -extern Object Var_Get P_((Object)); -extern void Var_Set P_((Object, Object)); -extern int Var_Is_True P_((Object)); -extern unsigned long int Symbols_To_Bits P_((Object, int, SYMDESCR*)); -extern Object Bits_To_Symbols P_((unsigned long int, int, SYMDESCR*)); +extern Object Var_Get (Object); +extern void Var_Set (Object, Object); +extern int Var_Is_True (Object); +extern unsigned long int Symbols_To_Bits (Object, int, SYMDESCR*); +extern Object Bits_To_Symbols (unsigned long int, int, SYMDESCR*); /* Termination functions */ -extern void Register_Object P_((Object, GENERIC, PFO, int)); -extern void Deregister_Object P_((Object)); -extern Object Find_Object P_((int, GENERIC, MATCHFUN, ...)); -extern void Terminate_Group P_((GENERIC)); -extern void Terminate_Type P_((int)); +extern void Register_Object (Object, GENERIC, PFO, int); +extern void Deregister_Object (Object); +extern Object Find_Object (int, GENERIC, MATCHFUN, ...); +extern void Terminate_Group (GENERIC); +extern void Terminate_Type (int); /* Types, Define_Type() */ extern TYPEDESCR *Types; -extern Object P_Type P_((Object)); -extern void Wrong_Type P_((Object, int)) elk_attribute(__noreturn__); -extern void Wrong_Type_Combination P_((Object, const char*)) +extern Object P_Type (Object); +extern void Wrong_Type (Object, int) elk_attribute(__noreturn__); +extern void Wrong_Type_Combination (Object, const char*) elk_attribute(__noreturn__); -extern int Define_Type P_((int, const char*, int (*)(Object), int, +extern int Define_Type (int, const char*, int (*)(Object), int, int (*)(Object, Object), int (*)(Object, Object), int (*)(Object, Object, int, int, int), - int (*)(Object*, int (*)(Object*)) )); + int (*)(Object*, int (*)(Object*)) ); /* Vectors */ -extern Object Make_Vector P_((unsigned int, Object)); -extern Object Make_Const_Vector P_((unsigned int, Object)); -extern Object P_Make_Vector P_((int, Object*)); -extern Object P_Vectorp P_((Object)); -extern Object P_Vector P_((int, Object*)); -extern Object P_Vector_Length P_((Object)); -extern Object P_Vector_Ref P_((Object, Object)); -extern Object P_Vector_Set P_((Object, Object, Object)); -extern Object P_Vector_To_List P_((Object)); -extern Object P_List_To_Vector P_((Object)); -extern Object P_Vector_Fill P_((Object, Object)); -extern Object P_Vector_Copy P_((Object)); +extern Object Make_Vector (unsigned int, Object); +extern Object Make_Const_Vector (unsigned int, Object); +extern Object P_Make_Vector (int, Object*); +extern Object P_Vectorp (Object); +extern Object P_Vector (int, Object*); +extern Object P_Vector_Length (Object); +extern Object P_Vector_Ref (Object, Object); +extern Object P_Vector_Set (Object, Object, Object); +extern Object P_Vector_To_List (Object); +extern Object P_List_To_Vector (Object); +extern Object P_Vector_Fill (Object, Object); +extern Object P_Vector_Copy (Object); C_LINKAGE_END diff --git a/include/funcproto.h b/include/funcproto.h index 1886688..fb661d1 100644 --- a/include/funcproto.h +++ b/include/funcproto.h @@ -28,18 +28,7 @@ * THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. */ -#if __STDC__ || defined(__cplusplus) -# undef WANT_PROTOTYPES -#endif - -#ifdef WANT_PROTOTYPES -# define ELK_USE_PROTOTYPES -# define ELLIPSIS -#endif - #ifdef __cplusplus -# define ELK_USE_PROTOTYPES -# define ELLIPSIS ... # define C_LINKAGE_BEGIN extern "C" { # define C_LINKAGE_END } #else @@ -47,19 +36,3 @@ # define C_LINKAGE_END #endif -#if __STDC__ && !defined(__cplusplus) -# define ELK_USE_PROTOTYPES -# define ELLIPSIS -#endif - -#ifdef NO_PROTOTYPES -# undef ELK_USE_PROTOTYPES -#endif - -#ifdef ELK_USE_PROTOTYPES -# define P_(args) args -#else -# define P_(args) () -# define ELLIPSIS -# define const -#endif diff --git a/include/gc.h b/include/gc.h index 2f97cbc..7fb3e3c 100644 --- a/include/gc.h +++ b/include/gc.h @@ -118,7 +118,7 @@ extern GCNODE *GC_List; #define GC_Unlink (GC_List = gc1.next) C_LINKAGE_BEGIN -extern void Func_Global_GC_Link P_((Object*)); +extern void Func_Global_GC_Link (Object*); C_LINKAGE_END #define Global_GC_Link(x) Func_Global_GC_Link(&x) diff --git a/include/intern.h b/include/intern.h index 9c4c1e5..e96dacf 100644 --- a/include/intern.h +++ b/include/intern.h @@ -34,41 +34,41 @@ C_LINKAGE_BEGIN /* autoload.c */ extern Object V_Autoload_Notifyp; -extern Object Do_Autoload P_((Object, Object)); +extern Object Do_Autoload (Object, Object); /* bignum.c */ -extern int Bignum_Zero P_((Object)); -extern int Bignum_Positive P_((Object)); -extern int Bignum_Negative P_((Object)); -extern int Bignum_Even P_((Object)); -extern Object Make_Bignum P_((const char*, int, int)); -extern Object Integer_To_Bignum P_((int)); -extern Object Bignum_Divide P_((Object, Object)); -extern Object Bignum_Abs P_((Object)); -extern Object Bignum_Plus P_((Object, Object)); -extern Object Bignum_Minus P_((Object, Object)); -extern Object Bignum_Fixnum_Multiply P_((Object, Object)); -extern Object Bignum_Multiply P_((Object, Object)); -extern Object Bignum_Fixnum_Divide P_((Object, Object)); -extern Object Double_To_Bignum P_((double)); -extern Object Unsigned_To_Bignum P_((unsigned)); -extern Object Long_To_Bignum P_((long)); -extern Object Unsigned_Long_To_Bignum P_((unsigned long)); -extern unsigned Bignum_To_Unsigned P_((Object)); -extern unsigned long Bignum_To_Unsigned_Long P_((Object)); -extern long Bignum_To_Long P_((Object)); -extern Object Bignum_To_String P_((Object, int)); -extern int Bignum_Equal P_((Object, Object)); -extern int Bignum_Greater P_((Object, Object)); -extern int Bignum_Less P_((Object, Object)); -extern int Bignum_Eq_Less P_((Object, Object)); -extern int Bignum_Eq_Greater P_((Object, Object)); +extern int Bignum_Zero (Object); +extern int Bignum_Positive (Object); +extern int Bignum_Negative (Object); +extern int Bignum_Even (Object); +extern Object Make_Bignum (const char*, int, int); +extern Object Integer_To_Bignum (int); +extern Object Bignum_Divide (Object, Object); +extern Object Bignum_Abs (Object); +extern Object Bignum_Plus (Object, Object); +extern Object Bignum_Minus (Object, Object); +extern Object Bignum_Fixnum_Multiply (Object, Object); +extern Object Bignum_Multiply (Object, Object); +extern Object Bignum_Fixnum_Divide (Object, Object); +extern Object Double_To_Bignum (double); +extern Object Unsigned_To_Bignum (unsigned); +extern Object Long_To_Bignum (long); +extern Object Unsigned_Long_To_Bignum (unsigned long); +extern unsigned Bignum_To_Unsigned (Object); +extern unsigned long Bignum_To_Unsigned_Long (Object); +extern long Bignum_To_Long (Object); +extern Object Bignum_To_String (Object, int); +extern int Bignum_Equal (Object, Object); +extern int Bignum_Greater (Object, Object); +extern int Bignum_Less (Object, Object); +extern int Bignum_Eq_Less (Object, Object); +extern int Bignum_Eq_Greater (Object, Object); /* cont.c */ extern WIND *First_Wind, *Last_Wind; -extern Object Internal_Call_CC P_((int, Object)); +extern Object Internal_Call_CC (int, Object); /* dump.c */ @@ -76,8 +76,8 @@ extern Object Dump_Control_Point; /* env.c */ -extern Object Add_Binding P_((Object, Object, Object)); -extern Object Lookup_Symbol P_((Object, int)); +extern Object Add_Binding (Object, Object, Object); +extern Object Lookup_Symbol (Object, int); /* error.c */ @@ -86,7 +86,7 @@ extern char *appname; /* exception.c */ -extern void Install_Intr_Handler P_((void)); +extern void Install_Intr_Handler (void); /* heap.c */ @@ -97,18 +97,18 @@ extern int GC_In_Progress; /* io.c */ -extern Object General_Open_File P_((Object, int, Object)); +extern Object General_Open_File (Object, int, Object); /* load.c */ extern char *Loader_Input; extern Object V_Load_Path, V_Load_Noisilyp, V_Load_Libraries; -extern void Check_Loadarg P_((Object)); -extern Object General_Load P_((Object, Object)); +extern void Check_Loadarg (Object); +extern Object General_Load (Object, Object); /* list.c */ -extern Object General_Assoc P_((Object, Object, int)); +extern Object General_Assoc (Object, Object, int); /* libelk.c */ @@ -122,41 +122,40 @@ extern SYMTAB *The_Symbols; extern char *Scm_Dir; extern char *Lib_Dir; #ifndef HAVE_ATEXIT -extern void exit P_((int)); +extern void exit (int); #endif /* math.c */ -extern char *Flonum_To_String P_((Object)); +extern char *Flonum_To_String (Object); /* proc.c */ extern Object Sym_Lambda, Sym_Macro; -extern void Funcall_Control_Point P_((Object, Object, int)); +extern void Funcall_Control_Point (Object, Object, int); extern Object Make_Primitive - P_((Object(*)(ELLIPSIS), const char*, int, int, enum discipline)); + (Object(*)(), const char*, int, int, enum discipline); /* read.c */ extern Object Sym_Quote; extern Object Sym_Quasiquote, Sym_Unquote, Sym_Unquote_Splicing; -extern Object Parse_Number P_((Object, const char*, int)); +extern Object Parse_Number (Object, const char*, int); /* stab.c */ -extern SYMTAB *Snarf_Symbols P_((ELLIPSIS)); /* varying args */ -extern SYMTAB *Open_File_And_Snarf_Symbols P_((char *)); +extern SYMTAB *Open_File_And_Snarf_Symbols (char *); /* stkmem.c */ #ifndef HAVE_ALLOCA -extern Object Save_GC_Nodes P_((void)); +extern Object Save_GC_Nodes (void); #endif /* string.c */ extern char Char_Map[]; -extern Object General_Make_String P_((const char*, unsigned int, int)); +extern Object General_Make_String (const char*, unsigned int, int); /* symbol.c */ @@ -168,6 +167,6 @@ extern int Num_Types, Max_Type; /* vector.c */ -extern Object List_To_Vector P_((Object, int)); +extern Object List_To_Vector (Object, int); C_LINKAGE_END diff --git a/include/object.h b/include/object.h index 9dbb173..208e728 100644 --- a/include/object.h +++ b/include/object.h @@ -75,7 +75,7 @@ typedef struct { extern gcspace_t *space; extern gcspace_t current_space; C_LINKAGE_BEGIN - extern int Visit P_((Object*)); /* required for REVIVE_OBJ below */ + extern int Visit (Object*); /* required for REVIVE_OBJ below */ C_LINKAGE_END # ifdef ARRAY_BROKEN @@ -95,7 +95,7 @@ typedef struct { # define REVIVE_OBJ(obj) Visit (&obj); #else C_LINKAGE_BEGIN - extern int Visit P_((Object*)); /* required in heap.c */ + extern int Visit (Object*); /* required in heap.c */ C_LINKAGE_END # define IS_ALIVE(obj) WAS_FORWARDED(obj) # define REVIVE_OBJ(obj) @@ -185,7 +185,7 @@ struct S_Vector { enum discipline { EVAL, NOEVAL, VARARGS }; struct S_Primitive { Object tag; - Object (*fun) P_((ELLIPSIS)); + Object (*fun) (); const char *name; int minargs; int maxargs; /* Or MANY */ @@ -209,7 +209,7 @@ typedef struct wind { typedef struct funct { struct funct *next; char *name; - void (*func) P_((void)); + void (*func) (void); } FUNCT; typedef struct gcnode { @@ -261,7 +261,7 @@ struct S_Port { unsigned int ptr; FILE *file; unsigned int lno; - int (*closefun) P_((FILE*)); + int (*closefun) (FILE*); }; #define P_OPEN 1 /* flags */ #define P_INPUT 2 @@ -298,12 +298,12 @@ struct S_Macro { typedef struct { int haspointer; const char *name; - int (*size) P_((Object)); + int (*size) (Object); int const_size; - int (*eqv) P_((Object, Object)); - int (*equal) P_((Object, Object)); - int (*print) P_((Object, Object, int, int, int)); - int (*visit) P_((Object*, int (*)(Object*))); + int (*eqv) (Object, Object); + int (*equal) (Object, Object); + int (*print) (Object, Object, int, int, int); + int (*visit) (Object*, int (*)(Object*)); } TYPEDESCR; #ifdef ELK_USE_PROTOTYPES @@ -335,8 +335,8 @@ typedef struct { /* PFO, GENERIC, and MATCHFUN exist for backwards compatibility */ -typedef Object (*PFO) P_((Object)); -typedef int (*MATCHFUN) P_((ELLIPSIS)); +typedef Object (*PFO) (Object); +typedef int (*MATCHFUN) (); #define GENERIC char* typedef struct weak_node { @@ -359,4 +359,4 @@ typedef struct { /* Function that can be registered as a reader by Define_Reader(): */ -typedef Object (*READFUN) P_((Object, int, int)); +typedef Object (*READFUN) (Object, int, int); diff --git a/include/stkmem.h b/include/stkmem.h index 6e8b1d3..aa60235 100644 --- a/include/stkmem.h +++ b/include/stkmem.h @@ -43,7 +43,7 @@ #if !defined(alloca) && !defined(__GNUC__) C_LINKAGE_BEGIN -extern char *alloca P_((int)); +extern char *alloca (int); C_LINKAGE_END #endif @@ -62,7 +62,7 @@ C_LINKAGE_END #else /* HAVE_ALLOCA */ extern MEM_NODE *Mem_List; -extern char *Mem_Alloc P_((unsigned)); +extern char *Mem_Alloc (unsigned); #define Alloca_Begin MEM_NODE *_mem_first = 0 #define Alloca(ret,type,size) {\ diff --git a/lib/misc/newhandler.cpp b/lib/misc/newhandler.cpp index 5e4f97f..4ca1cbb 100644 --- a/lib/misc/newhandler.cpp +++ b/lib/misc/newhandler.cpp @@ -25,5 +25,5 @@ extern "C" void elk_init_lib_cplusplus () { New_Handler = Null; Global_GC_Link (New_Handler); std::new_handler (New_Handler_Proc); - Define_Primitive ((Object (*)(...))P_Set_New_Handler, "set-c++-new-handler!", 1, 1, EVAL); + Define_Primitive ((Object (*)())P_Set_New_Handler, "set-c++-new-handler!", 1, 1, EVAL); } diff --git a/lib/unix/unix.h b/lib/unix/unix.h index ba9befa..e2d7cef 100644 --- a/lib/unix/unix.h +++ b/lib/unix/unix.h @@ -52,11 +52,11 @@ extern char *index(); extern Object Unix_Errobj, V_Call_Errhandler; extern SYMDESCR Lseek_Syms[]; -Object Integer_Pair P_((int, int)); -Object Syms_To_List P_((SYMDESCR*)); +Object Integer_Pair (int, int); +Object Syms_To_List (SYMDESCR*); -extern void Check_Result_Vector P_((Object, unsigned int)); -extern int Num_Filedescriptors P_(()); +extern void Check_Result_Vector (Object, unsigned int); +extern int Num_Filedescriptors (); #define Get_Filename_Or_Filedescr(obj,fd,fn) \ switch (TYPE(obj)) {\ diff --git a/lib/xlib/xlib.h b/lib/xlib/xlib.h index 837b735..798b686 100644 --- a/lib/xlib/xlib.h +++ b/lib/xlib/xlib.h @@ -34,6 +34,8 @@ #include #include +#include + #undef True #undef False @@ -158,69 +160,69 @@ typedef struct { C_LINKAGE_BEGIN -extern Colormap Get_Colormap P_((Object)); -extern Cursor Get_Cursor P_((Object)); -extern Drawable Get_Drawable P_((Object, Display**)); -extern Font Get_Font P_((Object)); -extern int Get_Screen_Number P_((Display*, Object)); -extern Object Get_Event_Args P_((XEvent*)); -extern Pixmap Get_Pixmap P_((Object)); -extern Time Get_Time P_((Object)); -extern Window Get_Window P_((Object)); -extern XColor *Get_Color P_((Object)); -extern unsigned long int Get_Pixel P_((Object)); -extern void Destroy_Event_Args P_((Object)); -extern int Encode_Event P_((Object)); -extern int Match_X_Obj P_((ELLIPSIS)); -extern void Open_Font_Maybe P_((Object)); -extern Object Make_Atom P_((Atom)); -extern Object Make_Color P_((unsigned int, unsigned int, unsigned int)); -extern Object Make_Colormap P_((int, Display*, Colormap)); -extern Object Make_Cursor P_((Display*, Cursor)); -extern Object Make_Cursor_Foreign P_((Display*, Cursor)); -extern Object Make_Display P_((int, Display*)); -extern Object Make_Font P_((Display*, Object, Font, XFontStruct*)); -extern Object Make_Font_Foreign P_((Display*, Object, Font, XFontStruct*)); -extern Object Make_Gc P_((int, Display*, GC)); -extern Object Make_Pixel P_((unsigned long int)); -extern Object Make_Pixmap P_((Display*, Pixmap)); -extern Object Make_Pixmap_Foreign P_((Display*, Pixmap)); -extern Object Make_Window P_((int, Display*, Window)); -extern Object P_Close_Display P_((Object)); -extern Object P_Close_Font P_((Object)); -extern Object P_Destroy_Window P_((Object)); -extern Object P_Free_Colormap P_((Object)); -extern Object P_Free_Cursor P_((Object)); -extern Object P_Free_Gc P_((Object)); -extern Object P_Free_Pixmap P_((Object)); -extern Object P_Window_Unique_Id P_((Object)); +extern Colormap Get_Colormap (Object); +extern Cursor Get_Cursor (Object); +extern Drawable Get_Drawable (Object, Display**); +extern Font Get_Font (Object); +extern int Get_Screen_Number (Display*, Object); +extern Object Get_Event_Args (XEvent*); +extern Pixmap Get_Pixmap (Object); +extern Time Get_Time (Object); +extern Window Get_Window (Object); +extern XColor *Get_Color (Object); +extern unsigned long int Get_Pixel (Object); +extern void Destroy_Event_Args (Object); +extern int Encode_Event (Object); +extern int Match_X_Obj (Object, va_list); +extern void Open_Font_Maybe (Object); +extern Object Make_Atom (Atom); +extern Object Make_Color (unsigned int, unsigned int, unsigned int); +extern Object Make_Colormap (int, Display*, Colormap); +extern Object Make_Cursor (Display*, Cursor); +extern Object Make_Cursor_Foreign (Display*, Cursor); +extern Object Make_Display (int, Display*); +extern Object Make_Font (Display*, Object, Font, XFontStruct*); +extern Object Make_Font_Foreign (Display*, Object, Font, XFontStruct*); +extern Object Make_Gc (int, Display*, GC); +extern Object Make_Pixel (unsigned long int); +extern Object Make_Pixmap (Display*, Pixmap); +extern Object Make_Pixmap_Foreign (Display*, Pixmap); +extern Object Make_Window (int, Display*, Window); +extern Object P_Close_Display (Object); +extern Object P_Close_Font (Object); +extern Object P_Destroy_Window (Object); +extern Object P_Free_Colormap (Object); +extern Object P_Free_Cursor (Object); +extern Object P_Free_Gc (Object); +extern Object P_Free_Pixmap (Object); +extern Object P_Window_Unique_Id (Object); extern Object Record_To_Vector - P_((RECORD*, int, Object, Display*, unsigned long int)); + (RECORD*, int, Object, Display*, unsigned long int); extern unsigned long int Vector_To_Record - P_((Object, unsigned int, Object, RECORD*)); + (Object, unsigned int, Object, RECORD*); -extern void elk_init_xlib_client P_(()); -extern void elk_init_xlib_color P_(()); -extern void elk_init_xlib_colormap P_(()); -extern void elk_init_xlib_cursor P_(()); -extern void elk_init_xlib_display P_(()); -extern void elk_init_xlib_error P_(()); -extern void elk_init_xlib_event P_(()); -extern void elk_init_xlib_extension P_(()); -extern void elk_init_xlib_font P_(()); -extern void elk_init_xlib_gcontext P_(()); -extern void elk_init_xlib_grab P_(()); -extern void elk_init_xlib_graphics P_(()); -extern void elk_init_xlib_key P_(()); -extern void elk_init_xlib_objects P_(()); -extern void elk_init_xlib_pixel P_(()); -extern void elk_init_xlib_pixmap P_(()); -extern void elk_init_xlib_property P_(()); -extern void elk_init_xlib_text P_(()); -extern void elk_init_xlib_type P_(()); -extern void elk_init_xlib_util P_(()); -extern void elk_init_xlib_window P_(()); -extern void elk_init_xlib_wm P_(()); +extern void elk_init_xlib_client (); +extern void elk_init_xlib_color (); +extern void elk_init_xlib_colormap (); +extern void elk_init_xlib_cursor (); +extern void elk_init_xlib_display (); +extern void elk_init_xlib_error (); +extern void elk_init_xlib_event (); +extern void elk_init_xlib_extension (); +extern void elk_init_xlib_font (); +extern void elk_init_xlib_gcontext (); +extern void elk_init_xlib_grab (); +extern void elk_init_xlib_graphics (); +extern void elk_init_xlib_key (); +extern void elk_init_xlib_objects (); +extern void elk_init_xlib_pixel (); +extern void elk_init_xlib_pixmap (); +extern void elk_init_xlib_property (); +extern void elk_init_xlib_text (); +extern void elk_init_xlib_type (); +extern void elk_init_xlib_util (); +extern void elk_init_xlib_window (); +extern void elk_init_xlib_wm (); C_LINKAGE_END diff --git a/lib/xwidgets/motif/support.d b/lib/xwidgets/motif/support.d index 6382d07..f4be1ab 100644 --- a/lib/xwidgets/motif/support.d +++ b/lib/xwidgets/motif/support.d @@ -76,7 +76,8 @@ (prolog -"Object Get_Any_CB (XmAnyCallbackStruct *p) { +"Object Get_Any_CB (void *_p) { + XmAnyCallbackStruct *p = _p; Object args, ret; GC_Node2; @@ -95,7 +96,8 @@ (prolog -"Object Get_Selection_CB (XmSelectionBoxCallbackStruct *p) { +"Object Get_Selection_CB (void *_p) { + XmSelectionBoxCallbackStruct *p = _p; Object ret, s; char *text; GC_Node2; diff --git a/lib/xwidgets/xt.h b/lib/xwidgets/xt.h index 83ffd57..93b61df 100644 --- a/lib/xwidgets/xt.h +++ b/lib/xwidgets/xt.h @@ -36,6 +36,8 @@ # include #undef Object +#include + #if XtSpecificationRelease < 4 #error "Xt Release 3 or earlier no longer supported" #endif @@ -48,8 +50,8 @@ # define XT_RELEASE_6_OR_LATER #endif -typedef XtArgVal (*PFS2X) P_((Object)); -typedef Object (*PFX2S) P_((XtArgVal)); +typedef XtArgVal (*PFS2X) (Object); +typedef Object (*PFX2S) (XtArgVal); extern int T_Context; extern int T_Class; @@ -93,64 +95,63 @@ extern WidgetClass compositeWidgetClass; C_LINKAGE_BEGIN -extern void Check_Callback_List P_((Object)); -extern void Check_Context P_((Object)); -extern void Check_Widget P_((Object)); -extern void Check_Widget_Class P_((Object, WidgetClass)); -extern void Convert_Args P_((int, Object*, ArgList, Widget, WidgetClass)); -extern void Define_Callback P_((char*, char*, int)); -extern void Define_Class - P_((char *, WidgetClass, XtResourceList, int)); -extern void Define_Converter_To_C P_((char*, PFS2X)); -extern void Define_Converter_To_Scheme P_((char*, PFX2S)); -extern void Fiddle_Destroy_Callback P_((Widget)); -extern void Fill_Callbacks P_((Object, XtCallbackList, int, PFX2S)); -extern void Free_Actions P_((XtAppContext)); +extern void Check_Callback_List (Object); +extern void Check_Context (Object); +extern void Check_Widget (Object); +extern void Check_Widget_Class (Object, WidgetClass); +extern void Convert_Args (int, Object*, ArgList, Widget, WidgetClass); +extern void Define_Callback (char*, char*, int); +extern void Define_Class (char *, WidgetClass, XtResourceList, int); +extern void Define_Converter_To_C (char*, PFS2X); +extern void Define_Converter_To_Scheme (char*, PFX2S); +extern void Fiddle_Destroy_Callback (Widget); +extern void Fill_Callbacks (Object, XtCallbackList, int, PFX2S); +extern void Free_Actions (XtAppContext); extern void Get_All_Resources - P_((int, Widget, WidgetClass, XtResource**, int*, int*)); -extern void Make_Resource_Name P_((char*)); -extern int Match_Xt_Obj P_((ELLIPSIS)); -extern Object Get_Callbackfun P_((XtPointer)); -extern Object Get_Function P_((int)); + (int, Widget, WidgetClass, XtResource**, int*, int*); +extern void Make_Resource_Name (char*); +extern int Match_Xt_Obj (Object, va_list); +extern Object Get_Callbackfun (XtPointer); +extern Object Get_Function (int); extern Object Get_Resources - P_((WidgetClass, void (*)(WidgetClass, XtResourceList*, Cardinal*), int)); -extern Object Get_Values P_((Widget, int, Object*)); -extern Object Make_Class P_((WidgetClass, char*)); -extern Object Make_Context P_((XtAppContext)); -extern Object Make_Context_Foreign P_((XtAppContext)); -extern Object Make_Id P_((int, XtPointer, int)); -extern Object Make_Widget P_((Widget)); -extern Object Make_Widget_Foreign P_((Widget)); -extern Object Make_Widget_Class P_((WidgetClass)); -extern PFX2S Find_Callback_Converter P_((WidgetClass, char*, Object)); -extern PFX2S Find_Converter_To_Scheme P_((char*)); -extern PFS2X Find_Converter_To_C P_((char*)); -extern int Register_Function P_((Object)); -extern void Deregister_Function P_((int)); -extern XtAccelerators Get_Accelerators P_((Object)); -extern XtTranslations Get_Translations P_((Object)); -extern XtPointer Use_Id P_((Object, int)); -extern void Xt_Warning P_((char*)); -extern char *Class_Name P_((WidgetClass)); -extern void Action_Hook P_((Widget, XtPointer, char*, XEvent*, char**, int*)); -extern void Destroy_Callback_Proc P_((Widget, XtPointer, XtPointer)); -extern void Get_Sub_Resource_List P_((WidgetClass, XtResourceList*, Cardinal*)); -extern Object Xt_Class_Name P_((WidgetClass)); -extern Object Get_Selection_CB P_((ELLIPSIS)); /* xm/support.d */ -extern Object Get_Any_CB P_((ELLIPSIS)); /* xm/support.d */ + (WidgetClass, void (*)(WidgetClass, XtResourceList*, Cardinal*), int); +extern Object Get_Values (Widget, int, Object*); +extern Object Make_Class (WidgetClass, char*); +extern Object Make_Context (XtAppContext); +extern Object Make_Context_Foreign (XtAppContext); +extern Object Make_Id (int, XtPointer, int); +extern Object Make_Widget (Widget); +extern Object Make_Widget_Foreign (Widget); +extern Object Make_Widget_Class (WidgetClass); +extern PFX2S Find_Callback_Converter (WidgetClass, char*, Object); +extern PFX2S Find_Converter_To_Scheme (char*); +extern PFS2X Find_Converter_To_C (char*); +extern int Register_Function (Object); +extern void Deregister_Function (int); +extern XtAccelerators Get_Accelerators (Object); +extern XtTranslations Get_Translations (Object); +extern XtPointer Use_Id (Object, int); +extern void Xt_Warning (char*); +extern char *Class_Name (WidgetClass); +extern void Action_Hook (Widget, XtPointer, char*, XEvent*, char**, int*); +extern void Destroy_Callback_Proc (Widget, XtPointer, XtPointer); +extern void Get_Sub_Resource_List (WidgetClass, XtResourceList*, Cardinal*); +extern Object Xt_Class_Name (WidgetClass); +extern Object Get_Selection_CB (void *); /* xm/support.d */ +extern Object Get_Any_CB (void *); /* xm/support.d */ -extern void elk_init_xt_accelerator P_(()); -extern void elk_init_xt_action P_(()); -extern void elk_init_xt_callback P_(()); -extern void elk_init_xt_class P_(()); -extern void elk_init_xt_context P_(()); -extern void elk_init_xt_function P_(()); -extern void elk_init_xt_identifier P_(()); -extern void elk_init_xt_popup P_(()); -extern void elk_init_xt_translation P_(()); -extern void elk_init_xt_widget P_(()); -extern void elk_init_xt_error P_(()); -extern void elk_init_xt_init P_(()); +extern void elk_init_xt_accelerator (); +extern void elk_init_xt_action (); +extern void elk_init_xt_callback (); +extern void elk_init_xt_class (); +extern void elk_init_xt_context (); +extern void elk_init_xt_function (); +extern void elk_init_xt_identifier (); +extern void elk_init_xt_popup (); +extern void elk_init_xt_translation (); +extern void elk_init_xt_widget (); +extern void elk_init_xt_error (); +extern void elk_init_xt_init (); C_LINKAGE_END diff --git a/src/stab-elf.c b/src/stab-elf.c index 024303d..8fb259d 100644 --- a/src/stab-elf.c +++ b/src/stab-elf.c @@ -42,8 +42,7 @@ extern void Free_Symbols (SYMTAB *); SYMTAB * -Snarf_Symbols (lf) - int lf; +Snarf_Symbols (int lf) { SYMTAB *tab = NULL; register SYM *sp, **nextp;