Hexchat: 与“要突出显示的额外单词”中的任何内容都不匹配的随机突出显示

创建于 2013-01-11  ·  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:以上确认。 现在我也在 GimpNet 上的 #gtk+ 上,这种行为只发生在那个频道。 这种行为似乎发生在我加入的最后一个网络的第一个频道上。


相关代码在 inbound.c (alert_match_word, alert_match_text) 和 util.c (match) 中。

可能的解决方法是用 GRegex 替换这些方法中的疯狂逻辑。

旁白:GRegex 是在 GLib 2.14 中引入的,所以在 configure.ac 中提高要求

最有用的评论

最新版本,这在所有网络的所有渠道中都发生在我身上。

编辑:在正常写作中,您倾向于在逗号后写空格。 在 HL 列表中不应有空格。 在我的逗号之间删除它们解决了问题。

所有13条评论

做什么的? 那个bug和这个不一样。

一旦您将其转换为正则表达式,也许它可以更好地处理它。

由于这个问题很难重现,我在inbound.c、outbound.c、inbound.h中添加了临时代码(#400),记录每次is_hilight()的“if”的信息(时间戳、文本、来自) - 语句返回 TRUE。 它形成了这些三元组的 GList,其计数受全局 uint count371lim 和初始 100 的约束。

要随时显示结果,请在任何 hexchat 命令行上键入命令“/debug hilight”。 这是该命令的示例输出:
调试亮点问题(issue 371)---
(两个字符串中的每一个前面和后面都有引人注目的“---”)
02/06/13 15:16:42文字:---testme there,rich3abcd---来自:---richtroye---
02/06/13 15:16:46文字:---testme there,rich3abcd---来自:---richtroye---
02/06/13 15:16:48文字:---testme there,rich3abcd---来自:---richtroye---
02/06/13 15:17:11文字:---testme there,rich3abcd---来自:---richtroye---
02/06/13 15:17:11文字:---testme there,rich3abcd---来自:---richtroye---
02/06/13 15:17:11文字:---testme there,rich3abcd---来自:---richtroye---
列表结束

当您运行此代码时,请注意与此问题有关的感知错误。 当您看到一个时,运行 /debug hilight 并将结果复制并粘贴到文件中。 在此处写下您所看到的内容并包括该文件中的相关行。

@RichardHitt考虑到它是临时的,为什么你要提出拉取请求而不是仅仅将我们指向分支?

如果这就是你做那个 PR 的目的,我可以早点告诉你这是不必要的。 我已经有一个高亮记录脚本来记录相同的信息。

编辑:这是脚本 - 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 等级

相关问题

invidian picture invidian  ·  14评论

petterreinholdtsen picture petterreinholdtsen  ·  8评论

b818283 picture b818283  ·  7评论

fcoulombe picture fcoulombe  ·  3评论

Davidj361 picture Davidj361  ·  9评论