diff --git a/ecrire/inc_documents.php3 b/ecrire/inc_documents.php3
index 6715868bb13f42a756a9edecdf2e2d0fd3343ff7..02aa677295ade857a204cfdbc9aa081f5e255243 100644
--- a/ecrire/inc_documents.php3
+++ b/ecrire/inc_documents.php3
@@ -325,11 +325,13 @@ function fichiers_upload($dir) {
 	$d = opendir($dir);
 
 	while ($f = readdir($d)) {
-		if (is_file("$dir/$f") AND $f != 'remove.txt') {
+		if (is_file("$dir/$f") AND is_readable("$dir/$f")
+		AND $f != 'remove.txt') {
 			$fichiers[] = "$dir/$f";
 		}
 		else
-		if (is_dir("$dir/$f") AND $f != '.' AND $f != '..') {
+		if (is_dir("$dir/$f") AND is_readable("$dir/$f")
+		AND $f != '.' AND $f != '..') {
 			$fichiers_dir = fichiers_upload("$dir/$f");
 			while (list(,$f2) = each ($fichiers_dir))
 				$fichiers[] = $f2;
diff --git a/ecrire/inc_getdocument.php3 b/ecrire/inc_getdocument.php3
index 5b3c036d71d87f589247e972bb39a8efab8eb6ac..ec2c04aa6a52fcbf3659a9eadfcdc66be56d11f0 100644
--- a/ecrire/inc_getdocument.php3
+++ b/ecrire/inc_getdocument.php3
@@ -229,8 +229,10 @@ function ajouter_un_document ($source, $nom_envoye, $type_lien, $id_lien, $mode,
 
 	// Recopier le fichier a son emplacement definitif
 	$definitif = copier_document($ext, $nom_envoye, $source);
-	if (!$definitif)
+	if (!$definitif) {
+		spip_log("Impossible de copier_document($ext, $nom_envoye, $source)");
 		return;
+	}
 
 	// Quelques infos sur le fichier
 	if (!@file_exists($definitif)
diff --git a/ecrire/inc_lang.php3 b/ecrire/inc_lang.php3
index b086ea55ebc6ced850c8e746d3e18bfaa3ca5aaa..f7dc89b9ea6d58d82939c771e4c9ffc8c11d43dc 100644
--- a/ecrire/inc_lang.php3
+++ b/ecrire/inc_lang.php3
@@ -42,7 +42,7 @@ function charger_langue($lang, $module = 'spip') {
 			include_lang($fichier_lang);
 			$GLOBALS['i18n_'.$module.'_'.$lang]
 				= &$GLOBALS['i18n_'.$module.'_'.$l];
-			spip_log("module de langue : ${module}_$l.php3");
+			#spip_log("module de langue : ${module}_$l.php3");
 		}
 	}
 
diff --git a/formulaires/inc-formulaire_ecrire_auteur.php3 b/formulaires/inc-formulaire_ecrire_auteur.php3
index 4639ff0f09fcf0649312bde05de3883950891d4f..787548e1c4e4f05051492f31a6887c92866dfcb5 100644
--- a/formulaires/inc-formulaire_ecrire_auteur.php3
+++ b/formulaires/inc-formulaire_ecrire_auteur.php3
@@ -45,7 +45,7 @@ function balise_FORMULAIRE_ECRIRE_AUTEUR_dyn($id_auteur, $id_article, $mail) {
 
 	// id du formulaire (pour en avoir plusieurs sur une meme page)
 	$id = ($id_auteur ? '_'.$id_auteur : '_ar'.$id_article);
-spip_log("id formulaire = $id, "._request("valide".$id));
+	#spip_log("id formulaire = $id, "._request("valide".$id));
 	$sujet = _request('sujet_message_auteur'.$id);
 	$texte = _request('texte_message_auteur'.$id);
 	$adres = _request('email_message_auteur'.$id);
diff --git a/formulaires/inc-formulaire_forum.php3 b/formulaires/inc-formulaire_forum.php3
index c0562c94c2db60060bf7c539e79c85af3a5acf47..9ec7efb8adad745ad89b7988ee9bc39166e705bf 100644
--- a/formulaires/inc-formulaire_forum.php3
+++ b/formulaires/inc-formulaire_forum.php3
@@ -382,7 +382,7 @@ function sql_recherche_donnees_forum ($idr, $idf, $ida, $idb, $ids) {
 
 	if ($r) {
 		list($titre) = spip_fetch_array(spip_query($r));
-		$titre = '> ' . supprimer_numero($titre);
+		$titre = '> ' . supprimer_numero(preg_replace('/^> /', '', $titre));
 	} else {
 		$titre = _T('forum_titre_erreur');
 		$table = '';
diff --git a/inc-balises.php3 b/inc-balises.php3
index b236be8e154f95984667b10f337827f44050fa97..48cc72fde478e186e53f8308ee89152a56b998b0 100644
--- a/inc-balises.php3
+++ b/inc-balises.php3
@@ -393,23 +393,15 @@ function balise_EMBED_DOCUMENT_dist($p) {
 // sinon elles seront remplacees par les fontions de inc_surligne
 // flag_pcre est juste une flag signalant que preg_match est dispo.
 
-function code_balise_surligne($p, $b)
-{
+function balise_DEBUT_SURLIGNE_dist($p) {
 	global $flag_pcre;
-	$p->code = (!$flag_pcre ? "''" :
-		    ('(!$GLOBALS["var_recherche"] ? "" : \'<' . 
-		     $b .
-		     'span class="spip_surligneconditionnel">\')'));
-	$p->statut = 'php';
+	$p->code = ($flag_pcre ? ('\'<span class="spip_surligneconditionnel">\'') : "''");
 	return $p;
 }
-
-function balise_DEBUT_SURLIGNE_dist($p) {
-	return code_balise_surligne($p, '');
-}
-
 function balise_FIN_SURLIGNE_dist($p) {
-	return code_balise_surligne($p, '/');
+	global $flag_pcre;
+	$p->code = ($flag_pcre ? ('\'</span class="spip_surligneconditionnel">\'') : "''");
+	return $p;
 }