diff --git a/lisp/org-lint.el b/lisp/org-lint.el index 10b9a3589..b21412be1 100644 --- a/lisp/org-lint.el +++ b/lisp/org-lint.el @@ -829,8 +829,12 @@ Use \"export %s\" instead" reports)) (defun org-lint-undefined-footnote-reference (ast) - (let ((definitions (org-element-map ast 'footnote-definition - (lambda (f) (org-element-property :label f))))) + (let ((definitions + (org-element-map ast '(footnote-definition footnote-reference) + (lambda (f) + (and (or (eq 'footnote-definition (org-element-type f)) + (eq 'inline (org-element-property :type f))) + (org-element-property :label f)))))) (org-element-map ast 'footnote-reference (lambda (f) (let ((label (org-element-property :label f))) diff --git a/testing/lisp/test-org-lint.el b/testing/lisp/test-org-lint.el index b92b2a24e..02973acb8 100644 --- a/testing/lisp/test-org-lint.el +++ b/testing/lisp/test-org-lint.el @@ -378,6 +378,9 @@ This is not a node property (should-not (org-test-with-temp-text "Text[fn:1:inline reference]" (org-lint '(undefined-footnote-reference)))) + (should-not + (org-test-with-temp-text "Text[fn:1:inline reference] [fn:1]" + (org-lint '(undefined-footnote-reference)))) (should-not (org-test-with-temp-text "Text[fn::anonymous reference]" (org-lint '(undefined-footnote-reference)))))