1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-18 21:02:41 +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 invalidate utf8 sequences with this hack.

Test Plan: grepped for calls to this method

Reviewers: jungejason, aran, tuomaspelkonen

CC:

Differential Revision: 515
This commit is contained in:
epriestley 2011-06-24 10:16:07 -07:00
parent e5a036e8c9
commit fe04d8bf70

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,