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 <gus...@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:k...@kyleam.com]
> Sent: Tuesday, January 12, 2016 07:19
> To: Viktor Rosenfeld <v.rosenf...@gmx.de>
> Cc: emacs-orgmode@gnu.org; Gustav Wikström <gus...@whil.se>
> Subject: Re: org-agenda-filter-by-tag-refine defaults to exclude
> 
> Hi Viktor,
> 
> Viktor Rosenfeld <v.rosenf...@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: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to