diff --git a/src/builtin_functions.c b/src/builtin_functions.c
index 77ea9aafef4121379296478407a0fb5bcdd7630c..8d30256266e1268f9a832a69b41a8bce9285f081 100644
--- a/src/builtin_functions.c
+++ b/src/builtin_functions.c
@@ -2,11 +2,11 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: builtin_functions.c,v 1.519 2003/11/14 10:13:39 mast Exp $
+|| $Id: builtin_functions.c,v 1.520 2003/11/14 11:00:44 mast Exp $
 */
 
 #include "global.h"
-RCSID("$Id: builtin_functions.c,v 1.519 2003/11/14 10:13:39 mast Exp $");
+RCSID("$Id: builtin_functions.c,v 1.520 2003/11/14 11:00:44 mast Exp $");
 #include "interpret.h"
 #include "svalue.h"
 #include "pike_macros.h"
@@ -1644,7 +1644,7 @@ PMOD_EXPORT void f_unicode_to_string(INT32 args)
  *!   @[Locale.Charset.encoder()], @[string_to_unicode()],
  *!   @[unicode_to_string()], @[utf8_to_string()]
  */
-void f_string_to_utf8(INT32 args)
+PMOD_EXPORT void f_string_to_utf8(INT32 args)
 {
   ptrdiff_t len;
   struct pike_string *in;
@@ -5848,7 +5848,7 @@ PMOD_EXPORT void f_diff(INT32 args)
  *! @seealso
  *!   @[diff()], @[diff_longest_sequence()], @[String.fuzzymatch()]
  */
-void f_diff_compare_table(INT32 args)
+PMOD_EXPORT void f_diff_compare_table(INT32 args)
 {
   struct array *a;
   struct array *b;
@@ -5870,7 +5870,7 @@ void f_diff_compare_table(INT32 args)
  *! @seealso
  *!   @[diff()], @[diff_compare_table()], @[String.fuzzymatch()]
  */
-void f_diff_longest_sequence(INT32 args)
+PMOD_EXPORT void f_diff_longest_sequence(INT32 args)
 {
   struct array *a;
   struct array *b;
@@ -5902,7 +5902,7 @@ void f_diff_longest_sequence(INT32 args)
  *!   @[diff_longest_sequence()], @[diff()], @[diff_compare_table()],
  *!   @[String.fuzzymatch()]
  */
-void f_diff_dyn_longest_sequence(INT32 args)
+PMOD_EXPORT void f_diff_dyn_longest_sequence(INT32 args)
 {
   struct array *a;
   struct array *b;
@@ -6171,7 +6171,7 @@ PMOD_EXPORT void f__refs(INT32 args)
   push_int(i);
 }
 
-
+#ifdef PIKE_DEBUG
 /* This function is for debugging *ONLY*
  * do not document please. /Hubbe
  */
@@ -6192,6 +6192,7 @@ PMOD_EXPORT void f__leak(INT32 args)
   pop_n_elems(args);
   push_int(i);
 }
+#endif
 
 /*! @decl type _typeof(mixed x)
  *!
@@ -6587,7 +6588,7 @@ PMOD_EXPORT void f_splice(INT32 args)
  *! @seealso
  *!   @[splice()], @[`/()]
  */
-void f_everynth(INT32 args)
+PMOD_EXPORT void f_everynth(INT32 args)
 {
   INT32 k,n=2;
   INT32 start=0;
@@ -7890,7 +7891,9 @@ void init_builtin_efuns(void)
 #endif /* PROFILING */
 
   ADD_EFUN("_refs",f__refs,tFunc(tRef,tInt),OPT_EXTERNAL_DEPEND);
+#ifdef PIKE_DEBUG
   ADD_EFUN("_leak",f__leak,tFunc(tRef,tInt),OPT_EXTERNAL_DEPEND);
+#endif
   ADD_EFUN("_typeof", f__typeof, tFunc(tSetvar(0, tMix), tType(tVar(0))), 0);
 
   /* class __master
diff --git a/src/builtin_functions.h b/src/builtin_functions.h
index db249a15c1a4ca331904cdfa250ec56d29d50338..8ed9d4c5f35ebb825bddeba7e35c40c835d4a066 100644
--- a/src/builtin_functions.h
+++ b/src/builtin_functions.h
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: builtin_functions.h,v 1.28 2003/11/14 03:50:55 mast Exp $
+|| $Id: builtin_functions.h,v 1.29 2003/11/14 11:00:44 mast Exp $
 */
 
 #ifndef BUILTIN_EFUNS_H
@@ -35,10 +35,13 @@ PMOD_EXPORT void f_random_string (INT32 args);
 PMOD_EXPORT void f_random_seed(INT32 args);
 PMOD_EXPORT void f_query_num_arg(INT32 args);
 PMOD_EXPORT void f_search(INT32 args);
+PMOD_EXPORT void f_has_prefix(INT32 args);
+PMOD_EXPORT void f_has_suffix(INT32 args);
 PMOD_EXPORT void f_has_index(INT32 args);
 PMOD_EXPORT void f_has_value(INT32 args);
 PMOD_EXPORT void f_add_constant(INT32 args);
-PMOD_EXPORT void f_combine_path(INT32 args);
+PMOD_EXPORT void f_combine_path_nt(INT32 args);
+PMOD_EXPORT void f_combine_path_unix(INT32 args);
 PMOD_EXPORT void f_zero_type(INT32 args);
 PMOD_EXPORT void f_string_to_unicode(INT32 args);
 PMOD_EXPORT void f_unicode_to_string(INT32 args);
@@ -46,11 +49,10 @@ PMOD_EXPORT void f_string_to_utf8(INT32 args);
 PMOD_EXPORT void f_utf8_to_string(INT32 args);
 PMOD_EXPORT void f_all_constants(INT32 args);
 PMOD_EXPORT void f_allocate(INT32 args);
-PMOD_EXPORT void f_rusage(INT32 args);
-PMOD_EXPORT void f_this_object(INT32 args);
+void f_this_object(INT32 args);
 PMOD_EXPORT void f_throw(INT32 args);
 PMOD_EXPORT void f_exit(INT32 args);
-PMOD_EXPORT void f__exit(INT32 args);
+void f__exit(INT32 args);
 PMOD_EXPORT void f_time(INT32 args);
 PMOD_EXPORT void f_crypt(INT32 args);
 PMOD_EXPORT void f_destruct(INT32 args);
@@ -64,8 +66,10 @@ PMOD_EXPORT void f_replace(INT32 args);
 PMOD_EXPORT void f_compile(INT32 args);
 PMOD_EXPORT void f_objectp(INT32 args);
 PMOD_EXPORT void f_functionp(INT32 args);
+PMOD_EXPORT void f_callablep(INT32 args);
 PMOD_EXPORT void f_sleep(INT32 args);
-PMOD_EXPORT void f_gc(INT32 args);
+PMOD_EXPORT void f_delay(INT32 args);
+void f_gc(INT32 args);
 PMOD_EXPORT void f_programp(INT32 args);
 TYPEP(f_intp, "intpp", PIKE_T_INT)
 TYPEP(f_mappingp, "mappingp", PIKE_T_MAPPING)
@@ -77,9 +81,12 @@ PMOD_EXPORT void f_sort(INT32 args);
 PMOD_EXPORT void f_rows(INT32 args);
 PMOD_EXPORT void f__verify_internals(INT32 args);
 PMOD_EXPORT void f__debug(INT32 args);
+PMOD_EXPORT void f__optimizer_debug(INT32 args);
+PMOD_EXPORT void f__assembler_debug(INT32 args);
 PMOD_EXPORT void f__compiler_trace(INT32 args);
 PMOD_EXPORT void f_gmtime(INT32 args);
 PMOD_EXPORT void f_localtime(INT32 args);
+PMOD_EXPORT void f_mktime (INT32 args);
 PMOD_EXPORT void f_glob(INT32 args);
 PMOD_EXPORT void f_permute(INT32 args);
 struct diff_magic_link;
@@ -96,17 +103,29 @@ PMOD_EXPORT void f__memory_usage(INT32 args);
 PMOD_EXPORT void f__next(INT32 args);
 PMOD_EXPORT void f__prev(INT32 args);
 PMOD_EXPORT void f__refs(INT32 args);
+PMOD_EXPORT void f__leak(INT32 args);
+PMOD_EXPORT void f__typeof(INT32 args);
 PMOD_EXPORT void f_replace_master(INT32 args);
 PMOD_EXPORT void f_master(INT32 args);
 PMOD_EXPORT void f_gethrvtime(INT32 args);
 PMOD_EXPORT void f_gethrtime(INT32 args);
 PMOD_EXPORT void f_object_variablep(INT32 args);
+PMOD_EXPORT void f_uniq_array(INT32 args);
 PMOD_EXPORT void f_splice(INT32 args);
 PMOD_EXPORT void f_everynth(INT32 args);
 PMOD_EXPORT void f_transpose(INT32 args);
 PMOD_EXPORT void f__reset_dmalloc(INT32 args);
+PMOD_EXPORT void f__dmalloc_set_name(INT32 args);
+PMOD_EXPORT void f__list_open_fds(INT32 args);
 PMOD_EXPORT void f__locate_references(INT32 args);
+PMOD_EXPORT void f__describe(INT32 args);
+PMOD_EXPORT void f__gc_set_watch(INT32 args);
+PMOD_EXPORT void f__dump_backlog(INT32 args);
 PMOD_EXPORT void f_map_array(INT32 args);
+PMOD_EXPORT void f_map(INT32 args);
+PMOD_EXPORT void f_filter(INT32 args);
+PMOD_EXPORT void f_inherit_list(INT32 args);
+PMOD_EXPORT void f_function_defined(INT32 args);
 void init_builtin_efuns(void);
 
 /* From iterators.cmod. */
@@ -114,31 +133,31 @@ PMOD_EXPORT void f_get_iterator(INT32 args);
 int foreach_iterate(struct object *o, int do_step);
 
 /* From builtin.cmod. */
-PMOD_EXPORT void f_cq__describe_program(INT32 args);
-PMOD_EXPORT void f_basetype(INT32 args);
-PMOD_EXPORT void f_int2char(INT32 args);
-PMOD_EXPORT void f_int2hex(INT32 args);
-PMOD_EXPORT void f_string2hex(INT32 args);
-PMOD_EXPORT void f_hex2string(INT32 args);
-PMOD_EXPORT void f_column(INT32 args);
-PMOD_EXPORT void f_mkmultiset(INT32 args);
-PMOD_EXPORT void f_trace(INT32 args);
-PMOD_EXPORT void f_gc_parameters(INT32 args);
-PMOD_EXPORT void f_ctime(INT32 args);
-PMOD_EXPORT void f_mkmapping(INT32 args);
-PMOD_EXPORT void f_string_count(INT32 args);
-PMOD_EXPORT void f_string_trim_whites(INT32 args);
-PMOD_EXPORT void f_string_trim_all_whites(INT32 args);
-PMOD_EXPORT void f_program_implements(INT32 args);
-PMOD_EXPORT void f_program_inherits(INT32 args);
-PMOD_EXPORT void f_program_defined(INT32 args);
-PMOD_EXPORT void f_string_width(INT32 args);
-PMOD_EXPORT void f_m_delete(INT32 args);
-PMOD_EXPORT void f_get_weak_flag(INT32 args);
-PMOD_EXPORT void f_function_name(INT32 args);
-PMOD_EXPORT void f_function_object(INT32 args);
-PMOD_EXPORT void f_function_program(INT32 args);
-PMOD_EXPORT void f_random(INT32 args);
+void f_cq__describe_program(INT32 args);
+void f_basetype(INT32 args);
+void f_int2char(INT32 args);
+void f_int2hex(INT32 args);
+void f_string2hex(INT32 args);
+void f_hex2string(INT32 args);
+void f_column(INT32 args);
+void f_mkmultiset(INT32 args);
+void f_trace(INT32 args);
+void f_gc_parameters(INT32 args);
+void f_ctime(INT32 args);
+void f_mkmapping(INT32 args);
+void f_string_count(INT32 args);
+void f_string_trim_whites(INT32 args);
+void f_string_trim_all_whites(INT32 args);
+void f_program_implements(INT32 args);
+void f_program_inherits(INT32 args);
+void f_program_defined(INT32 args);
+void f_string_width(INT32 args);
+void f_m_delete(INT32 args);
+void f_get_weak_flag(INT32 args);
+void f_function_name(INT32 args);
+void f_function_object(INT32 args);
+void f_function_program(INT32 args);
+void f_random(INT32 args);
 PMOD_EXPORT void f_backtrace(INT32 args);
 void init_builtin(void);
 void exit_builtin(void);