emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug: Org-drill defines advice causing infinite recursion [9.3.6 (rel


From: Kyle Meyer
Subject: Re: Bug: Org-drill defines advice causing infinite recursion [9.3.6 (release_9.3.6-465-g4fde1c @ /home/christoffer/.emacs.d/straight/build/org/)]
Date: Sat, 02 May 2020 04:36:17 +0000

Hi,

Sorry for the slow reply.

Christoffer Stjernlöf <address@hidden> writes:

> Org-drill defines the following advice:
>
>     (when (version< org-version "9.2")
>      (advice-add 'org-get-tags :around #'org-drill-get-tags-advice))
>
>     (defun org-drill-get-tags-advice (orig-fun &rest args)
>      ;; the two arg call obsoletes get-local-tags
>       (if (= 2 (length args))
>          ;; and we don't want any byte compile errors
>          (if (fboundp 'org-get-local-tags) (org-get-local-tags))
>        ;; the non-arg version doesn't return inherited tags, but
>        ;; get-tags-at does.
>        (org-get-tags-at)))
>
> The function being called at the end, org-get-tags-at, has the unfortunate
> definition:
>
>     (define-obsolete-function-alias 'org-get-tags-at 'org-get-tags "Org
> 9.2")

Hmm, but the advice is being added only if the Org version is before
9.2, and in that case org-get-tags-at is a separate function, not an
alias.  So that seems like that should be fine.  However ...

> This results in the advice calling the function it advises, leading to
> infinite recursion.
>
> Is the version check around the advice addition accidentally inverted? Or
> is there anything else I'm missing?

... if you're actually hitting into an infinite recursion, then I of
course trust that more than my reasoning.  Because you don't explicitly
say that you are and based on your reported Org version being after 9.2,
I'm guessing your conclusion was based solely on reading the code.

If there is an issue, though, note that org-drill.el is no longer in the
Org tree as of 2c8e8b4a1 (contrib: Remove Org Drill, 2019-07-11).  I
believe it's maintained at <https://gitlab.com/phillord/org-drill>.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]