From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id QCdXFMu+O2OmAgEAbAwnHQ (envelope-from ) for ; Tue, 04 Oct 2022 07:04:11 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id 8OOUFMu+O2NhkAAA9RJhRA (envelope-from ) for ; Tue, 04 Oct 2022 07:04:11 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id BFD278506 for ; Tue, 4 Oct 2022 07:04:10 +0200 (CEST) Received: from localhost ([::1]:53332 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ofa6D-000732-Hf for larch@yhetil.org; Tue, 04 Oct 2022 01:04:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60020) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ofa4l-00071V-Mp for emacs-orgmode@gnu.org; Tue, 04 Oct 2022 01:02:40 -0400 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]:45878) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ofa4j-00013Q-1N for emacs-orgmode@gnu.org; Tue, 04 Oct 2022 01:02:39 -0400 Received: by mail-pj1-x102d.google.com with SMTP id o9-20020a17090a0a0900b0020ad4e758b3so1516948pjo.4 for ; Mon, 03 Oct 2022 22:02:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:message-id:date:subject:to:from:from:to:cc:subject :date; bh=mx8WgCX2t7FLWZ4ua2dML6FSeflI0oNHmyCXX7eAzgg=; b=U5MKjesKln4IZZCFdlIdFe/uzWoZO9ZZeIGlJgMrjJZM6FHFvhyal0H804olHrtde7 z8Yn/rifOccH+KFAsr0Pn5GcUcXHbZbHLdXPlI5sFISVOfUy2jGQWTWrNBEV62LbMJ9c UZcl4RZiTDlMAuCyL14c/2XEf6iF5UlKBvbvLs9ui5Ec2+RwaX6XbY+8rm0fHesqGmfI ju4esvs9cLIlCCCeb48B8ty6q/uxyRUtUzAFmNSYFb7VOgJH1lIzvULRr+ITtr38aNxs JHbUmz3YT7fJJPbtO2JoFBGESgIJhOJ0Z1OhmHLbQCbSI9COnfjcIpoZx342V8lRKwow +wkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date; bh=mx8WgCX2t7FLWZ4ua2dML6FSeflI0oNHmyCXX7eAzgg=; b=M32NOLjq4mfuuWS7ycQ00x7HQhJg/aQsYdjwxiyFIKC7Qs1Zs2g++ZbvfKynaOi7WE pFewzQA9r5Qj3sbvquXwkB9qz7ky7bpqM6RS59SbY3mfEWiNEUJ5X29OtIBHtpXfO5bL VoSwNG7HeuEaz6MPvrDJya1nY0CkaJWJtyCCULsixIou1IKEu5x25b8uLok9sehQR2NT gcm3AkY/b6AL7YH4Is6jLg4f1bu/n84IvdvOIYWgLPomowcTyg2RSx3nnynuxhlJJV1T kMEb/E25fe1epVUhdFmB4IW9UYuFngcwfajBLuFB/KKAVpwLFFwLQRzGyyLy27pWpfQF cKHg== X-Gm-Message-State: ACrzQf0Mbh3vDiDQQIfaYBRSytN3Ukkyqlz3Jl6dtDEgo1HauGWe+9Cn J8suUbs2MLZLeJjp3Q6jnHCaSo6M5CrMc4CB X-Google-Smtp-Source: AMsMyM5pVOAcTJh5qXQ8C9EhEayOiV6GBl9oZF7t6//OeiO4NPl8ouTdyzuSDhqaeTofi0PdmYn7Bg== X-Received: by 2002:a17:902:8e84:b0:178:57e4:805b with SMTP id bg4-20020a1709028e8400b0017857e4805bmr25306513plb.144.1664859754843; Mon, 03 Oct 2022 22:02:34 -0700 (PDT) Received: from HP-Z6-G4 ([112.38.217.10]) by smtp.gmail.com with ESMTPSA id b14-20020a63340e000000b0044e8d66ae05sm3204010pga.22.2022.10.03.22.02.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Oct 2022 22:02:32 -0700 (PDT) From: Liu Hui To: emacs-orgmode@gnu.org Subject: [PATCH] lisp/org-agenda.el: Fix filter preset problem for sticky agenda Date: Tue, 04 Oct 2022 13:02:20 +0800 Message-ID: <87edvochb7.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=2607:f8b0:4864:20::102d; envelope-from=liuhui1610@gmail.com; helo=mail-pj1-x102d.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1664859850; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=mx8WgCX2t7FLWZ4ua2dML6FSeflI0oNHmyCXX7eAzgg=; b=KbL04Zf2oYkiR/hnSxYJtHNqivIA+l0UGiw1wi2+S+uHjfbKt9JQzZXrqWBvVTtJPpfzv3 rkcAdML6Qpbs/V4sGIEMBdsp3FaPzhklYhLZIdOyceYzerm/4/+7kvDm4d7GQYaC9RUerB qCMsvr2+llNKYRaR1o2HCavOfXEA17niOEcDEv9nylakScDcadU1FYbLgrTOVWBjFtZ8qE 4RMGU++XuSPxcpQ9sfm7Hd3vVdVfHxCxsXLRY1i6c481bUG0UDXTeXuQZ/fhGzE16+lpMC Bu7py1W2BkArzH9dxrPO3zZ7PsqoIo8zgj3YsBFfxJJzM5XroodZJUlCy4mZXw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1664859850; a=rsa-sha256; cv=none; b=jJxCgSy6nHM2CAeYi3sP+enHxKu7h8Q+djj3v5gAMYypbzd18GFKr8Q1PuzBooufZxOWhN HBxeD5OsPm2aj6+UHFaekqscRzg+mZYIhgO0kVPC71pyG+ylo7iFTelYcuqCBRquFYvtWC xeO/0nyVbW+9HO6q98z76hNDWDIwpr7usCmJ38/vVbE9AbdKz/OBoNU0tZhxSfTL8+Agl0 5Y7f8gYymHqfL5HE1ozzFFR2bWz2DeL4rA9CG3d1exR0LV3gQhraJBWY8uyG/T6JEj1TNV U5hXZFcG/m0/nO6h3UMy5v3lKmABVNIOUYd/+0ERzk9uzQx5flKmVm9yO5lc0A== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=U5MKjesK; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -2.36 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=U5MKjesK; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: BFD278506 X-Spam-Score: -2.36 X-Migadu-Scanner: scn1.migadu.com X-TUID: ENevwGq/P8e2 --=-=-= Content-Type: text/plain Hi, This patch fixes the bug originally reported in https://list.orgmode.org/59e02fb6.1462370a.fffe8.51c4@mx.google.com/ with the following reproducing recipe. The bug still exists in latest org-mode. > To reproduce, take the following org file: > > ---8<--- > * Foo > :PROPERTIES: > :CATEGORY: foo > :END: > ** TODO Foo todo one > DEADLINE: <2017-10-13 Fri> > - foo 1 > > * Bar > :PROPERTIES: > :CATEGORY: bar > :END: > ** TODO Bar todo one > DEADLINE: <2017-10-13 Fri> > - bar 1 > --->8--- > > And the following elisp file to setup a minimal environment: > > ---8<--- > (require 'org) > (setq org-agenda-files (list (expand-file-name "repro.org"))) > (setq org-agenda-sticky t) > (setq org-agenda-custom-commands > '(("f" "foo" > ((agenda "" ()) > (tags-todo "+CATEGORY=\"foo\"" ())) > ((org-agenda-category-filter-preset '("+foo")))) > > ("b" "bar" > ((agenda "" ()) > (tags-todo "+CATEGORY=\"bar\"" ())) > ((org-agenda-category-filter-preset '("+bar")))))) > > (global-set-key (kbd "C-c a") #'org-agenda) > --->8--- > > Then run (something like): > > emacs -nw -Q -L ~/git/org-mode/lisp -l repro.el repro.org > > Followed by: > > C-c a f > C-c a b > C-x o > r > > I would expect pressing `r' in the `*Org Agenda(f)*' buffer would > keep the original `org-agenda-category-filter-preset' and that the > preset in `*Org Agenda(b)*' should have no bearing on it. But, as you > can (probably) see from the mode line, the filter is set to "+bar", and > refreshing the buffer causes all the TODOs to be lost because it now has > the wrong filter. Because the filter presets are stored as symbol properties, they cannot be used with multiple sticky agenda buffers. The patch fixes the problem by adding a new variable `org-agenda-filters-preset' for getting and setting per-buffer filter presets. I have signed the FSF copyright assignment paper. Best, Hui --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-lisp-org-agenda.el-Fix-filter-preset-problem-for-sti.patch >From 4fc03d86ab1df761ab26655f043b05b449b68716 Mon Sep 17 00:00:00 2001 From: Liu Hui Date: Tue, 4 Oct 2022 11:12:41 +0800 Subject: [PATCH] lisp/org-agenda.el: Fix filter preset problem for sticky agenda * lisp/org-agenda.el (org-agenda-local-vars): (org-agenda-filters-preset): Add a new variable `org-agenda-filters-preset' for storing per-buffer filter presets. (org-agenda-filter-any): (org-agenda-prepare): (org-agenda-finalize): (org-agenda-redo): (org-agenda-filter-by-tag): (org-agenda-filter-make-matcher): (org-agenda-set-mode-name): (org-agenda-reapply-filters): Use `org-agenda-filters-preset' for getting and setting per-buffer filter presets, rather than modifying the global symbol property. --- lisp/org-agenda.el | 91 ++++++++++++++++++++-------------------------- 1 file changed, 40 insertions(+), 51 deletions(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index 2b56dd0fb..7ee0a6ad1 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -2276,6 +2276,7 @@ When nil, `q' will kill the single agenda buffer." org-agenda-top-headline-filter org-agenda-regexp-filter org-agenda-effort-filter + org-agenda-filters-preset org-agenda-markers org-agenda-last-search-view-search-was-boolean org-agenda-last-indirect-buffer @@ -3808,6 +3809,9 @@ the entire agenda view. In a block agenda, it will not work reliably to define a filter for one of the individual blocks. You need to set it in the global options and expect it to be applied to the entire view.") +(defvar org-agenda-filters-preset nil + "Preset of filters, which becomes buffer-local in org-agenda buffers.") + (defconst org-agenda-filter-variables '((category . org-agenda-category-filter) (tag . org-agenda-tag-filter) @@ -3818,7 +3822,7 @@ the global options and expect it to be applied to the entire view.") "Is any filter active?" (cl-some (lambda (x) (or (symbol-value (cdr x)) - (get :preset-filter x))) + (assoc-default (car x) org-agenda-filters-preset))) org-agenda-filter-variables)) (defvar org-agenda-category-filter-preset nil @@ -3927,10 +3931,6 @@ FILTER-ALIST is an alist of filters we need to apply when (cat . ,org-agenda-category-filter)))))) (if (org-agenda-use-sticky-p) (progn - (put 'org-agenda-tag-filter :preset-filter nil) - (put 'org-agenda-category-filter :preset-filter nil) - (put 'org-agenda-regexp-filter :preset-filter nil) - (put 'org-agenda-effort-filter :preset-filter nil) ;; Popup existing buffer (org-agenda-prepare-window (get-buffer org-agenda-buffer-name) filter-alist) @@ -3938,14 +3938,6 @@ FILTER-ALIST is an alist of filters we need to apply when (or org-agenda-multi (org-agenda-fit-window-to-buffer)) (throw 'exit "Sticky Agenda buffer, use `r' to refresh")) (setq org-todo-keywords-for-agenda nil) - (put 'org-agenda-tag-filter :preset-filter - org-agenda-tag-filter-preset) - (put 'org-agenda-category-filter :preset-filter - org-agenda-category-filter-preset) - (put 'org-agenda-regexp-filter :preset-filter - org-agenda-regexp-filter-preset) - (put 'org-agenda-effort-filter :preset-filter - org-agenda-effort-filter-preset) (if org-agenda-multi (progn (setq buffer-read-only nil) @@ -3970,7 +3962,12 @@ FILTER-ALIST is an alist of filters we need to apply when (setq org-agenda-buffer (current-buffer)) (setq org-agenda-contributing-files nil) (setq org-agenda-columns-active nil) - (org-agenda-prepare-buffers (org-agenda-files nil 'ifmode)) + (setq org-agenda-filters-preset + `((tag . ,org-agenda-tag-filter-preset) + (category . ,org-agenda-category-filter-preset) + (regexp . ,org-agenda-regexp-filter-preset) + (effort . ,org-agenda-effort-filter-preset))) + (org-agenda-prepare-buffers (org-agenda-files nil 'ifmode)) (setq org-todo-keywords-for-agenda (org-uniquify org-todo-keywords-for-agenda)) (setq org-done-keywords-for-agenda @@ -4040,24 +4037,24 @@ agenda display, configure `org-agenda-finalize-hook'." org-agenda-top-headline-filter)) (when org-agenda-tag-filter (org-agenda-filter-apply org-agenda-tag-filter 'tag t)) - (when (get 'org-agenda-tag-filter :preset-filter) + (when (assoc-default 'tag org-agenda-filters-preset) (org-agenda-filter-apply - (get 'org-agenda-tag-filter :preset-filter) 'tag t)) + (assoc-default 'tag org-agenda-filters-preset) 'tag t)) (when org-agenda-category-filter (org-agenda-filter-apply org-agenda-category-filter 'category)) - (when (get 'org-agenda-category-filter :preset-filter) + (when (assoc-default 'category org-agenda-filters-preset) (org-agenda-filter-apply - (get 'org-agenda-category-filter :preset-filter) 'category)) + (assoc-default 'category org-agenda-filters-preset) 'category)) (when org-agenda-regexp-filter (org-agenda-filter-apply org-agenda-regexp-filter 'regexp)) - (when (get 'org-agenda-regexp-filter :preset-filter) + (when (assoc-default 'regexp org-agenda-filters-preset) (org-agenda-filter-apply - (get 'org-agenda-regexp-filter :preset-filter) 'regexp)) + (assoc-default 'regexp org-agenda-filters-preset) 'regexp)) (when org-agenda-effort-filter (org-agenda-filter-apply org-agenda-effort-filter 'effort)) - (when (get 'org-agenda-effort-filter :preset-filter) + (when (assoc-default 'effort org-agenda-filters-preset) (org-agenda-filter-apply - (get 'org-agenda-effort-filter :preset-filter) 'effort)) + (assoc-default 'effort org-agenda-filters-preset) 'effort)) (add-hook 'kill-buffer-hook #'org-agenda-reset-markers 'append 'local)) (run-hooks 'org-agenda-finalize-hook)))) @@ -8094,14 +8091,14 @@ in the agenda." org-agenda-buffer-name)) (org-agenda-keep-modes t) (tag-filter org-agenda-tag-filter) - (tag-preset (get 'org-agenda-tag-filter :preset-filter)) + (tag-preset (assoc-default 'tag org-agenda-filters-preset)) (top-hl-filter org-agenda-top-headline-filter) (cat-filter org-agenda-category-filter) - (cat-preset (get 'org-agenda-category-filter :preset-filter)) + (cat-preset (assoc-default 'category org-agenda-filters-preset)) (re-filter org-agenda-regexp-filter) - (re-preset (get 'org-agenda-regexp-filter :preset-filter)) + (re-preset (assoc-default 'regexp org-agenda-filters-preset)) (effort-filter org-agenda-effort-filter) - (effort-preset (get 'org-agenda-effort-filter :preset-filter)) + (effort-preset (assoc-default 'effort org-agenda-filters-preset)) (org-agenda-tag-filter-while-redo (or tag-filter tag-preset)) (cols org-agenda-columns-active) (line (org-current-line)) @@ -8117,10 +8114,6 @@ in the agenda." ((stringp last-args) last-args)))) (series-redo-cmd (get-text-property p 'org-series-redo-cmd))) - (put 'org-agenda-tag-filter :preset-filter nil) - (put 'org-agenda-category-filter :preset-filter nil) - (put 'org-agenda-regexp-filter :preset-filter nil) - (put 'org-agenda-effort-filter :preset-filter nil) (and cols (org-columns-quit)) (message "Rebuilding agenda buffer...") (if series-redo-cmd @@ -8137,10 +8130,6 @@ in the agenda." org-agenda-effort-filter effort-filter org-agenda-top-headline-filter top-hl-filter) (message "Rebuilding agenda buffer...done") - (put 'org-agenda-tag-filter :preset-filter tag-preset) - (put 'org-agenda-category-filter :preset-filter cat-preset) - (put 'org-agenda-regexp-filter :preset-filter re-preset) - (put 'org-agenda-effort-filter :preset-filter effort-preset) (let ((tag (or tag-filter tag-preset)) (cat (or cat-filter cat-preset)) (effort (or effort-filter effort-preset)) @@ -8536,7 +8525,7 @@ also press `-' or `+' to switch between filtering and excluding." (org-agenda-filter-apply org-agenda-tag-filter 'tag expand)))) ((eq char ?\\) (org-agenda-filter-show-all-tag) - (when (get 'org-agenda-tag-filter :preset-filter) + (when (assoc-default 'tag org-agenda-filters-preset) (org-agenda-filter-apply org-agenda-tag-filter 'tag expand))) ((eq char ?.) (setq org-agenda-tag-filter @@ -8609,7 +8598,7 @@ grouptags." ((eq type 'tag) (setq filter (delete-dups - (append (get 'org-agenda-tag-filter :preset-filter) + (append (assoc-default 'tag org-agenda-filters-preset) filter))) (dolist (x filter) (let ((op (string-to-char x))) @@ -8621,7 +8610,7 @@ grouptags." ((eq type 'category) (setq filter (delete-dups - (append (get 'org-agenda-category-filter :preset-filter) + (append (assoc-default 'category org-agenda-filters-preset) filter))) (dolist (x filter) (if (equal "-" (substring x 0 1)) @@ -8632,7 +8621,7 @@ grouptags." ((eq type 'regexp) (setq filter (delete-dups - (append (get 'org-agenda-regexp-filter :preset-filter) + (append (assoc-default 'regexp org-agenda-filters-preset) filter))) (dolist (x filter) (if (equal "-" (substring x 0 1)) @@ -8643,7 +8632,7 @@ grouptags." ((eq type 'effort) (setq filter (delete-dups - (append (get 'org-agenda-effort-filter :preset-filter) + (append (assoc-default 'effort org-agenda-filters-preset) filter))) (dolist (x filter) (push (org-agenda-filter-effort-form x) f)))) @@ -9336,13 +9325,13 @@ When called with a prefix argument, include all archive files as well." (t "")) (if (org-agenda-filter-any) " " "") (if (or org-agenda-category-filter - (get 'org-agenda-category-filter :preset-filter)) + (assoc-default 'category org-agenda-filters-preset)) '(:eval (propertize (concat "[" (mapconcat #'identity (append - (get 'org-agenda-category-filter :preset-filter) + (assoc-default 'category org-agenda-filters-preset) org-agenda-category-filter) "") "]") @@ -9350,36 +9339,36 @@ When called with a prefix argument, include all archive files as well." 'help-echo "Category used in filtering")) "") (if (or org-agenda-tag-filter - (get 'org-agenda-tag-filter :preset-filter)) + (assoc-default 'tag org-agenda-filters-preset)) '(:eval (propertize (concat (mapconcat #'identity (append - (get 'org-agenda-tag-filter :preset-filter) + (assoc-default 'tag org-agenda-filters-preset) org-agenda-tag-filter) "")) 'face 'org-agenda-filter-tags 'help-echo "Tags used in filtering")) "") (if (or org-agenda-effort-filter - (get 'org-agenda-effort-filter :preset-filter)) + (assoc-default 'effort org-agenda-filters-preset)) '(:eval (propertize (concat (mapconcat #'identity (append - (get 'org-agenda-effort-filter :preset-filter) + (assoc-default 'effort org-agenda-filters-preset) org-agenda-effort-filter) "")) 'face 'org-agenda-filter-effort 'help-echo "Effort conditions used in filtering")) "") (if (or org-agenda-regexp-filter - (get 'org-agenda-regexp-filter :preset-filter)) + (assoc-default 'regexp org-agenda-filters-preset)) '(:eval (propertize (concat (mapconcat (lambda (x) (concat (substring x 0 1) "/" (substring x 1) "/")) (append - (get 'org-agenda-regexp-filter :preset-filter) + (assoc-default 'regexp org-agenda-filters-preset) org-agenda-regexp-filter) "")) 'face 'org-agenda-filter-regexp @@ -11224,10 +11213,10 @@ current HH:MM time." (,org-agenda-category-filter category) (,org-agenda-regexp-filter regexp) (,org-agenda-effort-filter effort) - (,(get 'org-agenda-tag-filter :preset-filter) tag) - (,(get 'org-agenda-category-filter :preset-filter) category) - (,(get 'org-agenda-effort-filter :preset-filter) effort) - (,(get 'org-agenda-regexp-filter :preset-filter) regexp)))) + (,(assoc-default 'tag org-agenda-filters-preset) tag) + (,(assoc-default 'category org-agenda-filters-preset) category) + (,(assoc-default 'effort org-agenda-filters-preset) effort) + (,(assoc-default 'regexp org-agenda-filters-preset) regexp)))) (defun org-agenda-drag-line-forward (arg &optional backward) "Drag an agenda line forward by ARG lines. -- 2.25.1 --=-=-=--