Убрать эту фичу?
Давай сделаю,   чтобы при параметре < нуля - ставить 40, а во всех остальных случаях как есть?

Да! еще! Передавать будем не 40, а 20 (то есть всегда значение в два раза меньше)
Смысл числа в том, что это количество символов, которые надо брать слева от диффа и справа от диффа.

В общем логика будет та же самая, только избежать можно деления и использования функции Math.ceil()