]> git.eshelyaron.com Git - emacs.git/commit
Fix some corner cases in the recognition of C++ raw strings.
authorAlan Mackenzie <acm@muc.de>
Thu, 25 Apr 2019 15:18:12 +0000 (15:18 +0000)
committerAlan Mackenzie <acm@muc.de>
Thu, 25 Apr 2019 15:18:12 +0000 (15:18 +0000)
commitefb8921a574437aed6209695891c14860bd55f51
tree58310e515e725caa17f7cd2cc9e3ac1b48bbafde
parenta1386fa6a7698c04902354cd5fefb39056b0a901
Fix some corner cases in the recognition of C++ raw strings.

These are where changing the identifier in a raw string delimiter causes
different delimiters to match eachother.

* lisp/progmodes/cc-engine.el (c-raw-string-end-delim-disrupted): New
variable.
(c-before-change-check-raw-strings): Use new variable.
(c-after-change-unmark-raw-strings): When typing into an opening delimiter or
altering its close delimiter causes the opening delimiter to match a later
closing delimiter, clear all syntax-table char properties from the opening
delimiter onwards, and set c-new-END to point max.  Also, when changing a
closing delimiter, check whether its new value matches a previously open
opening delimiter earlier in the buffer, and amend the syntax-table text
properties appropriately.
lisp/progmodes/cc-engine.el