[Note: this also applies to /iline, because they share the switch and the event occurs for both commands]

Bug:
The -n switch for the listbox will stop a line from being added, but it will not stop a line from being recoloured. This is contrary to the same -n switch applied to the buffer (not the listbox). This in itself is not such a big deal. The problem lies in _when_ the listbox is updated... As you will see, the listbox line only changes colours when the window is unfocused then refocused later on.

Reproducing the bug....

1. Starting conditions:
Create a window and aline hello to both the listbox and the buffer:
//window -el20 @test | aline 1 @test hello | aline -l 1 @test hello

2. In the @window's editbox, try to /aline -n:
//aline -n 4 @test hello | aline -nl 4 @test hello

You'll notice at this point, no colours have changed.

3. Watch the colour change:
Now, unfocus the window by clicking on another window, and then refocus the @window

You will now see that from the same command, the buffer line is unchanged, but the listbos line has changed colours.

Discussion:
mIRC mentions in the help that it will prevent a line from being 'added' if it doesn't exist. It does not, however, say anything about changing colours. A bit ambiguous here, but ok. That's fine. As I have mentioned, the fact that the colour is able to change is fine with me. The real problem lies in:

a) the discrepency between the switch used in the buffer and the listbox
b) the time in which the colour change takes place

Solutions:
Besides fixing the timing issue of when the colour is updated [if at all], the issue of "should the colour be updated" would have to be addressed. It's either:

a) the buffer /aline is the right one, and the colour should not change (leave that functionality to /cline)

- or -

b) the colour should be changeable by using /aline -n in both the listbox AND the buffer (this gives some functional advantages like not having to check if a line exists before deciding if you only need a /cline or if you need to /aline it altogether). If this were to be done, then the timing issue of when the colour changes would need to be fixed in the listbox (and the buffer).

DONE.


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"