On 16.1.2012, at 17:31, Max Mikhanosha wrote: > Hi Carsten, > > At Mon, 16 Jan 2012 16:40:01 +0100, > Carsten Dominik wrote: >> On 16.1.2012, at 13:18, Carsten Dominik wrote: >> >> Sorry, I am talking about `org-agenda-markers', and indeed, some >> care has to be taken here. Basically, the function >> org-agenda-new-marker needs to be modified to take a buffer as an >> argument, and then to push the new marker on the list of markers in >> that buffer. Also, org-agenda-save-markers-in-region needs to be >> modified. >> >> OK, this is a bit complicated, I am willing to help. If you make a >> new patch that implements the multibuffer stuff in org-agenda, I >> will look at the marker issues and implement them. > > Cool, I'll redo it and submit a patch in the next few days. The plan > is: > > - Multi-buffer support (ie buffer-local vars) goes in > unconditionally, since I think there is no way to undo making > variable buffer local, and if there is, it would make toggling on/off > function really complicated.
Not really, there is `kill-local-variable'. But I agree, not big reason to make it possible to turn it off. > > About the markers, what about if I call to clean them up > kill-buffer-hook? This will work even if user kills the buffer > manually, not just on q key. Sounds good, make sure to add to the kill-buffer-hook *locally*, using org-add-hook (for XEmacs compatibility). > > - The "use existing buffer, and bury on quit" toggle needs a new > name org-agenda-reuse-buffers? Wanderlust has a similar mechanism > and its called "sticky summary buffers", so maybe > org-agenda-buffer-sticky? Sounds good to me. > > - The C-u r that you suggested to kill all buffers is already taken > by "reload with a > search string", so I think for cleanup bindings could be: > > q -> kill buffer or bury if enabled > Q -> always kill > C-u Q -> kill all agenda buffers (ie cleanup) Jup. > > Now that I'm thinking it also needs to keep track of all agenda > buffers, so need a global list. The kill-buffer hook should work > there too. You can also loop over all buffers and find the ones which are in org-agenda-mode. This is a bit easier than keeping track of them. Regards - Carsten