diff --git a/src/constants.c b/src/constants.c
index c81c0a16b64f3b90f756a96834f92d674ee9a0c4..11b5e91eeae0d74c14b3d27f2db34083faa97976 100644
--- a/src/constants.c
+++ b/src/constants.c
@@ -17,7 +17,7 @@
 #include "security.h"
 #include "block_alloc.h"
 
-RCSID("$Id: constants.c,v 1.38 2002/08/15 14:49:20 marcus Exp $");
+RCSID("$Id: constants.c,v 1.39 2002/09/12 13:15:49 marcus Exp $");
 
 struct mapping *builtin_constants = 0;
 
@@ -42,7 +42,7 @@ void low_add_efun(struct pike_string *name, struct svalue *fun)
   }
 }
 
-void low_add_constant(char *name, struct svalue *fun)
+void low_add_constant(const char *name, struct svalue *fun)
 {
   struct pike_string *p;
   p=make_shared_string(name);
@@ -50,7 +50,7 @@ void low_add_constant(char *name, struct svalue *fun)
   free_string(p);
 }
 
-PMOD_EXPORT void add_global_program(char *name, struct program *p)
+PMOD_EXPORT void add_global_program(const char *name, struct program *p)
 {
   struct svalue s;
   s.type=T_PROGRAM;
@@ -101,8 +101,8 @@ PMOD_EXPORT struct callable *low_make_callable(c_fun fun,
 }
 
 PMOD_EXPORT struct callable *make_callable(c_fun fun,
-			       char *name,
-			       char *type,
+			       const char *name,
+			       const char *type,
 			       INT16 flags,
 			       optimize_fun optimize,
 			       docode_fun docode)
@@ -111,9 +111,9 @@ PMOD_EXPORT struct callable *make_callable(c_fun fun,
 			   flags, optimize, docode);
 }
 
-PMOD_EXPORT struct callable *add_efun2(char *name,
+PMOD_EXPORT struct callable *add_efun2(const char *name,
 			    c_fun fun,
-			    char *type,
+			    const char *type,
 			    INT16 flags,
 			    optimize_fun optimize,
 			    docode_fun docode)
@@ -132,14 +132,14 @@ PMOD_EXPORT struct callable *add_efun2(char *name,
   return ret;
 }
 
-PMOD_EXPORT struct callable *add_efun(char *name, c_fun fun, char *type, INT16 flags)
+PMOD_EXPORT struct callable *add_efun(const char *name, c_fun fun, const char *type, INT16 flags)
 {
   return add_efun2(name,fun,type,flags,0,0);
 }
 
-PMOD_EXPORT struct callable *quick_add_efun(char *name, ptrdiff_t name_length,
+PMOD_EXPORT struct callable *quick_add_efun(const char *name, ptrdiff_t name_length,
 					    c_fun fun,
-					    char *type, ptrdiff_t type_length,
+					    const char *type, ptrdiff_t type_length,
 					    INT16 flags,
 					    optimize_fun optimize,
 					    docode_fun docode)
diff --git a/src/constants.h b/src/constants.h
index 65b5eb077b39c5d24f92c0624656592a88d9ffec..e74d53c5be1b2e158fa69e03e92322989e0bcb57 100644
--- a/src/constants.h
+++ b/src/constants.h
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: constants.h,v 1.22 2002/05/31 22:41:23 nilsson Exp $
+ * $Id: constants.h,v 1.23 2002/09/12 13:15:49 marcus Exp $
  */
 #ifndef ADD_EFUN_H
 #define ADD_EFUN_H
@@ -41,8 +41,8 @@ struct callable
 /* Prototypes begin here */
 PMOD_EXPORT struct mapping *get_builtin_constants(void);
 void low_add_efun(struct pike_string *name, struct svalue *fun);
-void low_add_constant(char *name, struct svalue *fun);
-PMOD_EXPORT void add_global_program(char *name, struct program *p);
+void low_add_constant(const char *name, struct svalue *fun);
+PMOD_EXPORT void add_global_program(const char *name, struct program *p);
 BLOCK_ALLOC(callable,128)
 PMOD_EXPORT struct callable *low_make_callable(c_fun fun,
 				   struct pike_string *name,
@@ -51,21 +51,21 @@ PMOD_EXPORT struct callable *low_make_callable(c_fun fun,
 				   optimize_fun optimize,
 				   docode_fun docode);
 PMOD_EXPORT struct callable *make_callable(c_fun fun,
-			       char *name,
-			       char *type,
+			       const char *name,
+			       const char *type,
 			       INT16 flags,
 			       optimize_fun optimize,
 			       docode_fun docode);
-PMOD_EXPORT struct callable *add_efun2(char *name,
+PMOD_EXPORT struct callable *add_efun2(const char *name,
 			    c_fun fun,
-			    char *type,
+			    const char *type,
 			    INT16 flags,
 			    optimize_fun optimize,
 			    docode_fun docode);
-PMOD_EXPORT struct callable *add_efun(char *name, c_fun fun, char *type, INT16 flags);
-PMOD_EXPORT struct callable *quick_add_efun(char *name, ptrdiff_t name_length,
+PMOD_EXPORT struct callable *add_efun(const char *name, c_fun fun, const char *type, INT16 flags);
+PMOD_EXPORT struct callable *quick_add_efun(const char *name, ptrdiff_t name_length,
 					    c_fun fun,
-					    char *type, ptrdiff_t type_length,
+					    const char *type, ptrdiff_t type_length,
 					    INT16 flags,
 					    optimize_fun optimize,
 					    docode_fun docode);
diff --git a/src/dmalloc.h b/src/dmalloc.h
index 316f475c4d5315d426555bbb62f989c75d72dd2e..b642e8c946960f8d478490b1fa3341f96f6b5146 100644
--- a/src/dmalloc.h
+++ b/src/dmalloc.h
@@ -1,5 +1,5 @@
 /*
- * $Id: dmalloc.h,v 1.35 2001/11/10 19:39:25 mast Exp $
+ * $Id: dmalloc.h,v 1.36 2002/09/12 13:15:49 marcus Exp $
  */
 
 PMOD_EXPORT extern void *debug_xalloc(size_t);
@@ -51,7 +51,7 @@ void *debug_malloc_update_location_ptr(void *, ptrdiff_t, char *);
 void search_all_memheaders_for_references(void);
 
 /* Beware! names of named memory regions are never ever freed!! /Hubbe */
-void *debug_malloc_name(void *p, char *fn, int line);
+void *debug_malloc_name(void *p, const char *fn, int line);
 int debug_malloc_copy_names(void *p, void *p2);
 char *dmalloc_find_name(void *p);
 
diff --git a/src/module_support.c b/src/module_support.c
index 433f17d0f7dced5c2116e4a8adc3631905db34a7..05c114ad1866cadde39e1e23fd548711522bfd1a 100644
--- a/src/module_support.c
+++ b/src/module_support.c
@@ -11,7 +11,7 @@
 
 #define sp Pike_sp
 
-RCSID("$Id: module_support.c,v 1.48 2002/09/12 12:23:02 grubba Exp $");
+RCSID("$Id: module_support.c,v 1.49 2002/09/12 13:15:49 marcus Exp $");
 
 /* Checks that args_to_check arguments are OK.
  * Returns 1 if everything worked ok, zero otherwise.
@@ -143,7 +143,7 @@ PMOD_EXPORT void check_all_args(const char *fnname, int args, ... )
 
 int va_get_args(struct svalue *s,
 		INT32 num_args,
-		char *fmt,
+		const char *fmt,
 		va_list ap)
 {
   int ret=0;
@@ -308,7 +308,7 @@ int va_get_args(struct svalue *s,
 
 PMOD_EXPORT int get_args(struct svalue *s,
 			 INT32 num_args,
-			 char *fmt, ...)
+			 const char *fmt, ...)
 {
   va_list ptr;
   int ret;
@@ -318,7 +318,8 @@ PMOD_EXPORT int get_args(struct svalue *s,
   return ret;
 }
 
-PMOD_EXPORT void get_all_args(char *fname, INT32 args, char *format,  ... )
+PMOD_EXPORT void get_all_args(const char *fname, INT32 args,
+			      const char *format,  ... )
 {
   va_list ptr;
   int ret;
@@ -372,7 +373,7 @@ PMOD_EXPORT void get_all_args(char *fname, INT32 args, char *format,  ... )
    
 static struct mapping *exported_symbols;
 
-PMOD_EXPORT void pike_module_export_symbol(char *name,
+PMOD_EXPORT void pike_module_export_symbol(const char *name,
 					   int len,
 					   void *ptr)
 {
@@ -386,9 +387,9 @@ PMOD_EXPORT void pike_module_export_symbol(char *name,
   free_string(str);
 }
 
-PMOD_EXPORT void *pike_module_import_symbol(char *name,
+PMOD_EXPORT void *pike_module_import_symbol(const char *name,
 					    int len,
-					    char *module,
+					    const char *module,
 					    int module_len)
 {
   struct svalue *s;
diff --git a/src/module_support.h b/src/module_support.h
index f3d397aea5e1e5afbaa958edbc4e3b4cda5b0ba9..b63b221e9ef4459932985385ed2164df6b5faa1b 100644
--- a/src/module_support.h
+++ b/src/module_support.h
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: module_support.h,v 1.12 2002/08/13 17:07:28 grubba Exp $
+ * $Id: module_support.h,v 1.13 2002/09/12 13:15:49 marcus Exp $
  */
 #ifndef MODULE_SUPPORT_H
 #include <stdarg.h>
@@ -37,18 +37,19 @@ PMOD_EXPORT int check_args(int args, ...);
 PMOD_EXPORT void check_all_args(const char *fnname, int args, ... );
 int va_get_args(struct svalue *s,
 		INT32 num_args,
-		char *fmt,
+		const char *fmt,
 		va_list ap);
 PMOD_EXPORT int get_args(struct svalue *s,
 	     INT32 num_args,
-	     char *fmt, ...);
-PMOD_EXPORT void get_all_args(char *fname, INT32 args, char *format,  ... );
-PMOD_EXPORT void pike_module_export_symbol(char *str,
+	     const char *fmt, ...);
+PMOD_EXPORT void get_all_args(const char *fname, INT32 args,
+			      const char *format,  ... );
+PMOD_EXPORT void pike_module_export_symbol(const char *str,
 					   int len,
 					   void *ptr);
-PMOD_EXPORT void *pike_module_import_symbol(char *str,
+PMOD_EXPORT void *pike_module_import_symbol(const char *str,
 					    int len,
-					    char *module,
+					    const char *module,
 					    int module_len);
 void cleanup_module_support (void);
 /* Prototypes end here */
diff --git a/src/pike_memory.c b/src/pike_memory.c
index 76965a9cf06ccec130027154c7c523814ffd679f..240db1c0664edf6821bbe48e970ed155c56e7e0c 100644
--- a/src/pike_memory.c
+++ b/src/pike_memory.c
@@ -10,7 +10,7 @@
 #include "pike_macros.h"
 #include "gc.h"
 
-RCSID("$Id: pike_memory.c,v 1.120 2002/08/15 14:49:24 marcus Exp $");
+RCSID("$Id: pike_memory.c,v 1.121 2002/09/12 13:15:49 marcus Exp $");
 
 /* strdup() is used by several modules, so let's provide it */
 #ifndef HAVE_STRDUP
@@ -2255,7 +2255,7 @@ struct dmalloc_string
 
 static struct dmalloc_string *dstrhash[DSTRHSIZE];
 
-static LOCATION low_dynamic_location(char type, char *file, int line)
+static LOCATION low_dynamic_location(char type, const char *file, int line)
 {
   struct dmalloc_string **prev, *str;
   int len=strlen(file);
@@ -2293,13 +2293,13 @@ static LOCATION low_dynamic_location(char type, char *file, int line)
   return str->str;
 }
 
-LOCATION dynamic_location(char *file, int line)
+LOCATION dynamic_location(const char *file, int line)
 {
   return low_dynamic_location('D',file,line);
 }
 
 
-void * debug_malloc_name(void *p,char *file, int line)
+void * debug_malloc_name(void *p,const char *file, int line)
 {
   if(p)
   {
diff --git a/src/pike_types.c b/src/pike_types.c
index a20a7e2821cd0fbdaf2af775fb6d66c0bdbc15e5..68107a9fc00ac54edaf11c2b55b049aa487b91e7 100644
--- a/src/pike_types.c
+++ b/src/pike_types.c
@@ -5,7 +5,7 @@
 \*/
 /**/
 #include "global.h"
-RCSID("$Id: pike_types.c,v 1.194 2002/08/15 14:49:24 marcus Exp $");
+RCSID("$Id: pike_types.c,v 1.195 2002/09/12 13:15:49 marcus Exp $");
 #include <ctype.h>
 #include "svalue.h"
 #include "pike_types.h"
@@ -168,7 +168,7 @@ static int low_pike_types_le(struct pike_type *a, struct pike_type *b,
 static int low_check_indexing(struct pike_type *type,
 			      struct pike_type *index_type,
 			      node *n);
-static void internal_parse_type(char **s);
+static void internal_parse_type(const char **s);
 
 /*
  * New and improved type representation system.
@@ -834,11 +834,11 @@ struct pike_type *debug_pop_unfinished_type(void)
 
 /******/
 
-static void internal_parse_typeA(char **_s)
+static void internal_parse_typeA(const char **_s)
 {
   char buf[80];
   unsigned int len;
-  unsigned char **s = (unsigned char **)_s;
+  const unsigned char **s = (const unsigned char **)_s;
   
   while(ISSPACE(**s)) ++*s;
 
@@ -866,7 +866,7 @@ static void internal_parse_typeA(char **_s)
 	  INT32 min,max;
 	  ++*s;
 	  while(ISSPACE(**s)) ++*s;
-	  min=STRTOL((char *)*s,(char **)s,0);
+	  min=STRTOL((const char *)*s,(char **)s,0);
 	  while(ISSPACE(**s)) ++*s;
 	  if(s[0][0]=='.' && s[0][1]=='.')
 	    s[0]+=2;
@@ -874,7 +874,7 @@ static void internal_parse_typeA(char **_s)
 	    Pike_error("Missing .. in integer type.\n");
 	  
 	  while(ISSPACE(**s)) ++*s;
-	  max=STRTOL((char *)*s,(char **)s,0);
+	  max=STRTOL((const char *)*s,(char **)s,0);
 	  while(ISSPACE(**s)) ++*s;
 
 	  if(**s != ')') Pike_error("Missing ')' in integer range.\n");
@@ -1129,9 +1129,9 @@ static void internal_parse_typeA(char **_s)
 }
 
 
-static void internal_parse_typeB(char **s)
+static void internal_parse_typeB(const char **s)
 {
-  while(ISSPACE(**((unsigned char **)s))) ++*s;
+  while(ISSPACE(**((const unsigned char **)s))) ++*s;
   switch(**s)
   {
   case '!':
@@ -1143,7 +1143,7 @@ static void internal_parse_typeB(char **s)
   case '(':
     ++*s;
     internal_parse_type(s);
-    while(ISSPACE(**((unsigned char **)s))) ++*s;
+    while(ISSPACE(**((const unsigned char **)s))) ++*s;
     if(**s != ')') Pike_error("Expecting ')'.\n");
     ++*s;
     break;
@@ -1154,21 +1154,21 @@ static void internal_parse_typeB(char **s)
   }
 }
 
-static void internal_parse_typeCC(char **s)
+static void internal_parse_typeCC(const char **s)
 {
   internal_parse_typeB(s);
 
-  while(ISSPACE(**((unsigned char **)s))) ++*s;
+  while(ISSPACE(**((const unsigned char **)s))) ++*s;
   
   while(**s == '*')
   {
     ++*s;
-    while(ISSPACE(**((unsigned char **)s))) ++*s;
+    while(ISSPACE(**((const unsigned char **)s))) ++*s;
     push_type(T_ARRAY);
   }
 }
 
-static void internal_parse_typeC(char **s)
+static void internal_parse_typeC(const char **s)
 {
   internal_parse_typeCC(s);
 
@@ -1180,7 +1180,7 @@ static void internal_parse_typeC(char **s)
   }
 }
 
-static void internal_parse_type(char **s)
+static void internal_parse_type(const char **s)
 {
   internal_parse_typeC(s);
 
@@ -1197,7 +1197,7 @@ static void internal_parse_type(char **s)
  * It takes a string on the exact same format as Pike and returns a type
  * struct.
  */
-struct pike_type *parse_type(char *s)
+struct pike_type *parse_type(const char *s)
 {
   struct pike_type *ret;
 #ifdef PIKE_DEBUG
diff --git a/src/pike_types.h b/src/pike_types.h
index ae14c79b8eccf72cb39d62b89f9ca4e6e4cdcb42..0b1b15716cce399d6891708505041f5d242b0bfc 100644
--- a/src/pike_types.h
+++ b/src/pike_types.h
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: pike_types.h,v 1.80 2002/09/11 14:03:50 marcus Exp $
+ * $Id: pike_types.h,v 1.81 2002/09/12 13:15:49 marcus Exp $
  */
 #ifndef PIKE_TYPES_H
 #define PIKE_TYPES_H
@@ -239,7 +239,7 @@ void debug_push_finished_type_backwards(struct pike_type *type);
 struct pike_type *debug_pop_unfinished_type(void);
 struct pike_type *debug_pop_type(void);
 struct pike_type *debug_compiler_pop_type(void);
-struct pike_type *parse_type(char *s);
+struct pike_type *parse_type(const char *s);
 void stupid_describe_type(char *a, ptrdiff_t len);
 void simple_describe_type(struct pike_type *s);
 void my_describe_type(struct pike_type *type);
diff --git a/src/port.c b/src/port.c
index 5c1fe5b68501772c60d5c293af934e8f6d635e53..e2e16b16d6ee439b575921c8189e46e8d4cb00ea 100644
--- a/src/port.c
+++ b/src/port.c
@@ -22,7 +22,7 @@
 #include <float.h>
 #include <string.h>
 
-RCSID("$Id: port.c,v 1.52 2002/08/15 14:49:24 marcus Exp $");
+RCSID("$Id: port.c,v 1.53 2002/09/12 13:15:49 marcus Exp $");
 
 #ifdef sun
 time_t time PROT((time_t *));
@@ -131,14 +131,14 @@ PMOD_EXPORT unsigned long my_rand(void)
 			islower(x) ? (x) + 10 - 'a' : (x) + 10 - 'A')
 #define MBASE	('z' - 'a' + 1 + 10)
 
-long STRTOL(char *str,char **ptr,int base)
+long STRTOL(const char *str,char **ptr,int base)
 {
   register long val;
   register int c;
   int xx, neg = 0;
 
   if (ptr != (char **)0)
-    *ptr = str;			/* in case no number is formed */
+    *ptr = (char *)str;		/* in case no number is formed */
   if (base < 0 || base > MBASE)
     return (0);			/* base is invalid -- should be a fatal error */
   if (!isalnum(c = *str)) {
@@ -165,14 +165,14 @@ long STRTOL(char *str,char **ptr,int base)
    */
   if (!isalnum(c) || (xx = DIGIT(c)) >= base)
     return (0);			/* no number formed */
-  if (base == 16 && c == '0' && isxdigit(((unsigned char *)str)[2]) &&
+  if (base == 16 && c == '0' && isxdigit(((const unsigned char *)str)[2]) &&
       (str[1] == 'x' || str[1] == 'X'))
     c = *(str += 2);		/* skip over leading "0x" or "0X" */
   for (val = -DIGIT(c); isalnum(c = *++str) && (xx = DIGIT(c)) < base; )
     /* accumulate neg avoids surprises near MAXLONG */
     val = base * val - xx;
   if (ptr != (char **)0)
-    *ptr = str;
+    *ptr = (char *)str;
   return (neg ? val : -val);
 }
 
@@ -410,9 +410,9 @@ PMOD_EXPORT char *STRTOK(char *s1,char *s2)
 
 /* Convert NPTR to a double.  If ENDPTR is not NULL, a pointer to the
    character after the last one used in the number is put in *ENDPTR.  */
-PMOD_EXPORT double STRTOD(char * nptr, char **endptr)
+PMOD_EXPORT double STRTOD(const char * nptr, char **endptr)
 {
-  register unsigned char *s;
+  register const unsigned char *s;
   short int sign;
 
   /* The number so far.  */
@@ -430,7 +430,7 @@ PMOD_EXPORT double STRTOD(char * nptr, char **endptr)
     goto noconv;
   }
 
-  s = (unsigned char *)nptr;
+  s = (const unsigned char *)nptr;
 
   /* Eat whitespace.  */
   while (ISSPACE(*s)) ++s;
@@ -488,7 +488,7 @@ PMOD_EXPORT double STRTOD(char * nptr, char **endptr)
 
       errno = 0;
       ++s;
-      exp = STRTOL((char *)s, &end, 10);
+      exp = STRTOL((const char *)s, &end, 10);
       if (errno == ERANGE)
       {
 	/* The exponent overflowed a `long int'.  It is probably a safe
diff --git a/src/port.h b/src/port.h
index 0409c51296aa2dc80ea274a7f4456e3b1f03f52e..03e929205a6ed72e4218965fafff7105b0286b06 100644
--- a/src/port.h
+++ b/src/port.h
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: port.h,v 1.43 2002/05/31 22:41:26 nilsson Exp $
+ * $Id: port.h,v 1.44 2002/09/12 13:15:49 marcus Exp $
  */
 #ifndef PORT_H
 #define PORT_H
@@ -60,8 +60,8 @@ time_t TIME(time_t *);
 #define RINT rint
 #endif
 
-long STRTOL(char *str,char **ptr,int base);
-PMOD_EXPORT double STRTOD(char * nptr, char **endptr);
+long STRTOL(const char *str,char **ptr,int base);
+PMOD_EXPORT double STRTOD(const char * nptr, char **endptr);
 
 #ifndef HAVE_STRCSPN
 int STRCSPN(const char *s,const char * set);
@@ -181,15 +181,15 @@ PMOD_EXPORT int VSPRINTF(char *buf,char *fmt,va_list args);
 
 
 #ifdef EXTRACT_UCHAR_BY_CAST
-#  define EXTRACT_UCHAR(p) (*(unsigned char *)(p))
+#  define EXTRACT_UCHAR(p) (*(const unsigned char *)(p))
 #else
 #  define EXTRACT_UCHAR(p) (0xff & (int)*(p))
 #endif
 
 #ifdef EXTRACT_CHAR_BY_CAST
-#  define EXTRACT_CHAR(p) (*(signed char *)(p))
+#  define EXTRACT_CHAR(p) (*(const signed char *)(p))
 #else
-static INLINE int EXTRACT_CHAR(char *p) { return *p > 0x7f ? *p - 0x100 : *p; }
+static INLINE int EXTRACT_CHAR(const char *p) { return *p > 0x7f ? *p - 0x100 : *p; }
 #endif
 
 #ifdef HANDLES_UNALIGNED_MEMORY_ACCESS
diff --git a/src/program.c b/src/program.c
index a102575cbe17ea6f5a7db5efd47c18c86b142dac..a32a0fe0e64bb1c4114035ad3975df2d151600d5 100644
--- a/src/program.c
+++ b/src/program.c
@@ -5,7 +5,7 @@
 \*/
 /**/
 #include "global.h"
-RCSID("$Id: program.c,v 1.442 2002/09/11 16:03:32 mast Exp $");
+RCSID("$Id: program.c,v 1.443 2002/09/12 13:15:49 marcus Exp $");
 #include "program.h"
 #include "object.h"
 #include "dynamic_buffer.h"
@@ -1792,7 +1792,7 @@ void low_start_new_program(struct program *p,
   debug_malloc_touch(Pike_compiler->fake_object->storage);
 }
 
-PMOD_EXPORT void debug_start_new_program(int line, char *file)
+PMOD_EXPORT void debug_start_new_program(int line, const char *file)
 {
   struct pike_string *save_file = lex.current_file;
   int save_line = lex.current_line;
@@ -3381,8 +3381,8 @@ int low_define_variable(struct pike_string *name,
   return n;
 }
 
-PMOD_EXPORT int map_variable(char *name,
-		 char *type,
+PMOD_EXPORT int map_variable(const char *name,
+		 const char *type,
 		 INT32 flags,
 		 size_t offset,
 		 INT32 run_time_type)
@@ -3404,10 +3404,10 @@ PMOD_EXPORT int map_variable(char *name,
   return ret;
 }
 
-PMOD_EXPORT int quick_map_variable(char *name,
+PMOD_EXPORT int quick_map_variable(const char *name,
 		       int name_length,
 		       size_t offset,
-		       char *type,
+		       const char *type,
 		       int type_length,
 		       INT32 run_time_type,
 		       INT32 flags)
@@ -3586,9 +3586,9 @@ int define_variable(struct pike_string *name,
   return n;
 }
 
-PMOD_EXPORT int simple_add_variable(char *name,
-			char *type,
-			INT32 flags)
+PMOD_EXPORT int simple_add_variable(const char *name,
+				    const char *type,
+				    INT32 flags)
 {
   INT32 ret;
   struct pike_string *name_s;
@@ -3823,7 +3823,7 @@ PMOD_EXPORT int add_constant(struct pike_string *name,
   return n;
 }
 
-PMOD_EXPORT int simple_add_constant(char *name,
+PMOD_EXPORT int simple_add_constant(const char *name,
 			struct svalue *c,
 			INT32 flags)
 {
@@ -3835,7 +3835,7 @@ PMOD_EXPORT int simple_add_constant(char *name,
   return ret;
 }
 
-PMOD_EXPORT int add_integer_constant(char *name,
+PMOD_EXPORT int add_integer_constant(const char *name,
 			 INT32 i,
 			 INT32 flags)
 {
@@ -3846,7 +3846,7 @@ PMOD_EXPORT int add_integer_constant(char *name,
   return simple_add_constant(name, &tmp, flags);
 }
 
-PMOD_EXPORT int quick_add_integer_constant(char *name,
+PMOD_EXPORT int quick_add_integer_constant(const char *name,
 			       int name_length,
 			       INT32 i,
 			       INT32 flags)
@@ -3864,7 +3864,7 @@ PMOD_EXPORT int quick_add_integer_constant(char *name,
   return ret;
 }
 
-PMOD_EXPORT int add_float_constant(char *name,
+PMOD_EXPORT int add_float_constant(const char *name,
 			 double f,
 			 INT32 flags)
 {
@@ -3875,9 +3875,9 @@ PMOD_EXPORT int add_float_constant(char *name,
   return simple_add_constant(name, &tmp, flags);
 }
 
-PMOD_EXPORT int add_string_constant(char *name,
-			char *str,
-			INT32 flags)
+PMOD_EXPORT int add_string_constant(const char *name,
+				    const char *str,
+				    INT32 flags)
 {
   INT32 ret;
   struct svalue tmp;
@@ -3889,7 +3889,7 @@ PMOD_EXPORT int add_string_constant(char *name,
   return ret;
 }
 
-PMOD_EXPORT int add_program_constant(char *name,
+PMOD_EXPORT int add_program_constant(const char *name,
 			 struct program *p,
 			 INT32 flags)
 {
@@ -3902,7 +3902,7 @@ PMOD_EXPORT int add_program_constant(char *name,
   return ret;
 }
 
-PMOD_EXPORT int add_object_constant(char *name,
+PMOD_EXPORT int add_object_constant(const char *name,
 			struct object *o,
 			INT32 flags)
 {
@@ -3915,7 +3915,8 @@ PMOD_EXPORT int add_object_constant(char *name,
   return ret;
 }
 
-PMOD_EXPORT int add_function_constant(char *name, void (*cfun)(INT32), char * type, INT16 flags)
+PMOD_EXPORT int add_function_constant(const char *name, void (*cfun)(INT32),
+				      const char * type, INT16 flags)
 {
   struct svalue s;
   INT32 ret;
@@ -3929,7 +3930,7 @@ PMOD_EXPORT int add_function_constant(char *name, void (*cfun)(INT32), char * ty
 }
 
 
-PMOD_EXPORT int debug_end_class(char *name, ptrdiff_t namelen, INT32 flags)
+PMOD_EXPORT int debug_end_class(const char *name, ptrdiff_t namelen, INT32 flags)
 {
   INT32 ret;
   struct svalue tmp;
@@ -5768,8 +5769,8 @@ struct program *compile(struct pike_string *aprog,
   }
 }
 
-PMOD_EXPORT int pike_add_function2(char *name, void (*cfun)(INT32),
-				   char *type, unsigned INT8 flags,
+PMOD_EXPORT int pike_add_function2(const char *name, void (*cfun)(INT32),
+				   const char *type, unsigned INT8 flags,
 				   unsigned INT16 opt_flags)
 {
   int ret;
@@ -5802,10 +5803,10 @@ PMOD_EXPORT int pike_add_function2(char *name, void (*cfun)(INT32),
   return ret;
 }
 
-PMOD_EXPORT int quick_add_function(char *name,
+PMOD_EXPORT int quick_add_function(const char *name,
 				   int name_length,
 				   void (*cfun)(INT32),
-				   char *type,
+				   const char *type,
 				   int type_length,
 				   unsigned INT8 flags,
 				   unsigned INT16 opt_flags)
diff --git a/src/program.h b/src/program.h
index cb74987c6169cdf5e3d25b4325616ac90a54f1f6..27f6552002829163707a11361901828d55c48ea0 100644
--- a/src/program.h
+++ b/src/program.h
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: program.h,v 1.165 2002/09/11 16:03:32 mast Exp $
+ * $Id: program.h,v 1.166 2002/09/12 13:15:50 marcus Exp $
  */
 #ifndef PROGRAM_H
 #define PROGRAM_H
@@ -465,7 +465,7 @@ void low_start_new_program(struct program *p,
 			   struct pike_string *name,
 			   int flags,
 			   int *idp);
-PMOD_EXPORT void debug_start_new_program(int line, char *file);
+PMOD_EXPORT void debug_start_new_program(int line, const char *file);
 void dump_program_desc(struct program *p);
 int sizeof_variable(int run_time_type);
 void dump_program_tables (struct program *p, int indent);
@@ -510,51 +510,51 @@ int low_define_variable(struct pike_string *name,
 			INT32 flags,
 			size_t offset,
 			INT32 run_time_type);
-PMOD_EXPORT int map_variable(char *name,
-		 char *type,
+PMOD_EXPORT int map_variable(const char *name,
+		 const char *type,
 		 INT32 flags,
 		 size_t offset,
 		 INT32 run_time_type);
-PMOD_EXPORT int quick_map_variable(char *name,
+PMOD_EXPORT int quick_map_variable(const char *name,
 		       int name_length,
 		       size_t offset,
-		       char *type,
+		       const char *type,
 		       int type_length,
 		       INT32 run_time_type,
 		       INT32 flags);
 int define_variable(struct pike_string *name,
 		    struct pike_type *type,
 		    INT32 flags);
-PMOD_EXPORT int simple_add_variable(char *name,
-			char *type,
+PMOD_EXPORT int simple_add_variable(const char *name,
+			const char *type,
 			INT32 flags);
 PMOD_EXPORT int add_constant(struct pike_string *name,
 		 struct svalue *c,
 		 INT32 flags);
-PMOD_EXPORT int simple_add_constant(char *name,
+PMOD_EXPORT int simple_add_constant(const char *name,
 			struct svalue *c,
 			INT32 flags);
-PMOD_EXPORT int add_integer_constant(char *name,
+PMOD_EXPORT int add_integer_constant(const char *name,
 			 INT32 i,
 			 INT32 flags);
-PMOD_EXPORT int quick_add_integer_constant(char *name,
+PMOD_EXPORT int quick_add_integer_constant(const char *name,
 			       int name_length,
 			       INT32 i,
 			       INT32 flags);
-PMOD_EXPORT int add_float_constant(char *name,
+PMOD_EXPORT int add_float_constant(const char *name,
 			 double f,
 			 INT32 flags);
-PMOD_EXPORT int add_string_constant(char *name,
-			char *str,
+PMOD_EXPORT int add_string_constant(const char *name,
+			const char *str,
 			INT32 flags);
-PMOD_EXPORT int add_program_constant(char *name,
+PMOD_EXPORT int add_program_constant(const char *name,
 			 struct program *p,
 			 INT32 flags);
-PMOD_EXPORT int add_object_constant(char *name,
+PMOD_EXPORT int add_object_constant(const char *name,
 			struct object *o,
 			INT32 flags);
-PMOD_EXPORT int add_function_constant(char *name, void (*cfun)(INT32), char * type, INT16 flags);
-PMOD_EXPORT int debug_end_class(char *name, ptrdiff_t namelen, INT32 flags);
+PMOD_EXPORT int add_function_constant(const char *name, void (*cfun)(INT32), const char * type, INT16 flags);
+PMOD_EXPORT int debug_end_class(const char *name, ptrdiff_t namelen, INT32 flags);
 INT32 define_function(struct pike_string *name,
 		      struct pike_type *type,
 		      unsigned INT16 flags,
@@ -592,7 +592,7 @@ PMOD_EXPORT struct pike_string *get_line(PIKE_OPCODE_T *pc,
 void my_yyerror(char *fmt,...)  ATTRIBUTE((format(printf,1,2)));
 void yy_describe_exception(struct svalue *thrown);
 struct supporter_marker;
-void verify_supporters();
+void verify_supporters(void);
 void init_supporter(struct Supporter *s,
 		    supporter_callback *fun,
 		    void *data);
@@ -606,13 +606,13 @@ struct program *compile(struct pike_string *aprog,
 			int amajor, int aminor,
 			struct program *atarget,
 			struct object *aplaceholder);
-PMOD_EXPORT int pike_add_function2(char *name, void (*cfun)(INT32),
-				   char *type, unsigned INT8 flags,
+PMOD_EXPORT int pike_add_function2(const char *name, void (*cfun)(INT32),
+				   const char *type, unsigned INT8 flags,
 				   unsigned INT16 opt_flags);
-PMOD_EXPORT int quick_add_function(char *name,
+PMOD_EXPORT int quick_add_function(const char *name,
 				   int name_length,
 				   void (*cfun)(INT32),
-				   char *type,
+				   const char *type,
 				   int type_length,
 				   unsigned INT8 flags,
 				   unsigned INT16 opt_flags);