summaryrefslogtreecommitdiff
path: root/lisp/textmodes/emacs-news-mode.el
diff options
context:
space:
mode:
authorStefan Kangas <stefan@marxist.se>2022-07-05 04:57:51 +0200
committerStefan Kangas <stefan@marxist.se>2022-07-05 04:57:51 +0200
commit3534426b28b9118e32cabe16810f16ef915f0dbd (patch)
tree58b6a19b96de1e510add14b74f143406aefc57b2 /lisp/textmodes/emacs-news-mode.el
parent83f059793af0d7191529582ce674f0af349cd1b7 (diff)
downloademacs-3534426b28b9118e32cabe16810f16ef915f0dbd.tar.gz
emacs-3534426b28b9118e32cabe16810f16ef915f0dbd.tar.bz2
emacs-3534426b28b9118e32cabe16810f16ef915f0dbd.zip
New command emacs-news-mode-open-line
* lisp/textmodes/emacs-news-mode.el (emacs-news-mode-open-line): New command. (emacs-news-mode-map): Remap 'open-line' to above new command.
Diffstat (limited to 'lisp/textmodes/emacs-news-mode.el')
-rw-r--r--lisp/textmodes/emacs-news-mode.el13
1 files changed, 12 insertions, 1 deletions
diff --git a/lisp/textmodes/emacs-news-mode.el b/lisp/textmodes/emacs-news-mode.el
index c5d7b6ea509..4ca6ea86d86 100644
--- a/lisp/textmodes/emacs-news-mode.el
+++ b/lisp/textmodes/emacs-news-mode.el
@@ -54,7 +54,8 @@
"C-c C-r" #'emacs-news-previous-untagged-entry
"C-c C-g" #'emacs-news-goto-section
"C-c C-j" #'emacs-news-find-heading
- "C-c C-e" #'emacs-news-count-untagged-entries)
+ "C-c C-e" #'emacs-news-count-untagged-entries
+ "<remap> <open-line>" #'emacs-news-mode-open-line)
(defvar-keymap emacs-news-view-mode-map
:parent emacs-news-common-map)
@@ -232,6 +233,16 @@ untagged NEWS entry."
(when (re-search-forward (concat "^*+ " (regexp-quote heading)) nil t)
(beginning-of-line)))
+(defun emacs-news-mode-open-line (n)
+ "Open a new line in a NEWS file.
+This is like `open-line', but skips any temporary NEWS-style
+documentation marks on the previous line."
+ (interactive "*p" emacs-news-mode)
+ (when (save-excursion (forward-line -1)
+ (looking-at (rx bol (or "---" "+++") eol)))
+ (forward-line -1))
+ (open-line n))
+
(provide 'emacs-news-mode)
;;; emacs-news-mode.el ends here