Index: src/wp-includes/class-wp.php
===================================================================
--- src/wp-includes/class-wp.php	(revision 26030)
+++ src/wp-includes/class-wp.php	(working copy)
@@ -15,7 +15,7 @@
 	 * @access public
 	 * @var array
 	 */
-	var $public_query_vars = array('m', 'p', 'posts', 'w', 'cat', 'withcomments', 'withoutcomments', 's', 'search', 'exact', 'sentence', 'calendar', 'page', 'paged', 'more', 'tb', 'pb', 'author', 'order', 'orderby', 'year', 'monthnum', 'day', 'hour', 'minute', 'second', 'name', 'category_name', 'tag', 'feed', 'author_name', 'static', 'pagename', 'page_id', 'error', 'comments_popup', 'attachment', 'attachment_id', 'subpost', 'subpost_id', 'preview', 'robots', 'taxonomy', 'term', 'cpage', 'post_type');
+	var $public_query_vars = array('m', 'p', 'posts', 'w', 'cat', 'withcomments', 'withoutcomments', 's', 'search', 'exact', 'sentence', 'calendar', 'page', 'paged', 'more', 'tb', 'pb', 'author', 'order', 'orderby', 'year', 'monthnum', 'day', 'hour', 'minute', 'second', 'name', 'category_name', 'tag', 'feed', 'author_name', 'static', 'pagename', 'page_id', 'error', 'comments_popup', 'attachment', 'attachment_id', 'subpost', 'subpost_id', 'preview', 'robots', 'taxonomy', 'term', 'cpage', 'post_type', 'callback', 'pretty');
 
 	/**
 	 * Private query variables.
Index: src/wp-includes/default-filters.php
===================================================================
--- src/wp-includes/default-filters.php	(revision 26030)
+++ src/wp-includes/default-filters.php	(working copy)
@@ -237,6 +237,8 @@
 add_action( 'do_feed_rss',                'do_feed_rss',                             10, 1 );
 add_action( 'do_feed_rss2',               'do_feed_rss2',                            10, 1 );
 add_action( 'do_feed_atom',               'do_feed_atom',                            10, 1 );
+add_action( 'do_feed_as1',                'do_feed_as1',                             10, 1 );
+add_action( 'do_feed_rssjs',              'do_feed_rssjs',                           10, 1 );
 add_action( 'do_pings',                   'do_all_pings',                            10, 1 );
 add_action( 'do_robots',                  'do_robots'                                      );
 add_action( 'set_comment_cookies',        'wp_set_comment_cookies',                  10, 2 );
Index: src/wp-includes/feed-as1-comments.php
===================================================================
--- src/wp-includes/feed-as1-comments.php	(revision 0)
+++ src/wp-includes/feed-as1-comments.php	(working copy)
@@ -0,0 +1,149 @@
+<?php
+/**
+ * Activity Streams 1 Feed Template for displaying AS1 Comments feed.
+ *
+ * @package WordPress
+ * @subpackage Feed
+ * @since 3.8.0
+ */
+
+$json = new stdClass();
+
+$json->items = array();
+
+header( 'Content-Type: ' . feed_content_type( 'as1' ) . '; charset=' . get_option( 'blog_charset' ), true );
+
+/*
+ * The JSONP callback function to add to the JSON feed
+ *
+ * @since 3.8.0
+ *
+ * @param string $callback The JSONP callback function name
+ */
+$callback = apply_filters( 'json_feed_callback', get_query_var( 'callback' ) );
+
+if ( ! empty( $callback ) && ! apply_filters( 'json_jsonp_enabled', true ) ) {
+	status_header( 400 );
+	echo json_encode( array(
+						'code'    => 'json_callback_disabled',
+						'message' => 'JSONP support is disabled on this site.'
+					) );
+	exit;
+}
+
+if ( preg_match( '/\W/', $callback ) ) {
+	status_header( 400 );
+	echo json_encode( array(
+						'code'    => 'json_callback_invalid',
+						'message' => 'The JSONP callback function is invalid.'
+					) );
+	exit;
+}
+
+/*
+ * Action triggerd prior to the JSON feed being created and sent to the client
+ *
+ * @since 3.8.0
+ */
+do_action( 'json_feed_pre' );
+
+while( have_comments() ) {
+	the_comment();
+
+	$comment_post = $GLOBALS['post'] = get_post( $comment->comment_post_ID );
+
+	$item = array(
+			'published' => mysql2date( 'D, d M Y H:i:s +0000', get_comment_time( 'Y-m-d H:i:s', true, false ), false ),
+			'generator' => (object)array(
+							'url' => 'http://wordpress.org/?v=' . get_bloginfo( 'version' )
+						),
+			'provider' => (object)array(
+							'url' => get_feed_link( 'url' )
+						),
+			'verb' => 'post',
+			'target' => (object)array(
+						'id'          => get_bloginfo( 'url' ),
+						'url'         => get_bloginfo( 'url' ),
+						'objectType'  => 'blog',
+						'displayName' => get_bloginfo( 'name' )
+					),
+			'object' => (object)array(
+						'id'          => get_comment_guid(),
+						'objectType'  => 'comment',
+						'url'         => get_comment_link()
+					),
+			'actor' => (object)array(
+						'id'          => get_comment_author_url(),
+						'displayName' => get_comment_author(),
+						'objectType'  => 'person',
+						'url'         => get_comment_author_url(),
+						'image'       => (object)array(
+											'width'  => 96,
+											'height' => 96,
+											// TODO: get_avatar_url()
+											'url'    => 'http://www.gravatar.com/avatar/' . md5( get_comment_author_email() ) . '.png?s=96'
+										)
+					)
+			);
+
+	if ( post_password_required($comment_post) ) {
+		$item['object']->summary = __( 'Protected Comments: Please enter your password to view comments.' );
+		$item['object']->content = get_the_password_form();
+	} else {
+		$item['object']->summary = get_comment_text();
+		$item['object']->content = get_comment_text();
+	}
+
+	/*
+	 * The item to be added to the Activity Streams 1 Comment feed
+	 *
+	 * @since 3.8.0
+	 *
+	 * @param object $item The Activity Streams 1 Comment item
+	 */
+	$item = apply_filters( 'comment_as1_feed_item', $item );
+
+	$json->items[] = $item;
+}
+
+/*
+ * The array of data to be sent to the user as JSON
+ *
+ * @since 3.8.0
+ *
+ * @param object $json The JSON data object
+ */
+$json = apply_filters( 'comment_as1_feed', $json );
+
+if ( version_compare( phpversion(), '5.3.0', '<' ) ) {
+	// json_encode() options added in PHP 5.3
+	$json_str = json_encode( $json );
+} else {
+	$options = 0;
+	// JSON_PRETTY_PRINT added in PHP 5.4
+	if ( get_query_var( 'pretty' ) && version_compare( phpversion(), '5.4.0', '>=' ) )
+		$options |= JSON_PRETTY_PRINT;
+
+	/*
+	 * Options to be passed to json_encode()
+	 *
+	 * @since 3.8.0
+	 *
+	 * @param int $options The current options flags
+	 */
+	$options = apply_filters( 'json_feed_options', $options );
+
+	$json_str = json_encode( $json, $options );
+}
+
+if ( ! empty( $callback ) )
+	echo "$callback( $json_str );";
+else
+	echo $json_str;
+
+/*
+ * Action triggerd after the JSON feed has been created and sent to the client
+ *
+ * @since 3.8.0
+ */
+do_action( 'json_feed_post' );
Index: src/wp-includes/feed-as1.php
===================================================================
--- src/wp-includes/feed-as1.php	(revision 0)
+++ src/wp-includes/feed-as1.php	(working copy)
@@ -0,0 +1,202 @@
+<?php
+/**
+ * Activity Streams 1 Feed Template for displaying AS1 Posts feed.
+ *
+ * @package WordPress
+ * @subpackage Feed
+ * @since 3.8.0
+ */
+
+$json = new stdClass();
+
+$json->items = array();
+
+header( 'Content-Type: ' . feed_content_type( 'as1' ) . '; charset=' . get_option( 'blog_charset' ), true );
+
+/*
+ * The JSONP callback function to add to the JSON feed
+ *
+ * @since 3.8.0
+ *
+ * @param string $callback The JSONP callback function name
+ */
+$callback = apply_filters( 'json_feed_callback', get_query_var( 'callback' ) );
+
+if ( ! empty( $callback ) && ! apply_filters( 'json_jsonp_enabled', true ) ) {
+	status_header( 400 );
+	echo json_encode( array(
+						'code'    => 'json_callback_disabled',
+						'message' => 'JSONP support is disabled on this site.'
+					) );
+	exit;
+}
+
+if ( preg_match( '/\W/', $callback ) ) {
+	status_header( 400 );
+	echo json_encode( array(
+						'code'    => 'json_callback_invalid',
+						'message' => 'The JSONP callback function is invalid.'
+					) );
+	exit;
+}
+
+/*
+ * Action triggerd prior to the JSON feed being created and sent to the client
+ *
+ * @since 3.8.0
+ */
+do_action( 'json_feed_pre' );
+
+while( have_posts() ) {
+	the_post();
+
+	$post_type = get_post_type();
+	switch ( $post_type ) {
+		case "post":
+			$post_format = get_post_format();
+			switch ( $post_format ) {
+				case "aside":
+				case "status":
+				case "quote":
+				case "note":
+					$object_type = "note";
+					break;
+				case "gallery":
+				case "image":
+					$object_type = "image";
+					break;
+				case "video":
+					$object_type = "video";
+					break;
+				case "audio":
+					$object_type = "audio";
+					break;
+				default:
+					$object_type = "article";
+					break;
+			}
+			break;
+		case "page":
+			$object_type = "page";
+			break;
+		case "attachment":
+			$mime_type = get_post_mime_type();
+			$media_type = preg_replace("/(\/[a-zA-Z]+)/i", "", $mime_type);
+
+			switch ($media_type) {
+				case 'audio':
+					$object_type = "audio";
+					break;
+				case 'video':
+					$object_type = "video";
+					break;
+				case 'image':
+					$object_type = "image";
+					break;
+			}
+			break;
+		default:
+			$object_type = "article";
+			break;
+	}
+
+	/*
+	 * The object type of the current post in the Activity Streams 1 feed
+	 *
+	 * @since 3.8.0
+	 *
+	 * @param string $object_type The current object type
+	 * @param string $post_type The current post type
+	 */
+	$object_type = apply_filters( 'as1_object_type', $object_type, $post_type );
+
+	$item = array(
+			'published' => mysql2date( 'D, d M Y H:i:s +0000', get_post_modified_time( 'Y-m-d\TH:i:s\Z', true ), false ),
+			'generator' => (object)array(
+							'url' => 'http://wordpress.org/?v=' . get_bloginfo( 'version' )
+						),
+			'provider' => (object)array(
+							'url' => get_feed_link( 'url' )
+						),
+			'verb' => 'post',
+			'target' => (object)array(
+						'id'          => get_bloginfo( 'url' ),
+						'url'         => get_bloginfo( 'url' ),
+						'objectType'  => 'blog',
+						'displayName' => get_bloginfo( 'name' )
+					),
+			'object' => (object)array(
+						'id'          => get_the_guid(),
+						'displayName' => get_the_title(),
+						'objectType'  => $object_type,
+						'summary'     => get_the_excerpt(),
+						'url'         => get_permalink(),
+						'content'     => get_the_content()
+					),
+			'actor' => (object)array(
+						'id'          => get_author_posts_url( get_the_author_meta( 'ID' ), get_the_author_meta( 'nicename' ) ),
+						'displayName' => get_the_author(),
+						'objectType'  => 'person',
+						'url'         => get_author_posts_url( get_the_author_meta( 'ID' ), get_the_author_meta( 'nicename' ) ),
+						'image'       => (object)array(
+											'width'  => 96,
+											'height' => 96,
+											// TODO: get_avatar_url()
+											'url'    => 'http://www.gravatar.com/avatar/' . md5( get_the_author_meta( 'email' ) ) . '.png?s=96'
+										)
+					)
+			);
+
+	/*
+	 * The item to be added to the Activity Streams 1 Post feed
+	 *
+	 * @since 3.8.0
+	 *
+	 * @param object $item The Activity Streams 1 Post item
+	 */
+	$item = apply_filters( 'as1_feed_item', $item );
+
+	$json->items[] = $item;
+}
+
+/*
+ * The array of data to be sent to the user as JSON
+ *
+ * @since 3.8.0
+ *
+ * @param object $json The JSON data object
+ */
+$json = apply_filters( 'as1_feed', $json );
+
+if ( version_compare( phpversion(), '5.3.0', '<' ) ) {
+	// json_encode() options added in PHP 5.3
+	$json_str = json_encode( $json );
+} else {
+	$options = 0;
+	// JSON_PRETTY_PRINT added in PHP 5.4
+	if ( get_query_var( 'pretty' ) && version_compare( phpversion(), '5.4.0', '>=' ) )
+		$options |= JSON_PRETTY_PRINT;
+
+	/*
+	 * Options to be passed to json_encode()
+	 *
+	 * @since 3.8.0
+	 *
+	 * @param int $options The current options flags
+	 */
+	$options = apply_filters( 'json_feed_options', $options );
+
+	$json_str = json_encode( $json, $options );
+}
+
+if ( ! empty( $callback ) )
+	echo "$callback( $json_str );";
+else
+	echo $json_str;
+
+/*
+ * Action triggerd after the JSON feed has been created and sent to the client
+ *
+ * @since 3.8.0
+ */
+do_action( 'json_feed_post' );
Index: src/wp-includes/feed-rssjs-comments.php
===================================================================
--- src/wp-includes/feed-rssjs-comments.php	(revision 0)
+++ src/wp-includes/feed-rssjs-comments.php	(working copy)
@@ -0,0 +1,143 @@
+<?php
+/**
+ * rss.js Feed Template for displaying rss.js Comments feed.
+ *
+ * @package WordPress
+ * @subpackage Feed
+ * @since 3.8.0
+ */
+
+$json = new stdClass();
+$json->rss = new stdClass();
+
+$json->rss->version = "2.0";
+$json->rss->channel = new stdClass();
+
+if ( is_singular() )
+	$json->rss->channel->title = sprintf( __( 'Comments on: %s' ), get_the_title() );
+elseif ( is_search() )
+	$json->rss->channel->title = sprintf( __( 'Comments for %1$s searching on %2$s' ), get_bloginfo( 'name' ), get_search_query() );
+else
+	$json->rss->channel->title = sprintf( __( 'Comments for %s' ), get_bloginfo( 'name' ) . get_the_title() );
+
+$json->rss->channel->link          = get_bloginfo( 'url' );
+$json->rss->channel->description   = get_bloginfo( 'description' );
+$json->rss->channel->language      = get_bloginfo( 'language' );
+$json->rss->channel->lastBuildDate = mysql2date( 'D, d M Y H:i:s +0000', get_lastcommentmodified( 'GMT' ), false );
+$json->rss->channel->docs          = "http://cyber.law.harvard.edu/rss/rss.html";
+$json->rss->channel->generator     = 'WordPress ' . get_bloginfo( 'version' );
+$json->rss->channel->ttl           = 15;
+
+$json->rss->channel->item = array();
+
+header( 'Content-Type: ' . feed_content_type( 'rssjs' ) . '; charset=' . get_option( 'blog_charset' ), true );
+
+/*
+ * The JSONP callback function to add to the JSON feed
+ *
+ * @since 3.8.0
+ *
+ * @param string $callback The JSONP callback function name
+ */
+$callback = apply_filters( 'json_feed_callback', get_query_var( 'callback' ) );
+
+if ( ! empty( $callback ) && ! apply_filters( 'json_jsonp_enabled', true ) ) {
+	status_header( 400 );
+	echo json_encode( array(
+						'code'    => 'json_callback_disabled',
+						'message' => 'JSONP support is disabled on this site.'
+					) );
+	exit;
+}
+
+if ( preg_match( '/\W/', $callback ) ) {
+	status_header( 400 );
+	echo json_encode( array(
+						'code'    => 'json_callback_invalid',
+						'message' => 'The JSONP callback function is invalid.'
+					) );
+	exit;
+}
+
+/*
+ * Action triggerd prior to the JSON feed being created and sent to the client
+ *
+ * @since 3.8.0
+ */
+do_action( 'json_feed_pre' );
+
+while( have_comments() ) {
+	the_comment();
+
+	$comment_post = $GLOBALS['post'] = get_post( $comment->comment_post_ID );
+
+	$item = new stdClass();
+
+	if ( !is_singular() ) {
+		$title = get_the_title( $comment_post->ID );
+		$item->title = sprintf( __('Comment on %1$s by %2$s') , $title, get_comment_author() );
+	} else {
+		$item->title = sprintf( __('By: %s'), get_comment_author() );
+	}
+
+	$item->link        = get_comment_link();
+	$item->guid        = get_comment_guid();
+	$item->pubDate     = mysql2date( 'D, d M Y H:i:s +0000', get_post_time( 'Y-m-d H:i:s', true ), false );
+
+	if ( post_password_required($comment_post) )
+		$item->description = __( 'Protected Comments: Please enter your password to view comments.' );
+	else
+		$item->description = get_comment_text();
+	/*
+	 * The item to be added to the rss.js Comment feed
+	 *
+	 * @since 3.8.0
+	 *
+	 * @param object $item The rss.js Comment item
+	 */
+	$item = apply_filters( 'comment_rssjs_feed_item', $item );
+
+	$json->rss->channel->item[] = $item;
+}
+
+/*
+ * The data to be sent to the user as JSON
+ *
+ * @since 3.8.0
+ *
+ * @param object $json The JSON data object
+ */
+$json = apply_filters( 'comment_rssjs_feed', $json );
+
+if ( version_compare( phpversion(), '5.3.0', '<' ) ) {
+	// json_encode() options added in PHP 5.3
+	$json_str = json_encode( $json );
+} else {
+	$options = 0;
+	// JSON_PRETTY_PRINT added in PHP 5.4
+	if ( get_query_var( 'pretty' ) && version_compare( phpversion(), '5.4.0', '>=' ) )
+		$options |= JSON_PRETTY_PRINT;
+
+	/*
+	 * Options to be passed to json_encode()
+	 *
+	 * @since 3.8.0
+	 *
+	 * @param int $options The current options flags
+	 */
+	$options = apply_filters( 'json_feed_options', $options );
+
+	$json_str = json_encode( $json, $options );
+}
+
+if ( ! empty( $callback ) )
+	echo "$callback( $json_str );";
+else
+	echo $json_str;
+
+/*
+ * Action triggerd after the JSON feed has been created and sent to the client
+ *
+ * @since 3.8.0
+ */
+do_action( 'json_feed_post' );
Index: src/wp-includes/feed-rssjs.php
===================================================================
--- src/wp-includes/feed-rssjs.php	(revision 0)
+++ src/wp-includes/feed-rssjs.php	(working copy)
@@ -0,0 +1,126 @@
+<?php
+/**
+ * rss.js Feed Template for displaying rss.js Posts feed.
+ *
+ * @package WordPress
+ * @subpackage Feed
+ * @since 3.8.0
+ */
+
+$json = new stdClass();
+$json->rss = new stdClass();
+
+$json->rss->version = "2.0";
+$json->rss->channel = new stdClass();
+
+$json->rss->channel->title         = get_bloginfo( 'name' );
+$json->rss->channel->link          = get_bloginfo( 'url' );
+$json->rss->channel->description   = get_bloginfo( 'description' );
+$json->rss->channel->language      = get_bloginfo( 'language' );
+$json->rss->channel->lastBuildDate = mysql2date( 'D, d M Y H:i:s +0000', get_lastpostmodified( 'GMT' ), false );
+$json->rss->channel->docs          = "http://cyber.law.harvard.edu/rss/rss.html";
+$json->rss->channel->generator     = 'WordPress ' . get_bloginfo( 'version' );
+$json->rss->channel->ttl           = 15;
+
+$json->rss->channel->item = array();
+
+header( 'Content-Type: ' . feed_content_type( 'rssjs' ) . '; charset=' . get_option( 'blog_charset' ), true );
+
+/*
+ * The JSONP callback function to add to the JSON feed
+ *
+ * @since 3.8.0
+ *
+ * @param string $callback The JSONP callback function name
+ */
+$callback = apply_filters( 'json_feed_callback', get_query_var( 'callback' ) );
+
+if ( ! empty( $callback ) && ! apply_filters( 'json_jsonp_enabled', true ) ) {
+	status_header( 400 );
+	echo json_encode( array(
+						'code'    => 'json_callback_disabled',
+						'message' => 'JSONP support is disabled on this site.'
+					) );
+	exit;
+}
+
+if ( preg_match( '/\W/', $callback ) ) {
+	status_header( 400 );
+	echo json_encode( array(
+						'code'    => 'json_callback_invalid',
+						'message' => 'The JSONP callback function is invalid.'
+					) );
+	exit;
+}
+
+/*
+ * Action triggerd prior to the JSON feed being created and sent to the client
+ *
+ * @since 3.8.0
+ */
+do_action( 'json_feed_pre' );
+
+while( have_posts() ) {
+	the_post();
+
+	$item = new stdClass();
+
+	$item->title       = get_the_title();
+	$item->link        = get_permalink();
+	$item->guid        = get_the_guid();
+	$item->description = get_the_content();
+	$item->pubDate     = mysql2date( 'D, d M Y H:i:s +0000', get_post_time( 'Y-m-d H:i:s', true ), false );
+
+	/*
+	 * The item to be added to the rss.js Post feed
+	 *
+	 * @since 3.8.0
+	 *
+	 * @param object $item The rss.js Post item
+	 */
+	$item = apply_filters( 'rssjs_feed_item', $item );
+
+	$json->rss->channel->item[] = $item;
+}
+
+/*
+ * The data to be sent to the user as JSON
+ *
+ * @since 3.8.0
+ *
+ * @param object $json The JSON data object
+ */
+$json = apply_filters( 'rssjs_feed', $json );
+
+if ( version_compare( phpversion(), '5.3.0', '<' ) ) {
+	// json_encode() options added in PHP 5.3
+	$json_str = json_encode( $json );
+} else {
+	$options = 0;
+	// JSON_PRETTY_PRINT added in PHP 5.4
+	if ( get_query_var( 'pretty' ) && version_compare( phpversion(), '5.4.0', '>=' ) )
+		$options |= JSON_PRETTY_PRINT;
+
+	/*
+	 * Options to be passed to json_encode()
+	 *
+	 * @since 3.8.0
+	 *
+	 * @param int $options The current options flags
+	 */
+	$options = apply_filters( 'json_feed_options', $options );
+
+	$json_str = json_encode( $json, $options );
+}
+
+if ( ! empty( $callback ) )
+	echo "$callback( $json_str );";
+else
+	echo $json_str;
+
+/*
+ * Action triggerd after the JSON feed has been created and sent to the client
+ *
+ * @since 3.8.0
+ */
+do_action( 'json_feed_post' );
Index: src/wp-includes/feed.php
===================================================================
--- src/wp-includes/feed.php	(revision 26030)
+++ src/wp-includes/feed.php	(working copy)
@@ -507,7 +507,9 @@
 		'rss2' => 'application/rss+xml',
 		'rss-http'  => 'text/xml',
 		'atom' => 'application/atom+xml',
-		'rdf'  => 'application/rdf+xml'
+		'rdf'  => 'application/rdf+xml',
+		'as1'  => 'application/stream+json',
+		'rssjs' => 'application/rss+json'
 	);
 
 	$content_type = ( !empty($types[$type]) ) ? $types[$type] : 'application/octet-stream';
Index: src/wp-includes/functions.php
===================================================================
--- src/wp-includes/functions.php	(revision 26030)
+++ src/wp-includes/functions.php	(working copy)
@@ -1083,6 +1083,34 @@
 }
 
 /**
+ * Load either Activity Streams 1 comment feed or Activity Streams posts feed.
+ *
+ * @since 3.8.0
+ *
+ * @param bool $for_comments True for the comment feed, false for normal feed.
+ */
+function do_feed_as1( $for_comments ) {
+	if ($for_comments)
+		load_template( ABSPATH . WPINC . '/feed-as1-comments.php');
+	else
+		load_template( ABSPATH . WPINC . '/feed-as1.php' );
+}
+
+/**
+ * Load either rssjs comment feed or rssjs posts feed.
+ *
+ * @since 3.8.0
+ *
+ * @param bool $for_comments True for the comment feed, false for normal feed.
+ */
+function do_feed_rssjs( $for_comments ) {
+	if ($for_comments)
+		load_template( ABSPATH . WPINC . '/feed-rssjs-comments.php');
+	else
+		load_template( ABSPATH . WPINC . '/feed-rssjs.php' );
+}
+
+/**
  * Display the robots.txt file content.
  *
  * The echo content should be with usage of the permalinks or for creating the
Index: src/wp-includes/general-template.php
===================================================================
--- src/wp-includes/general-template.php	(revision 26030)
+++ src/wp-includes/general-template.php	(working copy)
@@ -477,6 +477,18 @@
 		case 'comments_rss2_url':
 			$output = get_feed_link('comments_rss2');
 			break;
+		case 'as1_url':
+			$output = get_feed_link('as1');
+			break;
+		case 'comments_as1_url':
+			$output = get_feed_link('comments_as1');
+			break;
+		case 'rssjs_url':
+			$output = get_feed_link('rssjs');
+			break;
+		case 'comments_atom_url':
+			$output = get_feed_link('comments_rssjs');
+			break;
 		case 'pingback_url':
 			$output = site_url( 'xmlrpc.php' );
 			break;
Index: src/wp-includes/rewrite.php
===================================================================
--- src/wp-includes/rewrite.php	(revision 26030)
+++ src/wp-includes/rewrite.php	(working copy)
@@ -743,7 +743,7 @@
 	 * @access private
 	 * @var array
 	 */
-	var $feeds = array( 'feed', 'rdf', 'rss', 'rss2', 'atom' );
+	var $feeds = array( 'feed', 'rdf', 'rss', 'rss2', 'atom', 'as1', 'rssjs' );
 
 	/**
 	 * Whether permalinks are being used.
