Skip to content

Commit 86c90ff

Browse files
committed
fix handling escaped slashes outsite formatting #460
1 parent 00ba172 commit 86c90ff

6 files changed

+18
-36
lines changed

js/jquery.terminal-2.0.2.js

+5-11
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
* emoji regex v7.0.1 by Mathias Bynens
3636
* MIT license
3737
*
38-
* Date: Sat, 19 Jan 2019 10:43:55 +0000
38+
* Date: Sat, 19 Jan 2019 10:58:42 +0000
3939
*/
4040

4141
/* TODO:
@@ -3471,7 +3471,7 @@
34713471
// -------------------------------------------------------------------------
34723472
$.terminal = {
34733473
version: 'DEV',
3474-
date: 'Sat, 19 Jan 2019 10:43:55 +0000',
3474+
date: 'Sat, 19 Jan 2019 10:58:42 +0000',
34753475
// colors from http://www.w3.org/wiki/CSS/Properties/color/keywords
34763476
color_names: [
34773477
'transparent', 'currentcolor', 'black', 'silver', 'gray', 'white',
@@ -3867,7 +3867,6 @@
38673867
var prev_format = '';
38683868
var result = [];
38693869
var array = $.terminal.normalize(str).split(/\n/g);
3870-
var first = true;
38713870
for (var i = 0, len = array.length; i < len; ++i) {
38723871
if (array[i] === '') {
38733872
result.push('');
@@ -3877,9 +3876,6 @@
38773876
var first_index = 0;
38783877
var output;
38793878
var line_length = line.length;
3880-
if (line.match(/\\\\/)) {
3881-
//console.log(line);
3882-
}
38833879
var chars = $.terminal.split_characters(text(line));
38843880
if (chars.length <= length) {
38853881
result.push(line);
@@ -4204,9 +4200,6 @@
42044200
// :: Replace terminal formatting with html
42054201
// ---------------------------------------------------------------------
42064202
format: function format(str, options) {
4207-
function safe_text(string) {
4208-
return safe(string.replace(/\\\\/g, '\\'));
4209-
}
42104203
var settings = $.extend({}, {
42114204
linksNoReferrer: false,
42124205
linksNoFollow: false,
@@ -4236,7 +4229,8 @@
42364229
if (text === '') {
42374230
return ''; //'<span>&nbsp;</span>';
42384231
}
4239-
text = safe_text(text);
4232+
// inside formatting we need to unescape escaped slashes
4233+
text = safe(text).replace(/\\\\/g, '\\');
42404234
var style_str = '';
42414235
if (style.indexOf('b') !== -1) {
42424236
style_str += 'font-weight:bold;';
@@ -4324,7 +4318,7 @@
43244318
return result;
43254319
});
43264320
} else {
4327-
text = safe_text(text);
4321+
text = safe(text);
43284322
var extra = extra_css(text, options);
43294323
if (extra.length) {
43304324
text = wide_characters(text, options);

js/jquery.terminal-2.0.2.min.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/jquery.terminal-src.js

+3-9
Original file line numberDiff line numberDiff line change
@@ -3867,7 +3867,6 @@
38673867
var prev_format = '';
38683868
var result = [];
38693869
var array = $.terminal.normalize(str).split(/\n/g);
3870-
var first = true;
38713870
for (var i = 0, len = array.length; i < len; ++i) {
38723871
if (array[i] === '') {
38733872
result.push('');
@@ -3877,9 +3876,6 @@
38773876
var first_index = 0;
38783877
var output;
38793878
var line_length = line.length;
3880-
if (line.match(/\\\\/)) {
3881-
//console.log(line);
3882-
}
38833879
var chars = $.terminal.split_characters(text(line));
38843880
if (chars.length <= length) {
38853881
result.push(line);
@@ -4204,9 +4200,6 @@
42044200
// :: Replace terminal formatting with html
42054201
// ---------------------------------------------------------------------
42064202
format: function format(str, options) {
4207-
function safe_text(string) {
4208-
return safe(string.replace(/\\\\/g, '\\'));
4209-
}
42104203
var settings = $.extend({}, {
42114204
linksNoReferrer: false,
42124205
linksNoFollow: false,
@@ -4236,7 +4229,8 @@
42364229
if (text === '') {
42374230
return ''; //'<span>&nbsp;</span>';
42384231
}
4239-
text = safe_text(text);
4232+
// inside formatting we need to unescape escaped slashes
4233+
text = safe(text).replace(/\\\\/g, '\\');
42404234
var style_str = '';
42414235
if (style.indexOf('b') !== -1) {
42424236
style_str += 'font-weight:bold;';
@@ -4324,7 +4318,7 @@
43244318
return result;
43254319
});
43264320
} else {
4327-
text = safe_text(text);
4321+
text = safe(text);
43284322
var extra = extra_css(text, options);
43294323
if (extra.length) {
43304324
text = wide_characters(text, options);

js/jquery.terminal.js

+5-11
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
* emoji regex v7.0.1 by Mathias Bynens
3636
* MIT license
3737
*
38-
* Date: Sat, 19 Jan 2019 10:43:55 +0000
38+
* Date: Sat, 19 Jan 2019 10:58:42 +0000
3939
*/
4040

4141
/* TODO:
@@ -3471,7 +3471,7 @@
34713471
// -------------------------------------------------------------------------
34723472
$.terminal = {
34733473
version: 'DEV',
3474-
date: 'Sat, 19 Jan 2019 10:43:55 +0000',
3474+
date: 'Sat, 19 Jan 2019 10:58:42 +0000',
34753475
// colors from http://www.w3.org/wiki/CSS/Properties/color/keywords
34763476
color_names: [
34773477
'transparent', 'currentcolor', 'black', 'silver', 'gray', 'white',
@@ -3867,7 +3867,6 @@
38673867
var prev_format = '';
38683868
var result = [];
38693869
var array = $.terminal.normalize(str).split(/\n/g);
3870-
var first = true;
38713870
for (var i = 0, len = array.length; i < len; ++i) {
38723871
if (array[i] === '') {
38733872
result.push('');
@@ -3877,9 +3876,6 @@
38773876
var first_index = 0;
38783877
var output;
38793878
var line_length = line.length;
3880-
if (line.match(/\\\\/)) {
3881-
//console.log(line);
3882-
}
38833879
var chars = $.terminal.split_characters(text(line));
38843880
if (chars.length <= length) {
38853881
result.push(line);
@@ -4204,9 +4200,6 @@
42044200
// :: Replace terminal formatting with html
42054201
// ---------------------------------------------------------------------
42064202
format: function format(str, options) {
4207-
function safe_text(string) {
4208-
return safe(string.replace(/\\\\/g, '\\'));
4209-
}
42104203
var settings = $.extend({}, {
42114204
linksNoReferrer: false,
42124205
linksNoFollow: false,
@@ -4236,7 +4229,8 @@
42364229
if (text === '') {
42374230
return ''; //'<span>&nbsp;</span>';
42384231
}
4239-
text = safe_text(text);
4232+
// inside formatting we need to unescape escaped slashes
4233+
text = safe(text).replace(/\\\\/g, '\\');
42404234
var style_str = '';
42414235
if (style.indexOf('b') !== -1) {
42424236
style_str += 'font-weight:bold;';
@@ -4324,7 +4318,7 @@
43244318
return result;
43254319
});
43264320
} else {
4327-
text = safe_text(text);
4321+
text = safe(text);
43284322
var extra = extra_css(text, options);
43294323
if (extra.length) {
43304324
text = wide_characters(text, options);

js/jquery.terminal.min.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/jquery.terminal.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)