]> git.eshelyaron.com Git - emacs.git/commitdiff
Support imenu in emacs-news-mode
authorStefan Kangas <stefankangas@gmail.com>
Mon, 19 Sep 2022 14:02:28 +0000 (16:02 +0200)
committerStefan Kangas <stefankangas@gmail.com>
Mon, 19 Sep 2022 14:02:28 +0000 (16:02 +0200)
* lisp/outline.el (outline-imenu-generic-expression): New variable
broken out from...
(outline-mode): ...here.
* lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common): Use
above new variable to add imenu support.

lisp/outline.el
lisp/textmodes/emacs-news-mode.el

index 25ef1616b931f307684ee71e5e36a46264c42ab0..e3fbd8b32729f04777ddb927a3298d9ed73e231e 100644 (file)
@@ -341,6 +341,10 @@ data reflects the `outline-regexp'.")
   :safe #'booleanp
   :version "22.1")
 
+(defvar outline-imenu-generic-expression
+  (list (list nil (concat "^\\(?:" outline-regexp "\\).*$") 0))
+  "Value for `imenu-generic-expression' in Outline mode.")
+
 ;;;###autoload
 (define-derived-mode outline-mode text-mode "Outline"
   "Set major mode for editing outlines with selective display.
@@ -375,8 +379,7 @@ Turning on outline mode calls the value of `text-mode-hook' and then of
               (concat paragraph-separate "\\|\\(?:" outline-regexp "\\)"))
   (setq-local font-lock-defaults
               '(outline-font-lock-keywords t nil nil backward-paragraph))
-  (setq-local imenu-generic-expression
-             (list (list nil (concat "^\\(?:" outline-regexp "\\).*$") 0)))
+  (setq-local imenu-generic-expression outline-imenu-generic-expression)
   (add-hook 'change-major-mode-hook #'outline-show-all nil t)
   (add-hook 'hack-local-variables-hook #'outline-apply-default-state nil t))
 
index 88e89480609b89e6f2646ad7c30ee50ccc743803..d9decae4df651b6af46d31d9552a42f4e20a4eff 100644 (file)
@@ -80,6 +80,7 @@
               outline-minor-mode-cycle t
               outline-minor-mode-highlight 'append)
   (outline-minor-mode)
+  (setq-local imenu-generic-expression outline-imenu-generic-expression)
   (emacs-etc--hide-local-variables))
 
 ;;;###autoload