Index: wordpress/wp-includes/functions.php
===================================================================
--- wordpress/wp-includes/functions.php	(revision 6342)
+++ wordpress/wp-includes/functions.php	(working copy)
@@ -402,7 +402,48 @@
 	return $data;
 }
 
+/* flag functions */
 
+function _wp_flag($name, $value=NULL) {
+	// flags are stored in a static associative array
+	static $_flags = array();
+
+	if ( !is_scalar($name) or empty($name) )
+		return new WP_Error( 'invalid_flag_name', __('Invalid flag name') );
+		
+	$name = strval($name);
+	
+	// if a value was specified, change it
+	if (func_num_args() > 1) {
+		if ($value === NULL) { // null means unset
+			unset($_flags[$name]);
+			return NULL;
+		}
+		else
+			return $_flags[$name] = $value;
+	}
+	// otherwise just return the existing value without changing it
+	return ( isset($_flags[$name]) ) ? $_flags[$name] : NULL;
+
+}
+
+function wp_flag_set($name, $value=true) {
+	return _wp_flag($name, $value);
+}
+
+function wp_flag_get($name, $default=NULL) {
+	$flag = _wp_flag($name);
+	if ( $flag === NULL )
+		return $default;
+	else
+		return $flag;
+}
+
+function wp_flag_unset($name) {
+	return _wp_flag($name, NULL);
+}
+
+
 function gzip_compression() {
 	if ( !get_option( 'gzipcompression' ) || ini_get( 'zlib.output_compression' ) == 'On' || ini_get( 'zlib.output_compression_level' ) > 0  || ini_get( 'output_handler' ) == 'ob_gzhandler' || !extension_loaded( 'zlib' ) )
 		return false;
