I completely fail to see your point. Since you compared isdcc and isquery with ischan, I assume you'd want it to work the same way. ischan is useful when you want to tell whether the first argument of the condition is a channel window or not. Similarly, if (<something> isquery) would be useful when you want to check whether <something> is an open query window or not. How is that different from if ($window(<something>).type) or if ($query(<something>)) ? All three conditions (your proposed isquery and the already existing $window().type and $query()) give TRUE if <something> is an open query window, otherwise they all give FALSE.

The only possible advantage of isquery is that it's a few characters shorter than $window().type. Still, it's exactly the same number of characters as $query().

if blah isquery -> 15 chars
if $query(blah) -> 15 chars
if $window(blah).type == query -> 30 chars

The answer to the question "then why do we have ischan" could be that ischan was implemented in v4.5 and $chan() in v4.7, so ischan was initially the only way to determine whether <something> is a channel.


/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com