emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Gustav Wikström" <gustav@whil.se>
To: Viktor Rosenfeld <v.rosenfeld@gmx.de>,
	"emacs-orgmode@gnu.org" <emacs-orgmode@gnu.org>
Cc: Kyle Meyer <kyle@kyleam.com>
Subject: Re: org-agenda-filter-by-tag-refine defaults to exclude
Date: Sun, 31 Jan 2016 18:50:44 +0000	[thread overview]
Message-ID: <DB5PR02MB11919C9999093D2190FE0D2DDADD0@DB5PR02MB1191.eurprd02.prod.outlook.com> (raw)
In-Reply-To: <3EB2B62E-9306-49BE-BF34-E7EAD1545F77@gmx.de>

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

Hi Viktor, Kyle

Fair enough. I’m not attached to the refine-function at all. If you like to have it removed, then remove it, unless others are of different opinion ofc. The functionality is fairly complex, so removing the keybinding might make it seem less complicated.

/G

From: Viktor Rosenfeld [mailto:v.rosenfeld@gmx.de]
Sent: Saturday, January 30, 2016 00:08
To: emacs-orgmode@gnu.org
Cc: Gustav Wikström <gustav@whil.se>; Kyle Meyer <kyle@kyleam.com>
Subject: Re: org-agenda-filter-by-tag-refine defaults to exclude

Hi Gustav,

currently, the remove functionality can also be accessed by C-u /. If we want to provide a dedicated hotkey, then the following definition will do it:

(add-hook 'org-agenda-mode-hook
          (lambda()
            (local-set-key (kbd "\") '(lambda()
                                        (interactive)
                                        (org-agenda-filter-by-tag nil nil 'exclude))))
          'append)

I would prefer to remove this function because it doesn’t add functionality. Keeping it around just adds another potential source of bugs.

Best,
Viktor

Am 28.01.2016 um 09:27 schrieb Gustav Wikström <gustav@whil.se<mailto:gustav@whil.se>>:

Hi Kyle, Viktor and the group,

I'd say it's a naming-problem. What, really, is the purpose of the function? Because applying the proposed change essentially makes the function identical to the function it calls. Right? And that function is still available for the user, so a "refinement" can be done without the org-agenda-filter-by-tag-refine (bound to backslash (\) ) function. As of now, using the function to exclude tags in the agenda provides a direct access to that functionality, instead of calling org-agenda-filter-by-tag (bound to slash (/) ) plus pushing the minus key (-) to switch from filter to exclude.

If you want to make any change, I'd suggest to instead change the name of org-agenda-filter-by-tag-refine to org-agenda-filter-by-tag-exclude and to leave the code within the function as is (well.. maybe change 'refine to 'exclude with the same argument as to the function name change).

Best Regards
Gustav

-----Original Message-----
From: Kyle Meyer [mailto:kyle@kyleam.com]
Sent: Tuesday, January 12, 2016 07:19
To: Viktor Rosenfeld <v.rosenfeld@gmx.de<mailto:v.rosenfeld@gmx.de>>
Cc: emacs-orgmode@gnu.org<mailto:emacs-orgmode@gnu.org>; Gustav Wikström <gustav@whil.se<mailto:gustav@whil.se>>
Subject: Re: org-agenda-filter-by-tag-refine defaults to exclude

Hi Viktor,

Viktor Rosenfeld <v.rosenfeld@gmx.de<mailto:v.rosenfeld@gmx.de>> writes:


Hi,

I noticed that org-agenda-filter-by-tag-refine started to exclude
selected tags by default recently because the 'refine in the call to
org-agenda-filter-by-tag is interpreted as an exclude flag.

This seems to have been introduced by 6c6ae99 (org-agenda: Filtering in the agenda on grouptags, 2015-01-24).


The attached patch fixes this.

However, it seems that the function is superfluous because
org-agenda-filter-by-tag can filter on multiple tags as well if called
multiple times (that used not to be the case earlier).  So maybe it
should be deprecated and removed?

I agree.  Gustav, does that make sense given your changes in 6c6ae99?


diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index
d91b64d..21928de 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -7580,7 +7580,7 @@ to switch between filtering and excluding."
(defun org-agenda-filter-by-tag-refine (arg &optional char)
  "Refine the current filter.  See `org-agenda-filter-by-tag'."
  (interactive "P")
-  (org-agenda-filter-by-tag arg char 'refine))
+  (org-agenda-filter-by-tag arg char))


(defun org-agenda-filter-make-matcher (filter type &optional expand)
  "Create the form that tests a line for agenda filter.  Optional


--
Kyle


[-- Attachment #2: Type: text/html, Size: 9752 bytes --]

  reply	other threads:[~2016-01-31 19:23 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-05  7:42 org-agenda-filter-by-tag-refine defaults to exclude Viktor Rosenfeld
2016-01-12  6:18 ` Kyle Meyer
2016-01-28  8:27   ` Gustav Wikström
2016-01-29 23:07     ` Viktor Rosenfeld
2016-01-31 18:50       ` Gustav Wikström [this message]
2016-01-30  0:57     ` Kyle Meyer

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=DB5PR02MB11919C9999093D2190FE0D2DDADD0@DB5PR02MB1191.eurprd02.prod.outlook.com \
    --to=gustav@whil.se \
    --cc=emacs-orgmode@gnu.org \
    --cc=kyle@kyleam.com \
    --cc=v.rosenfeld@gmx.de \
    /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).