From 5f46e60bca2a0217bb9c9eb71535839dd6eb830b Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Wed, 10 Mar 2004 22:02:41 +0000
Subject: [PATCH] =?UTF-8?q?bug=20:=20--=20ne=20donnait=20pas=20mdash=20en?=
 =?UTF-8?q?=20d=C3=A9but=20de=20texte.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/inc_texte.php3 | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3
index b94a486780..c3a66eb0ce 100644
--- a/ecrire/inc_texte.php3
+++ b/ecrire/inc_texte.php3
@@ -864,11 +864,11 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = '
 	// branches de l'alternative (if (!flag_pcre).../else).
 	//
 
-	$letexte = trim($letexte);
+	$letexte = "\n".trim($letexte);
 
 
 	// les listes
-	if (ereg("\n-[*#]", "\n".$letexte))
+	if (ereg("\n-[*#]", $letexte))
 		$letexte = traiter_listes($letexte);
 
 	// autres raccourcis
@@ -877,8 +877,7 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = '
 		   sans pcre ; toutefois les elements ci-dessous sont un peu optimises (str_replace
 		   est plus rapide que ereg_replace), donc laissons les deux branches cohabiter, ca
 		   permet de gagner un peu de temps chez les hergeurs nazes */
-		$letexte = ereg_replace("(^|\n)(-{4,}|_{4,})", "@@SPIP_ligne_horizontale@@", $letexte);
-		$letexte = ereg_replace("^- *", "$puce&nbsp;", $letexte);
+		$letexte = ereg_replace("\n(-{4,}|_{4,})", "@@SPIP_ligne_horizontale@@", $letexte);
 		$letexte = ereg_replace("\n-- *", "\n<br />&mdash&nbsp;",$letexte);
 		$letexte = ereg_replace("\n- *", "\n<br />$puce&nbsp;",$letexte);
 		$letexte = ereg_replace("\n_ +", "\n<br />",$letexte);
@@ -894,12 +893,12 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = '
 		$letexte = str_replace("\n", " ", $letexte);
 		$letexte = str_replace("<quote>", "<div class=\"spip_quote\">", $letexte);
 		$letexte = str_replace("<\/quote>", "</div>", $letexte);
+		$letexte = ereg_replace("^ <br />", "", $letexte);
 	}
 	else {
 		$cherche1 = array(
-			/* 0 */ 	"/(^|\n)(----+|____+)/",
-			/* 1 */ 	"/^- */",
-			/* 1bis */ 	"/\n-- */",
+			/* 0 */ 	"/\n(----+|____+)/",
+			/* 1 */ 	"/\n-- */",
 			/* 2 */ 	"/\n- */",
 			/* 3 */ 	"/\n_ +/",
 			/* 4 */ 	"/(( *)\n){2,}/",
@@ -918,8 +917,7 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = '
 		);
 		$remplace1 = array(
 			/* 0 */ 	"@@SPIP_ligne_horizontale@@",
-			/* 1 */ 	"$puce&nbsp;",
-			/* 1bis */ 	"\n<br />&mdash;&nbsp;",
+			/* 1 */ 	"\n<br />&mdash;&nbsp;",
 			/* 2 */ 	"\n<br />$puce&nbsp;",
 			/* 3 */ 	"\n<br />",
 			/* 4 */ 	"\n<p>",
@@ -937,6 +935,7 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = '
 			/* 16 */	"</blockquote>"
 		);
 		$letexte = ereg_remplace($cherche1, $remplace1, $letexte);
+		$letexte = preg_replace("@^ <br />@", "", $letexte);
 	}
 
 	// paragrapher
-- 
GitLab