|  | @@ -52,13 +52,14 @@ function diffParser(html, more, whitespace) {
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		},
 | 
	
		
			
				|  |  |  		onclosetag: (tagname) => {
 | 
	
		
			
				|  |  | -			current_tag = '';
 | 
	
		
			
				|  |  |  			if ( tagname === 'ins' ) current_tag = 'tda';
 | 
	
		
			
				|  |  |  			if ( tagname === 'del' ) current_tag = 'tdd';
 | 
	
		
			
				|  |  | +			if ( tagname === 'td' ) current_tag = '';
 | 
	
		
			
				|  |  |  			if ( tagname === 'tr' ) {
 | 
	
		
			
				|  |  |  				if ( last_ins !== null ) {
 | 
	
		
			
				|  |  |  					ins_length++;
 | 
	
		
			
				|  |  | -					if ( empty && last_ins.trim().length && !last_ins.includes( '**' ) ) {
 | 
	
		
			
				|  |  | +					if ( empty && last_ins.trim().length ) {
 | 
	
		
			
				|  |  | +						if ( last_ins.includes( '**' ) ) last_ins = last_ins.replace( /\*\*/g, '__' );
 | 
	
		
			
				|  |  |  						ins_length += 4;
 | 
	
		
			
				|  |  |  						last_ins = '**' + last_ins + '**';
 | 
	
		
			
				|  |  |  					}
 | 
	
	
		
			
				|  | @@ -68,7 +69,8 @@ function diffParser(html, more, whitespace) {
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  				if ( last_del !== null ) {
 | 
	
		
			
				|  |  |  					del_length++;
 | 
	
		
			
				|  |  | -					if ( empty && last_del.trim().length && !last_del.includes( '~~' ) ) {
 | 
	
		
			
				|  |  | +					if ( empty && last_del.trim().length ) {
 | 
	
		
			
				|  |  | +						if ( last_del.includes( '~~' ) ) last_del = last_del.replace( /\~\~/g, '__' );
 | 
	
		
			
				|  |  |  						del_length += 4;
 | 
	
		
			
				|  |  |  						last_del = '~~' + last_del + '~~';
 | 
	
		
			
				|  |  |  					}
 | 
	
	
		
			
				|  | @@ -84,13 +86,13 @@ function diffParser(html, more, whitespace) {
 | 
	
		
			
				|  |  |  	parser.end();
 | 
	
		
			
				|  |  |  	var compare = ['', ''];
 | 
	
		
			
				|  |  |  	if ( small_prev_del.length ) {
 | 
	
		
			
				|  |  | -		if ( small_prev_del.replace( /\~\~/g, '' ).trim().length ) {
 | 
	
		
			
				|  |  | -			compare[0] = small_prev_del.replace( /\~\~\~\~/g, '' );
 | 
	
		
			
				|  |  | +		if ( small_prev_del.replace( /\~\~|__/g, '' ).trim().length ) {
 | 
	
		
			
				|  |  | +			compare[0] = small_prev_del.replace( /\~\~\~\~|____/g, '' );
 | 
	
		
			
				|  |  |  		} else compare[0] = whitespace;
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  	if ( small_prev_ins.length ) {
 | 
	
		
			
				|  |  | -		if ( small_prev_ins.replace( /\*\*/g, '' ).trim().length ) {
 | 
	
		
			
				|  |  | -			compare[1] = small_prev_ins.replace( /\*\*\*\*/g, '' );
 | 
	
		
			
				|  |  | +		if ( small_prev_ins.replace( /\*\*|__/g, '' ).trim().length ) {
 | 
	
		
			
				|  |  | +			compare[1] = small_prev_ins.replace( /\*\*\*\*|____/g, '' );
 | 
	
		
			
				|  |  |  		} else compare[1] = whitespace;
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  	return compare;
 |