followlines: don't put Unicode directly into the .js file (issue6559)
authorAnton Shestakov <av6@dwimlabs.net>
Mon, 02 May 2022 12:10:28 +0400
changeset 49206 2c0570a6d5ae
parent 49205 df3e9d98951b
child 49207 5ad37b5bfb31
followlines: don't put Unicode directly into the .js file (issue6559) Apparently some web server setups may serve this file in a different encoding than UTF-8, and that results in visual garbage in the followlines button that renders for every line in a file. So instead of using this Unicode character in UTF-8 we can encode it as \u2212. Or, to be more explicit, we can use &minus; HTML entity, which resolves into exactly that character. Since now we're using innerHTML property to set the minus part of the button, let's use it to set the plus part as well (even though the plus sign was plain ASCII). A wise man once said "A foolish consistency is the hobgob... eh, whatever." Throw a brick at me if this makes things worse. Differential Revision: https://phab.mercurial-scm.org/D12597
mercurial/templates/static/followlines.js
--- a/mercurial/templates/static/followlines.js	Thu Apr 28 11:20:17 2022 -0400
+++ b/mercurial/templates/static/followlines.js	Mon May 02 12:10:28 2022 +0400
@@ -50,13 +50,13 @@
         btn.classList.add('btn-followlines');
         var plusSpan = document.createElement('span');
         plusSpan.classList.add('followlines-plus');
-        plusSpan.textContent = '+';
+        plusSpan.innerHTML = '&plus;';
         btn.appendChild(plusSpan);
         var br = document.createElement('br');
         btn.appendChild(br);
         var minusSpan = document.createElement('span');
         minusSpan.classList.add('followlines-minus');
-        minusSpan.textContent = '−';
+        minusSpan.innerHTML = '&minus;';
         btn.appendChild(minusSpan);
         return btn;
     }