Index: admin/index.php
===================================================================
--- admin/index.php	(revision 1521)
+++ admin/index.php	(revision 1529)
@@ -340,4 +340,5 @@
 			? '<div>'.
 			'<p id="new_cat" class="q-cat">'.__('Add a new category').'</p>'.
+			'<p class="form-note info clear">'.__('This category will be created when you will save your post.').'</p>'.
 			'<p class="q-cat"><label for="new_cat_title">'.__('Title:').'</label> '.
 			form::field('new_cat_title',30,255,'','').'</p>'.
Index: admin/js/_index.js
===================================================================
--- admin/js/_index.js	(revision 1418)
+++ admin/js/_index.js	(revision 1500)
@@ -33,5 +33,7 @@
 				post_status: status,
 				post_format: $('#post_format',f).val(),
-				post_lang: $('#post_lang',f).val()
+				post_lang: $('#post_lang',f).val(),
+				new_cat_title: $('#new_cat_title',f).val(),
+				new_cat_parent: $('#new_cat_parent',f).val()
 			}
 
@@ -56,4 +58,7 @@
 						contentTb.syncContents('textarea');
 					}
+					$('#cat_id',f).val('0');
+					$('#new_cat_title',f).val('');
+					$('#new_cat_parent',f).val('0');
 				}
 
Index: admin/js/_post.js
===================================================================
--- admin/js/_post.js	(revision 1525)
+++ admin/js/_post.js	(revision 1529)
@@ -79,7 +79,15 @@
 		// Get document format and prepare toolbars
 		var formatField = $('#post_format').get(0);
+		var last_post_format = $(formatField).val();
 		$(formatField).change(function() {
-			excerptTb.switchMode(this.value);
-			contentTb.switchMode(this.value);
+			// Confirm post format change
+			if(window.confirm(dotclear.msg.confirm_change_post_format_noconvert)){
+				excerptTb.switchMode(this.value);
+				contentTb.switchMode(this.value);
+				last_post_format = $(this).val();
+			}else{
+				// Restore last format if change cancelled
+				$(this).val(last_post_format);
+			}
 		});
 
@@ -151,5 +159,4 @@
 		// We load toolbar on excerpt only when it's ready
 		$('#excerpt-area label').toggleWithLegend($('#excerpt-area').children().not('label'),{
-			fn: function() { excerptTb.switchMode(formatField.value); },
 			cookie: 'dcx_post_excerpt',
 			hide: $('#post_excerpt').val() == ''
@@ -158,5 +165,6 @@
 		// Load toolbars
 		contentTb.switchMode(formatField.value);
-
+		excerptTb.switchMode(formatField.value);
+		
 		// Replace attachment remove links by a POST form submit
 		$('a.attachment-remove').click(function() {
Index: admin/services.php
===================================================================
--- admin/services.php	(revision 1179)
+++ admin/services.php	(revision 1500)
@@ -141,4 +141,22 @@
 	public static function quickPost($core,$get,$post)
 	{
+		# Create category
+		if (!empty($post['new_cat_title']) && $core->auth->check('categories', $core->blog->id)) {
+		
+			$cur_cat = $core->con->openCursor($core->prefix.'category');
+			$cur_cat->cat_title = $post['new_cat_title'];
+			$cur_cat->cat_url = '';
+			
+			$parent_cat = !empty($post['new_cat_parent']) ? $post['new_cat_parent'] : '';
+			
+			# --BEHAVIOR-- adminBeforeCategoryCreate
+			$core->callBehavior('adminBeforeCategoryCreate', $cur_cat);
+			
+			$post['cat_id'] = $core->blog->addCategory($cur_cat, (integer) $parent_cat);
+			
+			# --BEHAVIOR-- adminAfterCategoryCreate
+			$core->callBehavior('adminAfterCategoryCreate', $cur_cat, $post['cat_id']);
+		}
+		
 		$cur = $core->con->openCursor($core->prefix.'post');
 		
Index: admin/update.php
===================================================================
--- admin/update.php	(revision 1474)
+++ admin/update.php	(revision 1529)
@@ -106,5 +106,8 @@
 					throw new Exception(
 						sprintf(__('Downloaded Dotclear archive seems to be corrupted. '.
-						'Try <a %s>download it</a> again.'),'href="'.$p_url.'?step=download"')
+						'Try <a %s>download it</a> again.'),'href="'.$p_url.'?step=download"').
+						' '.
+						__('If this problem persists try to '.
+						'<a href="http://dotclear.org/download">update manually</a>.')
 					);
 				}
Index: locales/en/help/user_pref.html
===================================================================
--- locales/en/help/user_pref.html	(revision 243)
+++ locales/en/help/user_pref.html	(revision 1487)
@@ -8,5 +8,5 @@
 <h3>My profile</h3>
 <dl>
-  <dt>Name, First name</dt>
+  <dt>Last name, First name</dt>
   <dd>If the display name is empty, the author's name will be displayed
   as his Firstname and Name as set here.</dd>
@@ -37,5 +37,5 @@
 <dl>  
   <dt>Preferred format</dt>
-  <dd>To choose the prefered post syntax. Wiki is a simplified syntax
+  <dd>To choose the preferred post syntax. Wiki is a simplified syntax
   and will be converted to valid xhtml&nbsp;; Unless you have a perfect
   understanding of html, we advise you to choose the wiki syntax.</dd>
@@ -59,6 +59,5 @@
   
   <dt>Activate enhanced uploader in media manager</dt>
-  <dd>This option allows you to upload several files at the same time on your server.
-  Needs the presence of Flash plugin in your browser.</dd>
+  <dd>This option allows you to upload several files at the same time on your server.</dd>
   
   <dt>Dashboard modules</dt>
Index: locales/en/main.po
===================================================================
--- locales/en/main.po	(revision 1499)
+++ locales/en/main.po	(revision 1529)
@@ -1917,4 +1917,7 @@
 msgstr ""
 
+msgid "If this problem persists try to <a href="http://dotclear.org/download">update manually</a>."
+msgstr ""
+
 msgid "The following files of your Dotclear installation have been modified so we won't try to update your installation. Please try to <a href=\"http://dotclear.org/download\">update manually</a>."
 msgstr ""
Index: locales/fr/main.po
===================================================================
--- locales/fr/main.po	(revision 1526)
+++ locales/fr/main.po	(revision 1529)
@@ -1990,4 +1990,7 @@
 msgstr "L'archive de Dotclear téléchargée semble être corrompue. Essayer de la <a %s>télécharger</a> à nouveau."
 
+msgid "If this problem persists try to <a href="http://dotclear.org/download">update manually</a>."
+msgstr "Si le problème persiste essayer de <a href="http://dotclear.org/download">mettre à jour manuellement</a>."
+
 msgid "The following files of your Dotclear installation have been modified so we won't try to update your installation. Please try to <a href=\"http://dotclear.org/download\">update manually</a>."
 msgstr "Comme les fichiers suivants de votre installation de Dotclear ont été modifiés, votre installation ne peut être mise à jour. Merci de <a href=\"http://fr.dotclear.org/download\">mettre à jour manuellement</a>."
@@ -3159,2 +3162,5 @@
 msgid "Create a new category for the post(s)"
 msgstr "Créer une nouvelle catégorie pour ce(s) billet(s)"
+
+msgid "This category will be created when you will save your post."
+msgstr "Cette catégorie sera créée lorsque vous enregistrerez votre billet."
Index: plugins/antispam/inc/lib.dc.antispam.php
===================================================================
--- plugins/antispam/inc/lib.dc.antispam.php	(revision 1179)
+++ plugins/antispam/inc/lib.dc.antispam.php	(revision 1478)
@@ -75,5 +75,5 @@
 		if (($count = self::countSpam($core)) > 0) {
 			$str = ($count > 1) ? __('(including %d spam comments)') : __('(including %d spam comment)');
-			$icons['comments'][0] .= '</a> <br /><a href="comments.php?status=-2"><span>'.sprintf($str,$count).'</span>';
+			$icons['comments'][0] .= '</span></a> <br /><a href="comments.php?status=-2"><span>'.sprintf($str,$count);
 		}
 	}
@@ -83,5 +83,5 @@
 		if (($count = self::countSpam($core)) > 0) {
 			$str = ($count > 1) ? __('(including %d spam comments)') : __('(including %d spam comment)');
-			return '</a> <br /><a href="comments.php?status=-2"><span>'.sprintf($str,$count).'</span>';
+			return '</span></a> <br /><a href="comments.php?status=-2"><span>'.sprintf($str,$count);
 		} else {
 			return '';
Index: plugins/blogroll/index.php
===================================================================
--- plugins/blogroll/index.php	(revision 1454)
+++ plugins/blogroll/index.php	(revision 1529)
@@ -208,4 +208,7 @@
 
 <div class="multi-part" title="<?php echo __('Blogroll'); ?>">
+
+<?php if (!$rs->isEmpty()) { ?>
+
 <form action="plugin.php" method="post" id="links-form">
 <table class="maximal dragable">
@@ -251,24 +254,27 @@
 </tbody>
 </table>
-<?php
-	if (!$rs->isEmpty()) {
-		echo
-		'<div class="two-cols">'.
-		'<p class="col">'.form::hidden('links_order','').
-		form::hidden(array('p'),'blogroll').
-		$core->formNonce().
-		'<input type="submit" name="saveorder" value="'.__('Save order').'" /></p>'.
-		
-		'<p class="col right"><input type="submit" class="delete" name="removeaction"'.
-		' value="'.__('Delete selected links').'" '.
-		'onclick="return window.confirm(\''.html::escapeJS(
-			__('Are you sure you want to delete selected links?')).'\');" /></p>'.
-		'</div>';
-	} else {
-		echo
-		'<div><p>'.__('The link list is empty.').'</p></div>';
-	}
-?>
+
+<div class="two-cols">
+<p class="col">
+<?php
+	echo 
+	form::hidden('links_order','').
+	form::hidden(array('p'),'blogroll').
+	$core->formNonce();
+?>
+<input type="submit" name="saveorder" value="<?php echo __('Save order'); ?>" /></p>
+<p class="col right"><input type="submit" class="delete" name="removeaction"
+	 value="<?php echo __('Delete selected links'); ?>" 
+	 onclick="return window.confirm('
+	 <?php echo html::escapeJS(__('Are you sure you want to delete selected links?')); ?>');" /></p>
+</div>
 </form>
+
+<?php
+} else {
+	echo '<div><p>'.__('The link list is empty.').'</p></div>';
+}
+?>
+
 </div>
 
Index: plugins/pages/_install.php
===================================================================
--- plugins/pages/_install.php	(revision 1505)
+++ plugins/pages/_install.php	(revision 1529)
@@ -20,6 +20,4 @@
 /* Create first page
 -------------------------------------------------------- */
-$core->setBlog('default');
-
 $core->blog->settings->addNamespace('pages');
 
