emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 1a339d6ba5 2/3: Don't leave `C-h N' in a text-mode derived mode


From: Lars Ingebrigtsen
Subject: master 1a339d6ba5 2/3: Don't leave `C-h N' in a text-mode derived mode
Date: Sat, 16 Apr 2022 13:43:01 -0400 (EDT)

branch: master
commit 1a339d6ba5372e93ce62d7cfa0dcc2072610cdd7
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Don't leave `C-h N' in a text-mode derived mode
    
    * lisp/help.el (view-emacs-news): Use emacs-news-view-mode.
    * lisp/textmodes/emacs-news-mode.el (emacs-news-view-mode): Split
    into own mode to avoid confusion.
---
 lisp/help.el                      |  7 +++----
 lisp/textmodes/emacs-news-mode.el | 22 +++++++++++++++-------
 2 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/lisp/help.el b/lisp/help.el
index e326ea5d00..9cde65f797 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -453,10 +453,9 @@ With argument, display info only for the selected version."
                ((< vn 18) "NEWS.1-17")
                (t (format "NEWS.%d" vn))))
         res)
-    (find-file (expand-file-name file data-directory))
-    (setq buffer-read-only t)
-    (emacs-news-mode)
-    (widen)
+    (let ((inhibit-local-variables-regexps '(".*")))
+      (find-file (expand-file-name file data-directory))
+      (emacs-news-view-mode))
     (goto-char (point-min))
     (when (stringp version)
       (when (re-search-forward
diff --git a/lisp/textmodes/emacs-news-mode.el 
b/lisp/textmodes/emacs-news-mode.el
index a766352917..e31a7105b8 100644
--- a/lisp/textmodes/emacs-news-mode.el
+++ b/lisp/textmodes/emacs-news-mode.el
@@ -50,18 +50,26 @@
   `(("^---$" 0 'emacs-news-does-not-need-documentation)
     ("^\\+\\+\\+$" 0 'emacs-news-is-documented)))
 
-;;;###autoload
-(define-derived-mode emacs-news-mode text-mode "NEWS"
-  "Major mode for editing and viewind the Emacs NEWS file."
+(defun emacs-news--mode-common ()
   (setq-local font-lock-defaults '(emacs-news-mode-font-lock-keywords t))
   (setq-local outline-regexp "^\\*+ "
               outline-minor-mode-cycle t
               outline-minor-mode-highlight 'append)
+  (outline-minor-mode))
+
+;;;###autoload
+(define-derived-mode emacs-news-mode text-mode "NEWS"
+  "Major mode for editing the Emacs NEWS file."
   (setq-local fill-paragraph-function #'emacs-news--fill-paragraph)
-  (outline-minor-mode 1)
-  (when buffer-read-only
-    (emacs-news--buttonize)
-    (button-mode)))
+  (emacs-news--mode-common))
+
+;;;###autoload
+(define-derived-mode emacs-news-view-mode special-mode "NEWS"
+  "Major mode for viewing the Emacs NEWS file."
+  (setq buffer-read-only t)
+  (emacs-news--buttonize)
+  (button-mode)
+  (emacs-news--mode-common))
 
 (defun emacs-news--fill-paragraph (&optional justify)
   (cond



reply via email to

[Prev in Thread] Current Thread [Next in Thread]