branch: externals-release/org commit bdb4c4c66eb6fdc1ff81ef3d68d504cb0d03745d Author: Ihor Radchenko <yanta...@posteo.net> Commit: Ihor Radchenko <yanta...@posteo.net>
org-export-get-ordinal: Fix breakage in 0551eba40 * lisp/ox.el (org-export-get-ordinal): Do not return first cached number. Search the actual requested element. Do not disregard TYPES argument in the cache. Reported-by: Kaushal Modi <kaushal.m...@gmail.com> Link: https://orgmode.org/list/CAFyQvY342ee8OgWVQdv=z3v1_3rglttb2s0v27jljf0kimh...@mail.gmail.com --- lisp/ox.el | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lisp/ox.el b/lisp/ox.el index aed669ee87..02c0ddefe4 100644 --- a/lisp/ox.el +++ b/lisp/ox.el @@ -4759,17 +4759,20 @@ objects of the same type." (cond ((eq element el) (1+ counter)) ;; Use cached result. - ((and cached (equal predicate (car cached))) - (cdr cached)) + ((and cached + (equal predicate (car cached)) + (equal types (cadr cached))) + (setq counter (nth 2 cached)) + nil) ((not predicate) (cl-incf counter) (org-element-put-property - el :org-export--counter (cons predicate counter)) + el :org-export--counter (list predicate types counter)) nil) ((funcall predicate el info) (cl-incf counter) (org-element-put-property - el :org-export--counter (cons predicate counter)) + el :org-export--counter (list predicate types counter)) nil)))) info 'first-match)))))