Commit graph

32 commits

Author SHA1 Message Date
Robert Pluim
de9f9add13 Improve 'emacs-news-view-mode' menus and bindings
* lisp/textmodes/emacs-news-mode.el (emacs-news-mode-map): Move
non-editing commands from here...
(emacs-news-common-map): ... to here.
(emacs-news-view-mode): Remove hard-coded 'special-mode' bindings.
(emacs-news-view-mode-map): Inherit from 'special-mode-map' and
'emacs-news-common-map' here instead.
(emacs-news-mode--menu-common-1): New defconst for menu items common to
'news-mode' and 'news-view-mode'.
(emacs-news-mode--menu-common-2): Second new defconst for common items.
(emacs-news-mode-menu): Use them.
(emacs-news-view-mode-menu): New menu, which omits the buffer editing
commands.

This builds on the fix for Bug#72080.
2024-07-23 13:49:40 +02:00
Eli Zaretskii
ab7c40ea52 Fix Imenu in 'emacs-news-view-mode'
* lisp/textmodes/emacs-news-mode.el (emacs-news-view-mode): Make
it derived from emacs-news-mode.  Add useful key bindings.
(Bug#72080)
2024-07-20 12:33:23 +03:00
Po Lu
8e1c56ae46 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
Robert Pluim
1976ca1634 Make 'emacs-news-cycle-tag' work at all levels
* lisp/textmodes/emacs-news-mode.el (emacs-news-cycle-tag): Search for
a heading starting with 2 or more '*' rather than exactly 3.
* test/lisp/textmodes/emacs-news-mode-resources/cycle-tag.erts
(Point-Char): Add tests for 2 and 4 '*' levels.
2023-02-21 15:25:36 +01:00
Robert Pluim
83af806ab7 Rename 'emacs-news-toggle-tag' to 'emacs-news-cycle-tag'
* lisp/textmodes/emacs-news-mode.el (emacs-news-cycle-tag): Renamed
from 'emacs-news-toggle-tag'.
(emacs-news-mode-map, emacs-news-mode-menu): Use new name.
* test/lisp/textmodes/emacs-news-mode-resources/cycle-tag.erts:
Renamed from "toggle-tag.erts".
* test/lisp/textmodes/emacs-news-mode-tests.el (emacs-news-cycle-tag):
Rename test from 'emacs-news-toggle-tag', and call
'emacs-news-cycle-tag' with new resource file name.
2023-02-16 13:07:48 +01:00
Robert Pluim
5bc88b3b17 Add menu to news-mode
* lisp/textmodes/emacs-news-mode.el (emacs-news-mode-map): Add binding
for 'emacs-news-delete-temporary-markers'.
(emacs-news-mode-menu): Add menu for common actions.
2023-02-16 13:07:48 +01:00
Eli Zaretskii
cae528457c ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
Michael Albinus
5fbd12ff49 Adapt manual names in emacs-news-mode
* lisp/textmodes/emacs-news-mode.el (emacs-news--buttonize):
Allow hyphen in manual names.
2022-12-09 15:53:00 +01:00
Juri Linkov
fab2084956 Unify outline-minor-mode-use-buttons with in-margins/insert values (bug#57813)
* doc/emacs/text.texi (Outline Mode): Remove outline-minor-mode-use-margins.
Document the values insert/in-margins of outline-minor-mode-use-buttons.

* lisp/help.el (describe-bindings):
Set outline-minor-mode-use-buttons to 'insert'.

* lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common):
Set outline-minor-mode-use-buttons to 'in-margins'.

* lisp/outline.el (outline-minor-mode-use-buttons): Change :type
from 'buffer-predicate' to choice of const values nil/in-margins/t.
(outline--use-buttons, outline-minor-mode-insert-buttons)
(outline-minor-mode-use-margins, outline--use-margins): Remove variables.
(outline-minor-mode-highlight-buffer): Change overlay name
'outline-overlay' to 'outline-highlight'.
(outline-minor-mode): Simplify to handle possible values of
'outline-minor-mode-use-buttons' instead of using many variables.
(outline--make-button-overlay): Use value 'insert' of
'outline-minor-mode-use-buttons'.
(outline--insert-open-button, outline--insert-close-button)
(outline--fix-up-all-buttons, outline--fix-buttons-after-change):
Handle values of outline-minor-mode-use-buttons instead of using
many variables.
2022-10-22 21:37:56 +03:00
Juri Linkov
ab1b491f83 * lisp/outline.el (outline-minor-mode-insert-buttons): New defvar-local.
(outline--make-button-overlay, outline--insert-open-button)
(outline--insert-close-button): Insert button when
outline-minor-mode-insert-buttons is non-nil, otherwise
put an overlay with before-string.  (bug#57813)

* lisp/help.el (describe-bindings): Set buffer-local
outline-minor-mode-insert-buttons to t.

* lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common):
Set buffer-local outline-minor-mode-use-margins to t.  Don't set
outline-regexp for leading spaces because now spaces are not added
in the NEWS buffer.
2022-10-18 21:13:29 +03:00
Stefan Kangas
ba0e989c11 Support imenu in emacs-news-mode
* 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.
2022-09-19 16:02:28 +02:00
Stefan Kangas
d407bdfd01 Add command to delete temporary markers in NEWS
* lisp/textmodes/emacs-news-mode.el
(emacs-news-delete-temporary-markers): New command.
* admin/make-tarball.txt: Update instructions.
2022-09-16 16:14:43 +02:00
Juri Linkov
7804536e4e Fix 744ed0ceee from bug#57082 (bug#57176)
* lisp/outline.el (outline-minor-mode-highlight-buffer): Handle 'append'.
(outline-minor-mode): Call outline--fix-up-all-buttons when font-lock is used.

* lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common): Fix regexp.
2022-08-30 20:09:20 +03:00
Stefan Kangas
c4505fed53 Hide local variable section in emacs-news-modes
* lisp/textmodes/emacs-authors-mode.el
(emacs-authors-mode--hide-local-variables): Move from here...
* lisp/emacs-lisp/subr-x.el (emacs-etc--hide-local-variables):
...to here.

* lisp/textmodes/emacs-authors-mode.el (subr-x): Require.
(emacs-authors-mode): Use above renamed function.

* lisp/textmodes/emacs-news-mode.el (subr-x): Require.
(emacs-news--mode-common): Call 'emacs-etc--hide-local-variables'
to hide local variables section.
2022-08-12 22:28:17 +02:00
Lars Ingebrigtsen
f99219a533 Fix emacs-news-view-mode-map inheritance
* lisp/textmodes/emacs-news-mode.el (emacs-news-view-mode-map):
Fix inheritance from `special-mode-map' (bug#57100).
2022-08-12 17:44:59 +02:00
Stephen Berman
744ed0ceee Make outline buttons work in NEWS
* lisp/outline.el (outline-minor-mode-highlight-buffer): Fix
button insertion.
(outline-minor-mode): Ditto.
(outline--insert-open-button): Don't mark buffer as modified when
inserting buttons.
(outline--insert-close-button): Ditto.

* lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common):
Adjust outline regexp.
2022-08-09 20:44:07 +02:00
Po Lu
faf1f03798 Improve C-x C-q in emacs-news-mode
* lisp/textmodes/emacs-news-mode.el (emacs-news-mode-map)
(emacs-news-view-mode-map): Make C-x C-q switch to the
appropriate mode for editing, and vice versa.
(emacs-news-mode): Disable button-mode and make buffer
read-write.
2022-08-05 16:12:07 +08:00
Stefan Kangas
14a3614353 New command emacs-news-toggle-tag
* lisp/textmodes/emacs-news-mode.el (emacs-news-toggle-tag): New
command.
(emacs-news-mode-map): Bind above new command to "C-c C-t".
* test/lisp/textmodes/emacs-news-mode-resources/toggle-tag.erts:
* test/lisp/textmodes/emacs-news-mode-tests.el: New files.
2022-07-09 11:47:52 +02:00
Stefan Kangas
74bca06469 Shorten name of recently added command to emacs-news-open-line
* lisp/textmodes/emacs-news-mode.el (emacs-news-open-line): Rename
from 'emacs-news-mode-open-line'.
2022-07-05 13:38:06 +02:00
Stefan Kangas
3534426b28 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.
2022-07-05 04:57:51 +02:00
Stefan Kangas
d5c6f22193 Fix warnings in my last commit
* lisp/textmodes/emacs-news-mode.el (outline): Require.
2022-07-03 14:47:53 +02:00
Stefan Kangas
d68ecda05c Improve navigation keybindings in emacs-news-mode
* lisp/textmodes/emacs-news-mode.el (emacs-news-common-map): New
defvar-keymap.  Bind navigation commands as in 'org-mode' and
'outline-minor-mode'.
(emacs-news-mode-map): Inherit from 'emacs-news-common-map'.
(emacs-news-view-mode-map): New defvar-keymap; inherit from
'emacs-news-common-map'.
2022-07-03 14:40:21 +02:00
Po Lu
54e5fc19e4 ; Fix typo in emacs-news-mode
* lisp/textmodes/emacs-news-mode.el
(emacs-news-count-untagged-entries): Fix typo in message when
there are a pural amount of untagged entries.
2022-05-04 17:16:26 +08:00
Lars Ingebrigtsen
c2dc6db2fd Fix the outline level in the Emacs NEWS modes
* lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common): Fix
the outline level (bug#54993).
2022-04-20 12:48:55 +02:00
Lars Ingebrigtsen
d951e9e650 Clarify emacs-news--heading-p logic
* lisp/textmodes/emacs-news-mode.el (emacs-news--heading-p):
Clarify the logic.
2022-04-17 12:11:36 +02:00
Lars Ingebrigtsen
1a339d6ba5 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.
2022-04-16 19:42:33 +02:00
Lars Ingebrigtsen
4916c827ec Add new commands to go to headings/sections in the NEWS file
* lisp/textmodes/emacs-news-mode.el (emacs-news-find-heading)
(emacs-news-goto-section): New commands.
2022-04-16 19:14:42 +02:00
Lars Ingebrigtsen
9b0940420e Add emacs-news-previous-untagged-entry command
* lisp/textmodes/emacs-news-mode.el
(emacs-news-next-untagged-entry): Allow searching backward.
(emacs-news-previous-untagged-entry): New command and keystroke.
2022-04-16 18:35:20 +02:00
Lars Ingebrigtsen
4f1612188b Make emacs-news-next-untagged-entry push the mark
* lisp/textmodes/emacs-news-mode.el
(emacs-news-next-untagged-entry): Push the mark for easier
navigation back to where we were.
2022-04-16 16:11:45 +02:00
Lars Ingebrigtsen
5752a839e5 Fix NEWS tag commands
* lisp/textmodes/emacs-news-mode.el
(emacs-news-next-untagged-entry): Fix logic.
(emacs-news-count-untagged-entries): Add new command and keystroke.
2022-04-16 16:07:25 +02:00
Lars Ingebrigtsen
db416ae049 Clean up emacs-news--buttonize
* lisp/textmodes/emacs-news-mode.el (emacs-news--buttonize):
Remove unnecessary check left over from previous version.
2022-04-16 15:58:20 +02:00
Lars Ingebrigtsen
5a59059b24 Add a new mode for editing and viewing the Emacs NEWS file
* etc/NEWS (mode): Use emacs-news-mode.
* lisp/help.el (view-emacs-news): Use emacs-news-mode.

* lisp/textmodes/emacs-news-mode.el: New mode for editing and
viewing the Emacs NEWS file.
2022-04-16 15:42:10 +02:00