Index: wp-includes/feed-rss2.php
===================================================================
--- wp-includes/feed-rss2.php	(revision 6166)
+++ wp-includes/feed-rss2.php	(working copy)
@@ -5,7 +5,7 @@
 ?>
 <?php echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
 
-<!-- generator="wordpress/<?php bloginfo_rss('version') ?>" -->
+<?php echo wp_get_generator( 'comment' ); ?>
 <rss version="2.0"
 	xmlns:content="http://purl.org/rss/1.0/modules/content/"
 	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
@@ -18,7 +18,7 @@
 	<link><?php bloginfo_rss('url') ?></link>
 	<description><?php bloginfo_rss("description") ?></description>
 	<pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></pubDate>
-	<generator>http://wordpress.org/?v=<?php bloginfo_rss('version'); ?></generator>
+	<?php echo wp_get_generator( 'rss2' ); ?>
 	<language><?php echo get_option('rss_language'); ?></language>
 	<?php do_action('rss2_head'); ?>
 	<?php while( have_posts()) : the_post(); ?>
Index: wp-includes/feed-atom.php
===================================================================
--- wp-includes/feed-atom.php	(revision 6166)
+++ wp-includes/feed-atom.php	(working copy)
@@ -15,7 +15,7 @@
 	<subtitle type="text"><?php bloginfo_rss("description") ?></subtitle>
 
 	<updated><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT')); ?></updated>
-	<generator uri="http://wordpress.org/" version="<?php bloginfo_rss('version'); ?>">WordPress</generator>
+	<?php echo wp_get_generator( 'atom' ); ?>
 
 	<link rel="alternate" type="text/html" href="<?php bloginfo_rss('home') ?>" />
 	<id><?php bloginfo('atom_url'); ?></id>
Index: wp-includes/feed-rss2-comments.php
===================================================================
--- wp-includes/feed-rss2-comments.php	(revision 6166)
+++ wp-includes/feed-rss2-comments.php	(working copy)
@@ -3,7 +3,7 @@
 
 echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
 ?>
-<!-- generator="wordpress/<?php echo $wp_version ?>" -->
+<?php echo wp_get_generator( 'comment' ); ?>
 <rss version="2.0"
 	xmlns:content="http://purl.org/rss/1.0/modules/content/"
 	xmlns:dc="http://purl.org/dc/elements/1.1/"
@@ -20,7 +20,7 @@
 	<link><?php (is_single()) ? the_permalink_rss() : bloginfo_rss("url") ?></link>
 	<description><?php bloginfo_rss("description") ?></description>
 	<pubDate><?php echo gmdate('r'); ?></pubDate>
-	<generator>http://wordpress.org/?v=<?php echo $wp_version ?></generator>
+	<?php echo wp_get_generator( 'rss2' ); ?>
 	<?php do_action('commentsrss2_head'); ?>
 <?php
 if ( have_comments() ) : while ( have_comments() ) : the_comment();
Index: wp-includes/functions.php
===================================================================
--- wp-includes/functions.php	(revision 6166)
+++ wp-includes/functions.php	(working copy)
@@ -1416,4 +1416,33 @@
 	while ( @ob_end_flush() );
 }
 
+/**
+ * Creates the generator XML/Comment for RSS, ATOM, etc.
+ * @param {String} $type The type of XML to generate.
+ */
+function wp_get_generator ( $type='comment' ) {
+    switch ($type) {
+    case 'html':
+        $gen = '<meta name="generator" content="WordPress/' . get_bloginfo( 'version' ) . '">';
+        break;
+    case 'xhtml':
+        $gen = '<meta name="generator" content="WordPress/' . get_bloginfo( 'version' ) . '" />';
+        break;
+    case 'atom':
+        $gen = '<generator uri="http://wordpress.org/" version="' . get_bloginfo_rss( 'version' ) . '">WordPress</generator>';
+        break;
+    case 'rss2':
+        $gen = '<generator>http://wordpress.org/?v=' . get_bloginfo_rss( 'version' ) . '</generator>';
+        break;
+    case 'rdf':
+        $gen = '<admin:generatorAgent rdf:resource="http://wordpress.org/?v=' . get_bloginfo_rss( 'version' ) . '" />';
+        break;
+    default: // case 'comment':
+        $gen = '<!-- generator="WordPress/' . get_bloginfo( 'version' ) . '" -->';
+        break;
+    }
+
+    return apply_filters( 'wp_get_generator', $gen );
+}
+
 ?>
Index: wp-includes/feed-rss.php
===================================================================
--- wp-includes/feed-rss.php	(revision 6166)
+++ wp-includes/feed-rss.php	(working copy)
@@ -4,7 +4,7 @@
 
 ?>
 <?php echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
-<!-- generator="wordpress/<?php echo $wp_version ?>" -->
+<?php echo wp_get_generator( 'comment' ); ?>
 <rss version="0.92">
 <channel>
 	<title><?php bloginfo_rss('name'); wp_title_rss(); ?></title>
Index: wp-includes/feed-rdf.php
===================================================================
--- wp-includes/feed-rdf.php	(revision 6166)
+++ wp-includes/feed-rdf.php	(working copy)
@@ -4,7 +4,7 @@
 
 ?>
 <?php echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
-<!-- generator="wordpress/<?php echo $wp_version ?>" -->
+<?php echo wp_get_generator( 'comment' ); ?>
 <rdf:RDF
 	xmlns="http://purl.org/rss/1.0/"
 	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
@@ -19,7 +19,7 @@
 	<link><?php bloginfo_rss('url') ?></link>
 	<description><?php bloginfo_rss('description') ?></description>
 	<dc:date><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT'), false); ?></dc:date>
-	<admin:generatorAgent rdf:resource="http://wordpress.org/?v=<?php echo $wp_version ?>"/>
+	<?php echo wp_get_generator( 'rdf' ); ?>
 	<sy:updatePeriod>hourly</sy:updatePeriod>
 	<sy:updateFrequency>1</sy:updateFrequency>
 	<sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
Index: wp-includes/feed-atom-comments.php
===================================================================
--- wp-includes/feed-atom-comments.php	(revision 6166)
+++ wp-includes/feed-atom-comments.php	(working copy)
@@ -18,7 +18,7 @@
 	<subtitle type="text"><?php bloginfo_rss('description'); ?></subtitle>
 
 	<updated><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastcommentmodified('GMT')); ?></updated>
-	<generator uri="http://wordpress.org/" version="<?php bloginfo('version'); ?>">WordPress</generator>
+	<?php echo wp_get_generator( 'atom' ); ?>
 
 	<link rel="alternate" type="<?php bloginfo_rss('html_type'); ?>" href="<?php bloginfo_rss('home'); ?>" />
 	<link rel="self" type="application/atom+xml" href="<?php bloginfo_rss('comments_atom_url'); ?>" />
Index: wp-app.php
===================================================================
--- wp-app.php	(revision 6166)
+++ wp-app.php	(working copy)
@@ -739,7 +739,7 @@
 <link rel="last" type="<?php echo $this->ATOM_CONTENT_TYPE ?>" href="<?php $this->the_entries_url($last_page) ?>" />
 <link rel="self" type="<?php echo $this->ATOM_CONTENT_TYPE ?>" href="<?php $this->the_entries_url($self_page) ?>" />
 <rights type="text">Copyright <?php echo mysql2date('Y', get_lastpostdate('blog')); ?></rights>
-<generator uri="http://wordpress.com/" version="1.0.5-dc">WordPress.com Atom API</generator>
+                                                                                <?php echo wp_get_generator( 'atom' ); ?>
 <?php if ( have_posts() ) {
 			while ( have_posts() ) {
 				the_post();
Index: wp-content/themes/classic/header.php
===================================================================
--- wp-content/themes/classic/header.php	(revision 6166)
+++ wp-content/themes/classic/header.php	(working copy)
@@ -6,7 +6,7 @@
 
 	<title><?php bloginfo('name'); ?><?php wp_title(); ?></title>
 
-	<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats please -->
+	<?php echo wp_get_generator( 'xhtml' ); ?>
 
 	<style type="text/css" media="screen">
 		@import url( <?php bloginfo('stylesheet_url'); ?> );
Index: wp-content/themes/default/header.php
===================================================================
--- wp-content/themes/default/header.php	(revision 6166)
+++ wp-content/themes/default/header.php	(working copy)
@@ -6,7 +6,7 @@
 
 <title><?php bloginfo('name'); ?> <?php if ( is_single() ) { ?> &raquo; Blog Archive <?php } ?> <?php wp_title(); ?></title>
 
-<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats -->
+<?php echo wp_get_generator('xhtml'); ?>
 
 <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
 <link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />
Index: wp-links-opml.php
===================================================================
--- wp-links-opml.php	(revision 6166)
+++ wp-links-opml.php	(working copy)
@@ -14,7 +14,7 @@
 	$link_cat = intval($link_cat);
 }
 ?><?php echo '<?xml version="1.0"?'.">\n"; ?>
-<!-- generator="wordpress/<?php bloginfo_rss('version') ?>" -->
+<?php echo wp_get_generator( 'comment' ); ?>
 <opml version="1.0">
 	<head>
 		<title>Links for <?php echo attribute_escape(get_bloginfo('name', 'display').$cat_name); ?></title>

