diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index bada8bd734b..90aa45e8501 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -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 diff --git a/etc/NEWS b/etc/NEWS index bd7c678b8da..a03ffe91ab9 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -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 diff --git a/etc/symbol-releases.eld b/etc/symbol-releases.eld index 645ab77972d..41200581be5 100644 --- a/etc/symbol-releases.eld +++ b/etc/symbol-releases.eld @@ -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 diff --git a/src/textprop.c b/src/textprop.c index 30c26ce4809..8fdaafccede 100644 --- a/src/textprop.c +++ b/src/textprop.c @@ -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");