Index: wp-includes/js/autosave.js
===================================================================
--- wp-includes/js/autosave.js	(revision 7145)
+++ wp-includes/js/autosave.js	(working copy)
@@ -1,5 +1,6 @@
 var autosaveLast = '';
 var autosavePeriodical;
+var autosaveOldMessage = '';
 
 jQuery(function($) {
 	autosaveLast = $('#post #title').val()+$('#post #content').val();
@@ -17,7 +18,6 @@
 
 // called when autosaving pre-existing post
 function autosave_saved(response) {
-	var oldMessage = jQuery('#autosave').html();
 	var res = wpAjax.parseAjaxResponse(response, 'autosave'); // parse the ajax response
 	var message = '';
 
@@ -39,7 +39,7 @@
 		}
 	}
 	if ( message ) { jQuery('#autosave').html(message); } // update autosave message
-	else if ( oldMessage && res ) { jQuery('#autosave').html( oldMessage ); }
+	else if ( autosaveOldMessage && res ) { jQuery('#autosave').html( autosaveOldMessage ); }
 	autosave_enable_buttons(); // re-enable disabled form buttons
 	return res;
 }
@@ -180,6 +180,8 @@
 		post_data['autosave'] = 0;
 	}
 
+	autosaveOldMessage = jQuery('#autosave').html();
+
 	jQuery.ajax({
 		data: post_data,
 		beforeSend: doAutoSave ? autosave_loading : null,
Index: wp-admin/admin-ajax.php
===================================================================
--- wp-admin/admin-ajax.php	(revision 7145)
+++ wp-admin/admin-ajax.php	(working copy)
@@ -472,8 +472,6 @@
 	check_ajax_referer( 'autosave', 'autosavenonce' );
 	global $current_user;
 
-	$_POST['post_content'] = $_POST['content'];
-	$_POST['post_excerpt'] = $_POST['excerpt'];
 	$_POST['post_status'] = 'draft';
 	$_POST['post_category'] = explode(",", $_POST['catslist']);
 	$_POST['tags_input'] = explode(",", $_POST['tags_input']);
@@ -521,7 +519,7 @@
 				die(__('You are not allowed to edit this post.'));
 		}
 		if ( $do_autosave ) {
-			$id = wp_update_post($_POST);
+			$id = edit_post();
 			$data = $message;
 		} else {
 			$id = $post->ID;
Index: wp-admin/wp-admin.css
===================================================================
--- wp-admin/wp-admin.css	(revision 7145)
+++ wp-admin/wp-admin.css	(working copy)
@@ -1215,6 +1215,10 @@
 	border-bottom: 1px solid #ccc;
 }
 
+.submitbox #autosave .error {
+	color: #333;
+}
+
 /* Categories */
 
 #categorydiv #category-adder {
Index: wp-admin/includes/post.php
===================================================================
--- wp-admin/includes/post.php	(revision 7145)
+++ wp-admin/includes/post.php	(working copy)
@@ -113,6 +113,8 @@
 	// Now that we have an ID we can fix any attachment anchor hrefs
 	_fix_attachment_links( $post_ID );
 
+	wp_set_post_lock( $post_ID, $GLOBALS['current_user']->ID );
+
 	return $post_ID;
 }
 
@@ -321,6 +323,8 @@
 	// Now that we have an ID we can fix any attachment anchor hrefs
 	_fix_attachment_links( $post_ID );
 
+	wp_set_post_lock( $post_ID, $GLOBALS['current_user']->ID );
+
 	return $post_ID;
 }
 
Index: wp-admin/post.php
===================================================================
--- wp-admin/post.php	(revision 7145)
+++ wp-admin/post.php	(working copy)
@@ -69,7 +69,7 @@
 	if ( $last = wp_check_post_lock( $post->ID ) ) {
 		$last_user = get_userdata( $last );
 		$last_user_name = $last_user ? $last_user->display_name : __('Somebody');
-		$message = sprintf( __( '%s is currently editing this post' ), wp_specialchars( $last_user_name ) );
+		$message = sprintf( __( 'Warning: %s is currently editing this post' ), wp_specialchars( $last_user_name ) );
 		$message = str_replace( "'", "\'", "<div class='error'><p>$message</p></div>" );
 		add_action('admin_notices', create_function( '', "echo '$message';" ) );
 	} else {
Index: wp-admin/edit-page-form.php
===================================================================
--- wp-admin/edit-page-form.php	(revision 7145)
+++ wp-admin/edit-page-form.php	(working copy)
@@ -129,6 +129,7 @@
 <br class="clear" />
 <?php if ($post_ID): ?>
 <?php printf(__('Last edited on %1$s at %2$s'), mysql2date(get_option('date_format'), $post->post_modified), mysql2date(get_option('time_format'), $post->post_modified)); ?>
+<br class="clear" />
 <?php endif; ?>
 <span id="autosave"></span>
 </p>
Index: wp-admin/edit-form-advanced.php
===================================================================
--- wp-admin/edit-form-advanced.php	(revision 7145)
+++ wp-admin/edit-form-advanced.php	(working copy)
@@ -151,6 +151,7 @@
 <br class="clear" />
 <?php if ($post_ID): ?>
 <?php printf(__('Last edited on %1$s at %2$s'), mysql2date(get_option('date_format'), $post->post_modified), mysql2date(get_option('time_format'), $post->post_modified)); ?>
+<br class="clear" />
 <?php endif; ?>
 <span id="autosave"></span>
 </p>
Index: wp-admin/page.php
===================================================================
--- wp-admin/page.php	(revision 7145)
+++ wp-admin/page.php	(working copy)
@@ -60,7 +60,7 @@
 	if ( $last = wp_check_post_lock( $post->ID ) ) {
 		$last_user = get_userdata( $last );
 		$last_user_name = $last_user ? $last_user->display_name : __('Somebody');
-		$message = sprintf( __( '%s is currently editing this page' ), wp_specialchars( $last_user_name ) );
+		$message = sprintf( __( 'Warning: %s is currently editing this page' ), wp_specialchars( $last_user_name ) );
 		$message = str_replace( "'", "\'", "<div class='error'><p>$message</p></div>" );
 		add_action('admin_notices', create_function( '', "echo '$message';" ) );
 	} else {
