On Mon, Nov 10, 2008 at 9:41 PM, Bram Moolenaar <[EMAIL PROTECTED]> wrote: > > Xavier de Gaye wrote: > >> On Sun, Nov 9, 2008 at 5:18 PM, Xavier de Gaye <[EMAIL PROTECTED]> wrote: >> > It is not clear if netbeans "killed" events are correctly sent by Vim. >> > ... >> > Conclusion: >> > As it is, "killed" events are useless for the netbeans application >> > (but they cannot be ignored as the bufno reference is not anymore >> > valid after receiving the event). >> > I would like to propose to remove the global netbeansCloseFile >> > entirely from the code, expecting that this would cause a "killed" >> > event whenever a buffer is not anymore visible in any window, but I >> > don't know Vim code sufficiently to be sure that this is the case. >> >> >> I have missed the following important point: the Vim signs placed in >> the buffer are removed by bdelete and by bwipeout, but not by bunload >> or by any other Vim command. >> >> The netbeans application must keep track of the Vim signs, so I >> suggest: >> * the semantics of the "killed" event is: >> the bufno reference is invalid >> the signs have been removed by Vim >> * the code is changed so that only bdelete and bwipeout >> trigger a "killed" event (not bunload) >> * the documentation is updated accordingly > > One wonders what the original meaning for "killed" is: buffer deleted or > unloaded? I don't know. > > What is more useful? Perhaps we need both a "killed" and an "unloaded" > event?
Having "unloaded" events would be nice and would allow the netbeans application or IDE to know when a buffer is not visible. But the main problem is that Vim and the netbeans application must maintain the list of netbeans buffers and the corresponding signs (netbeans annotations) in a consistent state. So I think buffer deletion notifications (caused by bdelete and bwipeout commands, that remove the signs in a buffer) are needed and should be mapped to "killed" events. I think this can be fixed by calling netbeans_file_closed() from free_buffer_stuff(), just after buf_delete_signs(). This would cause a "killed" event to be sent when bdelete or bwipeout are invoked. What do you think ? I did not understand what issue is fixed by calling netbeans_file_closed() from buf_freeall(), in your other mail. Xavier --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_dev" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~---
