1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-23 04:53:12 -08:00

(c-beginning-of-member-init-list):

Better handling of C++ template args to avoid confusion with `<'
and `>' used as operators in member init expressions.
From Martin Stjernholm  <bug-cc-mode@gnu.org>.
This commit is contained in:
Stefan Monnier 2001-10-24 16:12:07 +00:00
parent 17f38380c9
commit bdb410409a
2 changed files with 35 additions and 33 deletions

View file

@ -1,3 +1,9 @@
2001-10-24 Martin Stjernholm <bug-cc-mode@gnu.org>
* progmodes/cc-engine.el (c-beginning-of-member-init-list):
Better handling of C++ template args to avoid confusion with `<'
and `>' used as operators in member init expressions.
2001-10-24 Gerd Moellmann <gerd@gnu.org>
* replace.el (perform-replace): Move START and END parameters
@ -6,8 +12,7 @@
* progmodes/ebrowse.el, progmodes/etags.el: Adapt to change in
perform-replace.
* international/fontset.el (x-must-resolve-font-name): New
function.
* international/fontset.el (x-must-resolve-font-name): New function.
(x-complement-fontset-spec): Use it.
2001-10-23 Gerd Moellmann <gerd@gnu.org>
@ -26,8 +31,8 @@
2001-10-22 Gerd Moellmann <gerd@gnu.org>
* progmodes/compile.el (compilation-set-window-height): Select
old window only if it's still live.
* progmodes/compile.el (compilation-set-window-height):
Select old window only if it's still live.
2001-10-22 Eli Zaretskii <eliz@is.elta.co.il>
@ -42,8 +47,7 @@
* tooltip.el (tooltip-x-offset, tooltip-y-offset): Mention in the
doc string the effect of `left' and `top' parameters in
tooltip-frame-parameters, the default values, and the units.
(tooltip-frame-parameters): Mention `top' and `left' in the doc
string.
(tooltip-frame-parameters): Mention `top' and `left' in the doc string.
(tooltip-show): Mention in the doc string the `top' and `left'
parameters in tooltip-frame-parameters, and x-max-tooltip-size.
(tooltip-set-param): Doc fix.
@ -52,7 +56,7 @@
* saveplace.el (save-place): Require `saveplace'.
* progmodes/cwarn.el (cwarn-font-lock-feature-keywords-alist):
* progmodes/cwarn.el (cwarn-font-lock-feature-keywords-alist):
Use `sexp' for :value-type instead of `face'.
2001-10-20 Gerd Moellmann <gerd@gnu.org>
@ -62,8 +66,7 @@
2001-10-19 Eli Zaretskii <eliz@is.elta.co.il>
* files.el (auto-mode-alist): Associate .indent.pro with
Fundamental mode. Suggested by Samuel Padgett
<spadgett1@nc.rr.com>.
Fundamental mode. Suggested by Samuel Padgett <spadgett1@nc.rr.com>.
2001-10-18 Eli Zaretskii <eliz@is.elta.co.il>

View file

@ -1028,31 +1028,30 @@ brace."
(if (eq (char-after) ?,)
(forward-char 1)
(c-backward-syntactic-ws limit))
(c-with-syntax-table (if (c-major-mode-is 'c++-mode)
c++-template-syntax-table
(syntax-table))
(while (and (< limit (point))
(eq (char-before) ?,))
;; this will catch member inits with multiple
;; line arglists
(forward-char -1)
(c-backward-syntactic-ws)
(if (eq (char-before) ?\))
(c-backward-sexp 2)
(while (and (< limit (point))
(eq (char-before) ?,))
;; this will catch member inits with multiple
;; line arglists
(forward-char -1)
(c-backward-syntactic-ws limit)
(if (eq (char-before) ?\))
(c-backward-sexp 1))
;; Skip over any template arg to the class.
(if (eq (char-after) ?<)
(c-backward-sexp 1))
;; Skip backwards over a fully::qualified::name.
(c-backward-syntactic-ws limit)
(while (and (eq (char-before) ?:)
(save-excursion
(forward-char -1)
(eq (char-before) ?:)))
(backward-char 2)
(c-backward-sexp 1))
;; now continue checking
(c-backward-syntactic-ws limit)))
(c-backward-syntactic-ws limit)
;; Skip over any template arg to the class.
(if (eq (char-before) ?>)
(c-with-syntax-table c++-template-syntax-table
(c-backward-sexp 1)))
(c-backward-sexp 1)
(c-backward-syntactic-ws limit)
;; Skip backwards over a fully::qualified::name.
(while (and (eq (char-before) ?:)
(save-excursion
(forward-char -1)
(eq (char-before) ?:)))
(backward-char 2)
(c-backward-sexp 1))
;; now continue checking
(c-backward-syntactic-ws limit))
(and (< limit (point))
(eq (char-before) ?:)))