* bug#73175: 30.0.60; toggling emacs-news-view-mode doesn't remove buttons
@ 2024-09-11 9:42 Robert Pluim
0 siblings, 0 replies; only message in thread
From: Robert Pluim @ 2024-09-11 9:42 UTC (permalink / raw)
To: 73175
src/emacs -Q etc/NEWS
C-x C-q ; buttons appear
C-x C-q ; buttons donʼt disappear
(personally I donʼt mind the buttons, but the intent of faf1f037987c
was to make them disappear).
I came up with the following, but I can never remember all the details
of text property removal (maybe we need a `button-debuttonize-region'?)
diff --git a/lisp/textmodes/emacs-news-mode.el b/lisp/textmodes/emacs-news-mode.el
index edeb1540feb..2cca63071b5 100644
--- a/lisp/textmodes/emacs-news-mode.el
+++ b/lisp/textmodes/emacs-news-mode.el
@@ -112,10 +112,17 @@ emacs-news--mode-common
(define-derived-mode emacs-news-mode text-mode "NEWS"
"Major mode for editing the Emacs NEWS file."
;; Disable buttons.
- (button-mode nil)
+ (button-mode -1)
;; And make the buffer writable. This is used when toggling
;; emacs-news-mode.
(setq buffer-read-only nil)
+ (save-excursion
+ (with-silent-modifications
+ (widen)
+ (remove-text-properties (point-min) (point-max)
+ (button--properties nil nil nil))
+ (add-face-text-property (point-min) (point-max)
+ 'button nil)))
(setq-local fill-paragraph-function #'emacs-news--fill-paragraph)
(emacs-news--mode-common))
In GNU Emacs 30.0.60 (build 4, x86_64-pc-linux-gnu, GTK+ Version
3.24.38, cairo version 1.16.0) of 2024-09-05 built on rltb
Repository revision: fc7581ae2ee9db1e3189b76c66be9cd13f72f004
Repository branch: emacs-30
System Description: Debian GNU/Linux 12 (bookworm)
Robert
--
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2024-09-11 9:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-11 9:42 bug#73175: 30.0.60; toggling emacs-news-view-mode doesn't remove buttons Robert Pluim
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.