Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.  You don't know how to make a good report?  See

     https://orgmode.org/manual/Feedback.html#Feedback

Your bug report will be posted to the Org mailing list.
------------------------------------------------------------------------

When I call `(org-num-mode)' from lisp multiple times on a single
orgmode buffer, I get multiple numberings on each heading.
Subsequently, when I call `(org-num-mode -1)' or `(org-num--clear)',
only one layer of numberings are removed.

This behavior is observed at the build below, but should still be
reproducible in current HEAD (4179d1205ed791254aa21fadf262623bc805595d).

I have also successfully replicated this issue from a `emacs -Q -nw'
environment, using the same orgmode version.  Because of this, I have
removed the "current state" section since they are proven irrelevant.

The offending code is the `cond' construct in `org-num-mode' minor mode
definition, where we are directly resetting `org-num--overlays'.  I
think we should run something like `(org-num--clear)' before the two
`setq''s, so that the previous numbers are cleared.

Alternatively (and probably a bad advice), maybe we could simply not
execute the "enable" branch in `cond' when `org-num--overlays' is
non-nil?

I don't have a full understanding of the role of `org-num--numbering',
so I don't have anything to say about this variable.


Emacs  : GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.34, 
cairo version 1.17.6)
 of 2022-10-14
Package: Org mode version 9.5.5 (9.5.5-g9ce472 @ 
/home/user/.config/emacs/straight/build/org/)

current state:
==============
;; omitted

Reply via email to