Subject: Re: bug#38918: 26.3; EBDB fails to edit (add) tags

From: Eric Abrahamsen <[email-masked]>
Date: Sat, 18 Jan 2020 10:37:51 -0800

On 01/18/20 18:20 PM, Deus Max wrote:
> On Tue, Jan 14 2020, Eric Abrahamsen wrote:
>
>> Jorge P. de Morais Neto <[email-masked]> writes:
>>
>>
>>> Besides, it seems that the function `org--tag-add-to-alist' does not
>>> exist on the Org Mode version (9.1 IIRC) that comes with Emacs 26.3.  I
>>> think you should document that the Org Tags functionality depends on
>>> recent Org Mode.  Also, maybe (I don't know if this would be worth your
>>> time) EBDB could provide a clear error message when the user attempts to
>>> use that functionality on an old Org Mode.  Currently it lets Emacs
>>> complain that the symbol's value as a function is void.
>>
>> This is a bigger problem -- I'm committed to supporting Emacs 25. I
>> think I'll just write my own function (read: copy and paste Org's) to do
>> the same thing.
>>
>> Thanks,
>> Eric
>
> Hi Eric,
>
> It's a bad practice to duplicate functions from other packages. At least
> maybe you could enclose the definition in a (eval-after-load 'org ...)
> construct and provide org--tag-add-to-alist only if it is not defined.
> That way you will also be able to provide a message recommending an
> upgrade to a more recent org-mode.

I would definitely do that, except the function is "private" to begin
with. I raised this on the Org mailing list, but got no response. I
suppose the proper thing to do would be to contribute a public function
to Org that does what I want, then also define it in EBDB, and do a
`defalias' in `eval-after-load', as you describe.