emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <carsten.dominik@gmail.com>
To: Max Mikhanosha <max@openchat.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: Hack: org-agenda-cache.el
Date: Mon, 16 Jan 2012 22:48:13 +0100	[thread overview]
Message-ID: <BA454CBE-6E0E-460B-8A0E-FB849E30DEC4@gmail.com> (raw)
In-Reply-To: <87pqejbodt.wl%max@openchat.com>


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

      reply	other threads:[~2012-01-16 21:56 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-15 19:47 Hack: org-agenda-cache.el Max Mikhanosha
2012-01-16 12:18 ` Carsten Dominik
2012-01-16 15:40   ` Carsten Dominik
2012-01-16 16:31     ` Max Mikhanosha
2012-01-16 21:48       ` Carsten Dominik [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BA454CBE-6E0E-460B-8A0E-FB849E30DEC4@gmail.com \
    --to=carsten.dominik@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=max@openchat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).