diff --git a/src/builtin.cmod b/src/builtin.cmod
index dee4ccdd2b61ce7c643da04dbf4d8575d5a080e0..b5a9ba8e54b6eabdc0881d14a7e2f4525e0b8daa 100644
--- a/src/builtin.cmod
+++ b/src/builtin.cmod
@@ -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.cmod,v 1.215 2008/06/27 11:28:39 grubba Exp $
+|| $Id: builtin.cmod,v 1.216 2008/06/28 22:05:01 mast Exp $
 */
 
 #include "global.h"
@@ -2856,7 +2856,7 @@ PIKECLASS Time
     f_Time_cq__backtick_2D_3E( args );
   }
 
-  /*! @decl static void create( int fast );
+  /*! @decl protected void create( int fast );
    *!
    *! If @[fast] is true, do not request a new time from the system,
    *! instead use the global current time variable.
@@ -2907,7 +2907,7 @@ PIKECLASS Timer
     return;
   }
 
-  /*! @decl static void create( int|void fast )
+  /*! @decl protected void create( int|void fast )
    *!   Create a new timer object. The timer keeps track of relative time
    *!   with sub-second precision.
    *!   
diff --git a/src/builtin_functions.c b/src/builtin_functions.c
index a01f1060b82839cf6d2f7fdbfed28b2c2c045404..6e982a1f597b2fb36fd138980f7bf86273d05f07 100644
--- a/src/builtin_functions.c
+++ b/src/builtin_functions.c
@@ -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.c,v 1.676 2008/06/26 11:44:25 grubba Exp $
+|| $Id: builtin_functions.c,v 1.677 2008/06/28 22:05:03 mast Exp $
 */
 
 #include "global.h"
@@ -2885,12 +2885,12 @@ PMOD_EXPORT void f_destruct(INT32 args)
  *!   For strings and arrays this is simply an array of ascending
  *!   numbers.
  *!
- *!   For mappings and multisets, the array may contain any value.
+ *!   For mappings and multisets, the array might contain any value.
  *!
  *!   For objects which define @[lfun::_indices()] that return value
- *!   will be used.
+ *!   is used.
  *!
- *!   For other objects an array with all non-static symbols will be
+ *!   For other objects an array with all non-protected symbols is
  *!   returned.
  *!
  *! @seealso
@@ -3189,10 +3189,10 @@ static node *fix_aggregate_mapping_type(node *n)
  *!   For mappings the array may contain any value.
  *!
  *!   For objects which define @[lfun::_values()] that return value
- *!   will be used.
+ *!   is used.
  *!
- *!   For other objects an array with the values of all non-static
- *!   symbols will be returned.
+ *!   For other objects an array with the values of all non-protected
+ *!   symbols is returned.
  *!
  *! @seealso
  *!   @[indices()]
@@ -7568,8 +7568,9 @@ static void f_get_prof_info(INT32 args)
  *!   Find out if an object identifier is a variable.
  *!
  *! @returns
- *!   This function returns @expr{1@} if @[var] exists as a non-static variable
- *!   in @[o], and returns @expr{0@} (zero) otherwise.
+ *!   This function returns @expr{1@} if @[var] exists as a
+ *!   non-protected variable in @[o], and returns @expr{0@} (zero)
+ *!   otherwise.
  *!
  *! @seealso
  *!   @[indices()], @[values()]
diff --git a/src/iterators.cmod b/src/iterators.cmod
index c36c46573143af465616ecdf581788630412ceb1..434ae7ab1e8337edeb40d5e6417fefb0611f5af6 100644
--- a/src/iterators.cmod
+++ b/src/iterators.cmod
@@ -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: iterators.cmod,v 1.68 2008/05/29 21:58:44 mast Exp $
+|| $Id: iterators.cmod,v 1.69 2008/06/28 22:05:03 mast Exp $
 */
 
 #include "global.h"
@@ -85,7 +85,7 @@ PIKECLASS Iterator
    *! if there is any.
    *!
    *! The iterator does not need to support being reused, so this
-   *! function is typically static.
+   *! function is typically protected.
    */
   PIKEFUN void create(void|mixed data)
     flags ID_STATIC;
diff --git a/src/language.yacc b/src/language.yacc
index 363d8b18cb7144b661dc262aca421acd35b9bc02..2bc3e77470d56ad1e47c57113fbd6c825581a7d9 100644
--- a/src/language.yacc
+++ b/src/language.yacc
@@ -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: language.yacc,v 1.437 2008/06/26 12:47:10 grubba Exp $
+|| $Id: language.yacc,v 1.438 2008/06/28 22:05:04 mast Exp $
 */
 
 %pure_parser
@@ -4586,10 +4586,10 @@ static void mark_lvalues_as_used(node *n)
  * 'type' and 'initializer', but not to 'name'.
  * Note also that 'initializer' may be NULL.
  */
-static node *add_static_variable(struct pike_string *name,
-				 struct pike_type *type,
-				 int depth,
-				 node *initializer)
+static node *add_protected_variable(struct pike_string *name,
+				    struct pike_type *type,
+				    int depth,
+				    node *initializer)
 {
   struct compiler_frame *f = Pike_compiler->compiler_frame;
   int i;
@@ -4610,7 +4610,7 @@ static node *add_static_variable(struct pike_string *name,
     struct pike_string *tmp_name;
     while (i--) {
       if (!p->previous) {
-	my_yyerror("Too many levels of static (%d, max:%d).",
+	my_yyerror("Too many levels of protected (%d, max:%d).",
 		   depth, depth - (i+1));
 	parent_depth -= i+1;
 	break;
@@ -4621,7 +4621,7 @@ static node *add_static_variable(struct pike_string *name,
     
     tmp_name = get_new_name();
     id = define_parent_variable(p, tmp_name, type,
-				ID_STATIC|ID_PRIVATE|ID_INLINE);
+				ID_PROTECTED|ID_PRIVATE|ID_INLINE);
     free_string(tmp_name);
     if (id >= 0) {
       if (def) {
@@ -4643,7 +4643,7 @@ static node *add_static_variable(struct pike_string *name,
       f->min_number_of_locals = id+1;
     if (initializer) {
       /* FIXME! */
-      yyerror("Initializers not yet supported for static variables with function scope.");
+      yyerror("Initializers not yet supported for protected variables with function scope.");
     }
     n = mklocalnode(id, depth);
   }
diff --git a/src/mklibpike.pike b/src/mklibpike.pike
index 95d5ea50fcaf080d04d818b6ed06a449d8955020..6e28a5caaa1b34301265a673bd638b02d568a378 100644
--- a/src/mklibpike.pike
+++ b/src/mklibpike.pike
@@ -1,5 +1,5 @@
 /*
- * $Id: mklibpike.pike,v 1.4 2005/01/03 18:57:29 grubba Exp $
+ * $Id: mklibpike.pike,v 1.5 2008/06/28 22:05:04 mast Exp $
  *
  * Create strapping code for a list of symbols in pike.so,
  * and the pike headerfiles.
@@ -183,7 +183,7 @@ int main(int argc, array(string) argv)
     }
     string rettype = String.trim_whites(Parser.C.simple_reconstitute(info[0]));
     string params = Parser.C.simple_reconstitute(info[1]);
-    out->write("static %s (*vec_%s)%s;\n"
+    out->write("protected %s (*vec_%s)%s;\n"
 	       "%s %s%s\n"
 	       "{\n"
 	       // FIXME: Code to resolve the symbol here.
diff --git a/src/operators.c b/src/operators.c
index 62ca2110c9de80ba6a51f2e5fe79f8e780e9cb20..3856789df2b6dcfa1655837e6628edb52360c761 100644
--- a/src/operators.c
+++ b/src/operators.c
@@ -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: operators.c,v 1.234 2008/06/16 21:52:24 mast Exp $
+|| $Id: operators.c,v 1.235 2008/06/28 22:05:04 mast Exp $
 */
 
 #include "global.h"
@@ -4943,8 +4943,8 @@ PMOD_EXPORT void f_range(INT32 args)
  *!
  *!   @mixed arg
  *!   	@type object
- *!   	  The non-static (i.e. public) symbol named @[index] is looked
- *!   	  up in @[arg].
+ *!   	  The non-protected (i.e. public) symbol named @[index] is
+ *!   	  looked up in @[arg].
  *!
  *!   	@type int
  *!   	  The bignum function named @[index] is looked up in @[arg].
@@ -4978,7 +4978,7 @@ PMOD_EXPORT void f_range(INT32 args)
  *!   	  Otherwise @expr{UNDEFINED@} is returned.
  *!
  *!   	@type program
- *!   	  The non-static (i.e. public) constant symbol @[index] is
+ *!   	  The non-protected (i.e. public) constant symbol @[index] is
  *!   	  looked up in @[arg].
  *!
  *!   @endmixed
@@ -5047,8 +5047,8 @@ PMOD_EXPORT void f_index(INT32 args)
  *!   Otherwise the result will be as follows:
  *!   @mixed arg
  *!   	@type object
- *!   	  The non-static (ie public) symbol named @[index] will be looked up
- *!   	  in @[arg].
+ *!   	  The non-protected (ie public) symbol named @[index] will be
+ *!   	  looked up in @[arg].
  *!   	@type int
  *!   	  The bignum function named @[index] will be looked up in @[arg].
  *!   	@type array
@@ -5061,8 +5061,8 @@ PMOD_EXPORT void f_index(INT32 args)
  *!   	  If @[index] exists in @[arg], @expr{1@} will be returned.
  *!   	  Otherwise @expr{UNDEFINED@} will be returned.
  *!   	@type program
- *!   	  The non-static (ie public) constant symbol @[index] will be
- *!   	  looked up in @[arg].
+ *!   	  The non-protected (ie public) constant symbol @[index] will
+ *!   	  be looked up in @[arg].
  *!   @endmixed
  *!
  *! @note
@@ -5113,8 +5113,8 @@ PMOD_EXPORT void f_arrow(INT32 args)
  *!
  *!   @mixed arg
  *!   	@type object
- *!   	  The non-static (ie public) variable named @[index] will be looked up
- *!   	  in @[arg], and assigned @[val].
+ *!   	  The non-protected (ie public) variable named @[index] will
+ *!   	  be looked up in @[arg], and assigned @[val].
  *!   	@type array|mapping
  *!   	  Index @[index] in @[arg] will be assigned @[val].
  *!   	@type multiset
@@ -5172,8 +5172,8 @@ PMOD_EXPORT void f_index_assign(INT32 args)
  *!
  *!   @mixed arg
  *!   	@type object
- *!   	  The non-static (ie public) variable named @[index] will be looked up
- *!   	  in @[arg], and assigned @[val].
+ *!   	  The non-protected (ie public) variable named @[index] will
+ *!   	  be looked up in @[arg], and assigned @[val].
  *!   	@type array|mapping
  *!   	  Index @[index] in @[arg] will be assigned @[val].
  *!   	@type multiset
@@ -5236,7 +5236,7 @@ PMOD_EXPORT void f_arrow_assign(INT32 args)
  *!   	  The number of key-value pairs in @[arg] will be returned.
  *!   	@type object
  *!   	  If @[arg] implements @[lfun::_sizeof()], that function will
- *!   	  be called. Otherwise the number of non-static (ie public)
+ *!   	  be called. Otherwise the number of non-protected (ie public)
  *!   	  symbols in @[arg] will be returned.
  *!   @endmixed
  *!
diff --git a/src/threads.c b/src/threads.c
index bd98022797c6c989c61213de41b3373337f7d127..016d4187018623f2c8130c7faf5e6c2374a80e73 100644
--- a/src/threads.c
+++ b/src/threads.c
@@ -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: threads.c,v 1.257 2008/06/28 01:26:37 mast Exp $
+|| $Id: threads.c,v 1.258 2008/06/28 22:05:04 mast Exp $
 */
 
 #include "global.h"
@@ -1777,7 +1777,7 @@ void f_thread_id_status(INT32 args)
   push_int(THIS_THREAD->status);
 }
 
-/*! @decl static string _sprintf(int c)
+/*! @decl protected string _sprintf(int c)
  *!
  *! Returns a string identifying the thread.
  */
@@ -1797,7 +1797,7 @@ void f_thread_id__sprintf (INT32 args)
   f_add (3);
 }
 
-/*! @decl static int id_number()
+/*! @decl protected int id_number()
  *!
  *! Returns an id number identifying the thread.
  *!