1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-01-18 18:51:12 +01:00

Remove UTF-8 kludges from Differential

Summary:
This depends on D513 and D514. Those diffs make the display algorithms safe with
respect to mutating utf8, so we no longer need to repair potentially invalid
utf8 sequences with this hack.

Test Plan:
grepped for calls to this method

Reviewers: jungejason, aran, tuomaspelkonen
Commenters: jungejason
CC: aran, epriestley, jungejason
Differential Revision: 515
This commit is contained in:
epriestley 2011-06-24 10:16:07 -07:00
parent 5cfc14cb43
commit e480233eb8

View file

@ -520,9 +520,6 @@ class DifferentialChangesetParser {
ipull($this->intra, 1),
$new_corpus);
$this->tokenHighlight($this->oldRender);
$this->tokenHighlight($this->newRender);
$generated = (strpos($new_corpus_block, '@'.'generated') !== false);
$this->specialAttributes[self::ATTR_GENERATED] = $generated;
@ -710,23 +707,6 @@ class DifferentialChangesetParser {
return implode('', $result);
}
protected function tokenHighlight(&$render) {
// TODO: This is really terribly horrible and should be fixed. We have two
// byte-oriented algorithms (wordwrap and intraline diff) which are not
// unicode-aware and can accept a valid UTF-8 string but emit an invalid
// one by adding markup inside the byte sequences of characters. The right
// fix here is to make them UTF-8 aware. Short of that, we can repair the
// possibly-broken UTF-8 string into a valid UTF-8 string by replacing all
// UTF-8 bytes with a Unicode Replacement Character.
foreach ($render as $key => $text) {
$render[$key] = preg_replace(
'/[\x80-\xFF]/',
'<span class="uu">'."\xEF\xBF\xBD".'</span>',
$text);
}
}
protected function getHighlightFuture($corpus) {
return $this->highlightEngine->getHighlightFuture(
$this->filetype,