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 <[email protected]>:
>
> 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:[email protected]]
> Sent: Tuesday, January 12, 2016 07:19
> To: Viktor Rosenfeld <[email protected]>
> Cc: [email protected]; Gustav Wikström <[email protected]>
> Subject: Re: org-agenda-filter-by-tag-refine defaults to exclude
>
> Hi Viktor,
>
> Viktor Rosenfeld <[email protected]> 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
signature.asc
Description: Message signed with OpenPGP using GPGMail
