Обнаружил досадный баг в опере, точно не помню начиная с какой ревизии, но в текущей 12.14 он так и остался. Суть его в том, что например на этом форуме выделяя текст, и нажимая быструю цитату

, строки текста сливаются в одну. В итоге цитата превращается в не читабельную кашу. Если текст короткий еще можно вручную подредактировать, но с большими объемами это уже геморно. Как выяснилось причина такого поведения в неправильной обработке выделяемого текста, через
document.getSelection(). Если текст был в одну строку, разделенный только тегом
br, без символов перевода строки, то он почему то воспринимается как слитная строка. На сайтах, где вывод обрабатывается через
nl2br, такой проблемы не будет, т.к. эта функция просто добавляет тег, перед переводом строки, но на этом форуме, как и на многих других, на IPB, похоже используется str_replace, и перевод строки замещается тегом.
Вначале думал писать в оперу баг репорт, но в свете последних событий не вижу в этом смысла. Для себя решил эту проблему через userJS, благо разработчики дали нам такую возможность, самим править их косяки

Решил поделится своим костылем, возможно кому то еще он будет полезен

1 создаем директорию, где сочтем нужным, в которой будут хранится пользовательские скрипты.
2 настраиваем оперу
Инструменты->Общие нсатройки (Ctrl+F12)->Содержимое->Настроить JavaScript
внизу будет файловый диалог, где нужно указать путь к той папке, что мы создали
3 создаем в этой директории файл, например с именем
bug_fix_witn_newline.js, со следующим содержимым
document.addEventListener(
'DOMContentLoaded',
function() {
var br = document.getElementsByTagName('br');
for(var i = 0; i < br.length; i++)
br[i].parentNode.insertBefore(document.createTextNode("\n"), br[i]);
},
false
);
4 всё, радуемся жизни

. Перезапуск браузера не требуется, юзерские скрипты запускаются при каждом открытии страницы, или рефреше.