emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#36136: closed (syntax-ppss fails to invalidate its


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#36136: closed (syntax-ppss fails to invalidate its cache on changes to syntax-table text properties)
Date: Sat, 24 Aug 2019 19:36:02 +0000

Your message dated Sat, 24 Aug 2019 19:35:47 +0000
with message-id <20190824193547.GA8747@ACM>
and subject line Re: bug#36136: Acknowledgement (syntax-ppss fails to 
invalidate its cache on changes to syntax-table text properties)
has caused the debbugs.gnu.org bug report #36136,
regarding syntax-ppss fails to invalidate its cache on changes to syntax-table 
text properties
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden.)


-- 
36136: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=36136
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: syntax-ppss fails to invalidate its cache on changes to syntax-table text properties Date: Sat, 8 Jun 2019 13:17:24 +0000 User-agent: Mutt/1.10.1 (2018-07-13)
Hello, Emacs.

The syntax-ppss cache is not invalidated when syntax-table text
properties are set or cleared.  This is because the invalidation
function, syntax-ppss-flush-cache is invoked only as a before-change
function, but typical (?all) syntax-table property changes happen when
before-change-functions is inactive.

This is a bug.

In my debugging of a CC Mode scenario, a buffer change causes a
syntax-table text property change at an earlier part of the buffer.  This
is to do with the change making previously non-matching C++ raw string
identifiers match up.  Font lock follows the syntax-ppss state, which
spuriously records that the end part of the buffer is still in a string.
Hence the non-string part of the buffer is still fontified with
font-lock-string-face.

Suggested fix: the functions set_properties, add_properties,
remove_properties in textprop.c should check for changes to,
specifically, syntax-table properties.  When these changes are detected,
a hook called something like syntax-table-props-change-alert-hook should
be called (with some appropriate position parameters, tbd).
syntax-ppss-flush-cache will be added to this hook.

-- 
Alan Mackenzie (Nuremberg, Germany).



--- End Message ---
--- Begin Message --- Subject: Re: bug#36136: Acknowledgement (syntax-ppss fails to invalidate its cache on changes to syntax-table text properties) Date: Sat, 24 Aug 2019 19:35:47 +0000 User-agent: Mutt/1.10.1 (2018-07-13)
tags 36136 + wontfix
quit

It has been decided not to fix this bug, since it doesn't affect many
packages, and easy (though ugly) workarounds are available, principally
by the affected packages calling syntax-ppss-flush-cache.

-- 
Alan Mackenzie (Nuremberg, Germany).


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]