(i) Remove any hard syntax-table properties for <, > inserted by C-y.
(ii) Remove category text props, not syntax-table ones in unmarking <, >.
This commit is contained in:
parent
ed20a012b8
commit
8a249abc87
3 changed files with 25 additions and 9 deletions
|
@ -1,3 +1,13 @@
|
|||
2010-02-25 Alan Mackenzie <acm@muc.de>
|
||||
|
||||
* progmodes/cc-engine.el (c-clear-<-pair-props)
|
||||
(c-clear->-pair-props): Correct to wipe category text props, not
|
||||
syntax-table ones.
|
||||
|
||||
* progmodes/cc-mode.el (c-after-change): Remove any hard
|
||||
syntax-table properties for <, > which, e.g., C-y has
|
||||
inopportunely converted from category properties.
|
||||
|
||||
2010-02-24 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* files.el (hack-local-variables-filter): For eval forms, also
|
||||
|
|
|
@ -4929,8 +4929,8 @@ comment at the start of cc-engine.el for more info."
|
|||
(c-go-list-forward))
|
||||
(when (equal (c-get-char-property (1- (point)) 'syntax-table)
|
||||
c->-as-paren-syntax) ; should always be true.
|
||||
(c-clear-char-property (1- (point)) 'syntax-table))
|
||||
(c-clear-char-property pos 'syntax-table))))
|
||||
(c-clear-char-property (1- (point)) 'category))
|
||||
(c-clear-char-property pos 'category))))
|
||||
|
||||
(defun c-clear->-pair-props (&optional pos)
|
||||
;; POS (default point) is at a > character. If it is marked with
|
||||
|
@ -4946,8 +4946,8 @@ comment at the start of cc-engine.el for more info."
|
|||
(c-go-up-list-backward))
|
||||
(when (equal (c-get-char-property (point) 'syntax-table)
|
||||
c-<-as-paren-syntax) ; should always be true.
|
||||
(c-clear-char-property (point) 'syntax-table))
|
||||
(c-clear-char-property pos 'syntax-table))))
|
||||
(c-clear-char-property (point) 'category))
|
||||
(c-clear-char-property pos 'category))))
|
||||
|
||||
(defun c-clear-<>-pair-props (&optional pos)
|
||||
;; POS (default point) is at a < or > character. If it has an
|
||||
|
|
|
@ -642,11 +642,9 @@ compatible with old code; callers should always specify it."
|
|||
(widen)
|
||||
(save-excursion
|
||||
(if c-get-state-before-change-functions
|
||||
(let ((beg (point-min))
|
||||
(end (point-max)))
|
||||
(mapc (lambda (fn)
|
||||
(funcall fn beg end))
|
||||
c-get-state-before-change-functions)))
|
||||
(mapc (lambda (fn)
|
||||
(funcall fn (point-min) (point-max)))
|
||||
c-get-state-before-change-functions))
|
||||
(if c-before-font-lock-function
|
||||
(funcall c-before-font-lock-function (point-min) (point-max)
|
||||
(- (point-max) (point-min))))))
|
||||
|
@ -1042,6 +1040,14 @@ Note that the style variables are always made local to the buffer."
|
|||
(when (> beg end)
|
||||
(setq beg end)))
|
||||
|
||||
;; C-y is capable of spuriously converting category properties
|
||||
;; c-</>-as-paren-syntax into hard syntax-table properties. Remove
|
||||
;; these when it happens.
|
||||
(c-clear-char-property-with-value beg end 'syntax-table
|
||||
c-<-as-paren-syntax)
|
||||
(c-clear-char-property-with-value beg end 'syntax-table
|
||||
c->-as-paren-syntax)
|
||||
|
||||
(c-trim-found-types beg end old-len) ; maybe we don't need all of these.
|
||||
(c-invalidate-sws-region-after beg end)
|
||||
(c-invalidate-state-cache beg)
|
||||
|
|
Loading…
Add table
Reference in a new issue