From mboxrd@z Thu Jan 1 00:00:00 1970 From: stardiviner Subject: [PATCH] fix org-num-mode detect enabled already issue Date: Sat, 05 Jan 2019 21:43:55 +0800 Message-ID: <875zv35iec.fsf@gmail.com> Reply-To: numbchild@gmail.com Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggsout.gnu.org ([209.51.188.92]:53372 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gfmLR-0007Bp-CJ for emacs-orgmode@gnu.org; Sat, 05 Jan 2019 08:50:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gfmLN-0007NF-5K for emacs-orgmode@gnu.org; Sat, 05 Jan 2019 08:50:33 -0500 Received: from [115.224.148.52] (port=41328 helo=dark.localdomain) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gfmLM-0007MG-OA for emacs-orgmode@gnu.org; Sat, 05 Jan 2019 08:50:29 -0500 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: org-mode When I execute command `[M-x org-mode]` on an Org buffer which is already have `org-num-mode` enabled. It will re-generate overlay. Here is a quick patch: modified lisp/org-num.el @@ -438,17 +438,16 @@ NUMBERING is a list of numbers." (define-minor-mode org-num-mode "Dynamic numbering of headlines in an Org buffer." :lighter " o#" - (cond - (org-num-mode + (if org-num-mode + (progn + (mapc #'delete-overlay org-num--overlays) + (setq org-num--overlays nil) + (remove-hook 'after-change-functions #'org-num--verify t)) (unless (derived-mode-p 'org-mode) (user-error "Cannot activate headline numbering outside Org mode")) (setq org-num--numbering nil) (setq org-num--overlays (nreverse (org-num--number-region nil nil))) - (add-hook 'after-change-functions #'org-num--verify nil t)) - (t - (mapc #'delete-overlay org-num--overlays) - (setq org-num--overlays nil) - (remove-hook 'after-change-functions #'org-num--verify t)))) + (add-hook 'after-change-functions #'org-num--verify nil t))) -- [ stardiviner ] I try to make every word tell the meaning what I want to express. Blog: https://stardiviner.github.io/ IRC(freenode): stardiviner, Matrix: stardiviner GPG: F09F650D7D674819892591401B5DF1C95AE89AC3