Hexchat: Случайное выделение, не совпадающее ни с чем в "Дополнительные слова для выделения"

Созданный на 11 янв. 2013  ·  13Комментарии  ·  Источник: hexchat/hexchat

irc_extra_hilight = Arna,Arnav,Arny,Arnie,*Arnavion*,Arnavicon,Arniggervion,*navion*,Arnawion,AtashiCon,ARNAVION
irc_nick_hilight = 
irc_no_hilight = NickServ,ChanServ,InfoServ,N,Q,Quotes,Belfiore,Trivia,{Houki}

Примеры сообщения, которое привлекло меня к жизни сегодня утром:

<@gmaxwell> I _thought_ that if the binary was fully static it did manage to link it. Maybe I'm remembering it wrong.

Вставка того же сообщения (через другого клиента) меня больше не выделяет. Другими словами, это недетерминированная и почти наверняка ошибка.


Изменить: как оказалось, эти фантомные выделения запускаются только для #bitcoin. Единственное, что я могу придумать особенным в этом канале, это то, что это первый канал, к которому я (автоматически) присоединяюсь в freenode, который сам является второй сетью, к которой я (автоматически) подключаюсь. Ни один из каналов в первой сети (Rizon) или любых других каналах в Freenode не активирует эти выделения.


Изменить 2: выше подтверждено. Теперь, когда я тоже на # gtk + в GimpNet, такое поведение наблюдается только на этом канале. Похоже, такое поведение происходит на первом канале последней сети, к которой я присоединился.


Соответствующий код находится в inbound.c (alert_match_word, alert_match_text) и util.c (match).

Возможное исправление - заменить сумасшедшую логику в этих методах на GRegex.

Кроме того: GRegex был представлен в GLib 2.14, поэтому увеличьте требования в configure.ac

Самый полезный комментарий

Последний выпуск, это происходит со мной по всем каналам во всех сетях.

РЕДАКТИРОВАТЬ: В обычном письме вы обычно пишете пробелы после запятых. В списке HL не должно быть пробелов. Удаление их между запятыми устранило проблему.

Все 13 Комментарий

Зачем? Этот баг и этот - не одно и то же.

Как только вы преобразуете это в регулярное выражение, возможно, он справится с этим лучше.

Так как эту проблему трудно воспроизвести, я добавил временный код (# 400) в inbound.c, outbound.c, inbound.h, который записывает информацию (временная метка, текст, от) для каждого случая, когда is_hilight () "if" -statement возвращает TRUE. Он формирует GList этих триплетов, количество которых ограничено глобальным uint count371lim и изначально 100.

Чтобы показать результаты в любое время, введите команду «/ debug hilight» в любой командной строке hexchat. Вот пример вывода этой команды:
Отладка проблемы подсветки (проблема 371) ---
(Каждой из двух строк предшествует и за ними стоит символ "---")
06.02.13 15:16:42 текст: --- testme там, rich3abcd --- от: --- richtroye ---
06.02.13 15:16:46 текст: --- testme там, rich3abcd --- от: --- richtroye ---
06.02.13 15:16:48 текст: --- testme там, rich3abcd --- от: --- richtroye ---
06.02.13 15:17:11 текст: --- testme там, rich3abcd --- от: --- richtroye ---
06.02.13 15:17:11 текст: --- testme там, rich3abcd --- от: --- richtroye ---
06.02.13 15:17:11 текст: --- testme там, rich3abcd --- от: --- richtroye ---
Конец списка

Пожалуйста, при запуске этого кода обратите внимание на возможные ошибки, связанные с этой проблемой. Когда вы его увидите, запустите / отладьте hilight и скопируйте и вставьте результаты в файл. Напишите здесь заметку о том, что вы видели, и включите соответствующие строки из этого файла.

@RichardHitt, учитывая, что это временно, зачем вам делать

Если вы сделали этот пиар с этой целью, я мог бы сказать вам раньше, что в этом нет необходимости. У меня уже есть сценарий ведения журнала, который записывает ту же информацию.

Изменить: вот сценарий - https://raw.github.com/Arnavion/random/master/hexchat/highlight.pl

Давно не перепродавался (по крайней мере, с версии 2.9.6). Закрытие.

С сегодняшнего утра снова началось (два раза за 12 часов): |

Это только начало со мной происходить. Я запустил /debug hilight , но он перечислил только каналы и серверы, на которых я нахожусь. Я предполагаю, что временный код, добавленный @RichardHitt, давно был удален.

Это началось после того, как я попытался добавить новую подсветку («бот умер»): TW,whisper,the bot died, . Затем это продолжалось после того, как я удалил новое выделение и вернулся к исходным основным моментам ( TW,whisper, ). Я даже удалил все из поля выделения, а затем добавил обратно только те, которые были у меня до добавления нового, но он по-прежнему выделял случайные строки. Если я удалю все с поля, я не получу случайных выделений.

РЕДАКТИРОВАТЬ: даже удаление всех бликов, перезапуск программы, а затем повторное добавление бликов не решает проблему. По-прежнему дает случайные блики.

Хорошо, проблема решена, убрав завершающий знак , из моих выделений.

TW,whisper, = случайные моменты
TW,whisper = без случайных выделений

Это случилось со мной в последней версии, с запятой или без нее.

Последний выпуск, это происходит со мной по всем каналам во всех сетях.

РЕДАКТИРОВАТЬ: В обычном письме вы обычно пишете пробелы после запятых. В списке HL не должно быть пробелов. Удаление их между запятыми устранило проблему.

Я тоже столкнулся с этой проблемой. Согласно решению @faithlessfate , удаление пробелов вокруг каждого термина решило проблему.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

skovacs1 picture skovacs1  ·  5Комментарии

AlannahDaw picture AlannahDaw  ·  7Комментарии

Atario picture Atario  ·  13Комментарии

edgan picture edgan  ·  3Комментарии

Krahazik picture Krahazik  ·  6Комментарии