Run c-unmark-<>-around-region in after-change-functions always.
This fixes bug#70435. * lisp/progmodes/cc-engine.el (c-unmark-<>-around-region): Run its contents in after-change-functions for a deletion, so that c-new-BEG and c-new-END get set. Add a new test (> end beg) in a check for unterminated string handling.
This commit is contained in:
parent
8098ad9679
commit
71491fe6f4
1 changed files with 3 additions and 2 deletions
|
@ -7146,7 +7146,7 @@ comment at the start of cc-engine.el for more info."
|
|||
;; FIXME!!! This routine ignores the possibility of macros entirely.
|
||||
;; 2010-01-29.
|
||||
|
||||
(when (> end beg)
|
||||
(when (or old-len (> end beg))
|
||||
;; Extend the region (BEG END) to deal with any complicating literals.
|
||||
(let* ((lit-search-beg (if (memq (char-before beg) '(?/ ?*))
|
||||
(1- beg) beg))
|
||||
|
@ -7220,7 +7220,8 @@ comment at the start of cc-engine.el for more info."
|
|||
(c-put-char-properties beg end 'syntax-table '(1))
|
||||
;; If an open string's opener has just been neutralized,
|
||||
;; do the same to the terminating LF.
|
||||
(when (and end-literal-end
|
||||
(when (and (> end beg)
|
||||
end-literal-end
|
||||
(eq (char-before end-literal-end) ?\n)
|
||||
(equal (c-get-char-property
|
||||
(1- end-literal-end) 'syntax-table)
|
||||
|
|
Loading…
Add table
Reference in a new issue