Make 'text-property-default-nonsticky' buffer-local when set

* src/textprop.c (syms_of_textprop)
<text-property-default-nonsticky>: Make buffer-local when set.
(Bug#76445)

* etc/symbol-releases.eld: Add text-property-default-nonsticky.

* etc/NEWS:
* doc/lispref/text.texi (Sticky Properties): Document the change.
This commit is contained in:
Eli Zaretskii 2025-02-22 18:04:04 +02:00
parent 8b6797fa01
commit 827a91dbf3
4 changed files with 12 additions and 4 deletions

View file

@ -4135,10 +4135,10 @@ list, properties are rear-sticky @emph{unless} their names are in the
list.
@defvar text-property-default-nonsticky
This variable holds an alist which defines the default rear-stickiness
of various text properties. Each element has the form
@code{(@var{property} . @var{nonstickiness})}, and it defines the
stickiness of a particular text property, @var{property}.
This buffer-local variable holds an alist which defines the default
rear-stickiness of various text properties in the buffer. Each element
has the form @code{(@var{property} . @var{nonstickiness})}, and it
defines the stickiness of a particular text property, @var{property}.
If @var{nonstickiness} is non-@code{nil}, this means that the property
@var{property} is rear-nonsticky by default. Since all properties are

View file

@ -1306,6 +1306,11 @@ An old alternative name (without the first 'e') has been removed.
+++
** 'read-directory-name' now accepts an optional PREDICATE argument.
+++
** 'text-property-default-nonsticky' is now buffer-local.
This variable now becomes buffer-local when set. Use 'setq-default' in
(the unlikely) case you want to change the global value.
---
** All the digit characters now have the 'digit' category.
All the characters whose Unicode general-category is Nd now have the

View file

@ -44,6 +44,7 @@
("22.1" fun version<)
("22.1" fun version<=)
("22.1" fun read-number)
("21.1" var text-property-default-nonsticky)
;; Since much of early Emacs source history is lost, these versions are
;; conservative estimates: the actual version of first appearance may very

View file

@ -2427,6 +2427,7 @@ inherits it if NONSTICKINESS is nil. The `front-sticky' and
by default. */
Vtext_property_default_nonsticky
= list2 (Fcons (Qsyntax_table, Qt), Fcons (Qdisplay, Qt));
Fmake_variable_buffer_local (Qtext_property_default_nonsticky);
interval_insert_behind_hooks = Qnil;
interval_insert_in_front_hooks = Qnil;
@ -2444,6 +2445,7 @@ inherits it if NONSTICKINESS is nil. The `front-sticky' and
DEFSYM (Qlocal_map, "local-map");
DEFSYM (Qfront_sticky, "front-sticky");
DEFSYM (Qrear_nonsticky, "rear-nonsticky");
DEFSYM (Qtext_property_default_nonsticky, "text-property-default-nonsticky");
DEFSYM (Qmouse_face, "mouse-face");
DEFSYM (Qminibuffer_prompt, "minibuffer-prompt");