[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/3.5/kdewebdev/quanta
From: Andras Mantia <amantia () kde ! org>
Date: 2006-09-09 14:29:14
Message-ID: 1157812154.304977.32265.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 582484 by amantia:
Handle correctly the escaped backslashes inside strings.
BUG: 128819
M +1 -0 ChangeLog
M +13 -3 parsers/saparser.cpp
M +32 -6 utility/quantacommon.cpp
--- branches/KDE/3.5/kdewebdev/quanta/ChangeLog #582483:582484
@@ -19,6 +19,7 @@
- really abort if a remote directory cannot be created [#117032]
- fix automatic updating of closing tags [#132357]
- accept float numbers for length values [#130295]
+ - handle correctly the escaped backslashes inside strings []
- improvements:
- make CSS completion work inside style attributes [#80605]
--- branches/KDE/3.5/kdewebdev/quanta/parsers/saparser.cpp #582483:582484
@@ -490,10 +490,20 @@
p = s_textLine.find(s_currentContext.startString, p);
if (p != -1)
{
- if (p == 0 || (p > 0 && s_textLine[p-1] != '\\'))
+ if (p >= 0)
{
- pos = p;
- break;
+ int i = p - 1;
+ int slahNum = 0;
+ while (i > 0 && s_textLine[i] == '\\')
+ {
+ slahNum++;
+ i--;
+ }
+ if (p == 0 || (slahNum % 2 == 0))
+ {
+ pos = p;
+ break;
+ }
}
} else
break;
--- branches/KDE/3.5/kdewebdev/quanta/utility/quantacommon.cpp #582483:582484
@@ -468,9 +468,22 @@
s = dtd->commentsStartRx.cap();
if (s == "\\\"" || s == "\\'")
{
- str[pos] = space;
- str[pos+1] = space;
- pos += 2;
+ int i = pos;
+ int slahNum = 0;
+ while (i > 0 && str[i] == '\\')
+ {
+ slahNum++;
+ i--;
+ }
+ if (slahNum % 2 == 0)
+ {
+ pos++;
+ } else
+ {
+ str[pos] = space;
+ str[pos+1] = space;
+ pos += 2;
+ }
} else
{
s = dtd->comments[s];
@@ -521,9 +534,22 @@
s = dtd->commentsStartRx.cap();
if (s == "\\\"" || s == "\\'")
{
- str[pos] = space;
- str[pos+1] = space;
- pos += 2;
+ int i = pos;
+ int slahNum = 0;
+ while (i > 0 && str[i] == '\\')
+ {
+ slahNum++;
+ i--;
+ }
+ if (slahNum % 2 == 0)
+ {
+ pos++;
+ } else
+ {
+ str[pos] = space;
+ str[pos+1] = space;
+ pos += 2;
+ }
} else
{
s = dtd->comments[s];
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic