Giter Club home page Giter Club logo

Comments (10)

 avatar commented on September 26, 2024

memo: ctcp.mrc - line 409 - alias ping

Error:

  • Each spread out @ping [N] Channel window contains only one ping reply instead of all replies for one channel going into one window

from peace-and-protection.

 avatar commented on September 26, 2024

https://vimeo.com/135806816

from peace-and-protection.

 avatar commented on September 26, 2024

memo: window.mrc - line 92 - alias _mservwin
alias _mservwin {
var %cid = $3
if (!%cid) %cid = $cid
var %num = 1
; String to match
var %match = /^ $+ $_escape($1) $+ (?:[\d+])? $+ $_escape($2) $+ $!/i
while (%num <= $window(0)) {
if ($regex($window(%num),%match)) {
if ($window(%num).cid == %cid) return $window(%num)
}
inc %num
}
; Create new window
if ($window($1 $+ $2) == $null) return $1 $+ $2
%num = 2
while ($window($1 $+ $chr(91) $+ %num $+ $chr(93) $+ $2) != $null) {
inc %num
}
return $1 $+ $chr(91) $+ %num $+ $chr(93) $+ $2
}

memo: aliases.mrc - line 33 - alias _escape
; Escapes all non-alpha characters
_escape var %text = $1- | var %junk = $regsub(%text,/([^a-zA-Z0-9 ])/g,\1,%text) | return %text

; Replaces all non-alpha characters
escape2 var %text = $1- | var %junk = $regsub(%text,/([^a-zA-Z0-9])/g,,%text) | return %text

from peace-and-protection.

 avatar commented on September 26, 2024

In window.mrc - line 105 - alias _mservwin change:

if ($window($1 $+ $2) == $null) return $1 $+ $2

to

if ($window($1 $+ $chr(160) $+ $2) == $null) return $1 $+ $2

from peace-and-protection.

craze avatar craze commented on September 26, 2024

In this particular case $chr(160) should already be part of $2. If hardcoded in, will it not break everything else using the _mservwin alias?

from peace-and-protection.

 avatar commented on September 26, 2024

you're right :) but for some reason $chr(160) doesn't get passed.

This works as well:

if ($window($1 $+ $iif($left($2,1) == $chr(160),$chr(160)) $+ $2) == $null) return $1 $+ $2

I find it very strange.

Can you reproduce the error wildcraze or am I the only with this error on mIRC 7.43 and pnp.4.22.3?

from peace-and-protection.

craze avatar craze commented on September 26, 2024

It breaks the intended function of _mservwin which is to assign a window name with the lowest number not taken.
In effect the suggested change is just using var %win = @Ping $+ $chr(160) $+ %target in the ctcp file (L520) instead of calling the _mservwin alias.
Subsequent pings to a channel, where a new window would make sense, would all end up in the same @Ping window as duplicates.

from peace-and-protection.

 avatar commented on September 26, 2024

That's right. I'm merely trying to diagnose why it's not working as intended on my system. I have for the moment changed line 475 and line 520 in ctcp.mrc and removed the string $chr(160) $+ so that line 475 reads:

var %win = $_mservwin(@Ping,%ping)

and line 520 reads:

var %win = $_mservwin(@Ping,%target)

Now this seems to work fine. All ping replies go to one @ping window. I don't have to change anything in alias _mservwin either. Btw craze, from your comments I infer that you don't have this bug on your system. Is that correct?

from peace-and-protection.

craze avatar craze commented on September 26, 2024

Appears $regsub behaves a bit different before and after Unicode release of mIRC. Adding (*UTF) to regular expressions responsible for matching window names appears to fix this issue, and is currently being tested.

from peace-and-protection.

craze avatar craze commented on September 26, 2024

Fixed in next release, 4.22.6

from peace-and-protection.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.