emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Filters lost after reviving buried, sticky agenda
@ 2015-05-01 21:19 Daniel Borchmann
  2015-06-21 15:47 ` Daimrod
  0 siblings, 1 reply; 10+ messages in thread
From: Daniel Borchmann @ 2015-05-01 21:19 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1857 bytes --]


Dear all,

I regularly lose all my filters when I bury a sticky agenda and revive
it later.  In that case, the variable `org-agenda-tag-filter' is set to
nil, although it was non-nil before burying.

I played around a bit, and found out that `org-agenda-tag-filter' is
buffer-local (which is not a surprise).  When the agenda buffer is
revived, the function `org-agenda-prepare' is called, which, among
others, should reset the filters (provided that
`org-agenda-persistent-filter' is set).  The beginning of the function
is

--->8---
(defun org-agenda-prepare (&optional name)
  (let ((filter-alist (if org-agenda-persistent-filter
                          (list `(tag . ,org-agenda-tag-filter)
                                `(re . ,org-agenda-regexp-filter)
                                `(car . ,org-agenda-category-filter)))))
  ...))
---8<---

It seems to me that `org-agenda-tag-filter' is read *before* the old
agenda buffer is poped up (i.e., made current), and thus results in a
`nil' value.  Indeed, if I replace the definition of `filter-alist' by

--->8---
(let ((filter-alist (if org-agenda-persistent-filter
                        (with-current-buffer
                            (get-buffer org-agenda-buffer-name)
                          (list `(tag . ,org-agenda-tag-filter)
                                `(re . ,org-agenda-regexp-filter)
                                `(car . ,org-agenda-category-filter))))))
  ...)
---8<---

then the bug (seems to) disappear.

My question is now: is this correct, or did I understand something
wrong?  If my understanding is correct, how this bug be fixed more
elegantly?

Best,

  Daniel

-- 
Daniel Borchmann                                   http://daniel.kxpq.de
GPG (Mail)            0849 473E 6BF0 B504 DF0B  D640 455E 3610 01FF 778F

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-06-24  7:54 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-01 21:19 Filters lost after reviving buried, sticky agenda Daniel Borchmann
2015-06-21 15:47 ` Daimrod
2015-06-21 18:40   ` Daniel Borchmann
2015-06-22  4:11     ` Daimrod
2015-06-22 15:09       ` Subhan Michael Tindall
2015-06-22 13:27   ` Nick Dokos
2015-06-23  8:47     ` Daimrod
2015-06-23  9:15       ` Daimrod
2015-06-23 21:35         ` Nicolas Goaziou
2015-06-24  7:54           ` Daimrod

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).