From: Alan Mackenzie Date: Sun, 6 Mar 2011 17:03:45 +0000 (+0000) Subject: (c-guess-basic-syntax): Move CASE 19 to a different place, correctly to X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~665 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=804a116c9d1bae9e7f0feb48657ad44691a4557c;p=emacs.git (c-guess-basic-syntax): Move CASE 19 to a different place, correctly to process template-args-cont lines. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 75c1818b24d..0965642a0ea 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,15 +1,16 @@ 2011-03-06 Alan Mackenzie * progmodes/cc-engine.el (c-guess-basic-syntax): Reindent. + (c-guess-basic-syntax): Move CASE 19 to a different place, + correctly to process template-args-cont lines. 2011-03-06 Jay Belanger - * calc/calc-ext.el (calc-init-extensions): - Rename calc-logunits-dblevel and calc-logunits-nplevel to - calc-dblevel and calc-nplevel, respectively. - Add keybindings for calc-spn, calc-midi and calc-freq. Add - autoloads for calcFunc-spn, calcFunc-midi, calcFunc-freq, - calc-spn, calc-midi and calc-freq. + * calc/calc-ext.el (calc-init-extensions): Rename + calc-logunits-dblevel and calc-logunits-nplevel to calc-dblevel + and calc-nplevel, respectively. Add keybindings for calc-spn, + calc-midi and calc-freq. Add autoloads for calcFunc-spn, + calcFunc-midi, calcFunc-freq, calc-spn, calc-midi and calc-freq. * calc/calc-units.el (calc-dblevel): Rename from calc-logunits-dblevel. diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index e84ea3c1dcd..5ef12300195 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el @@ -9628,28 +9628,6 @@ comment at the start of cc-engine.el for more info." (c-most-enclosing-brace paren-state (point)) paren-state)) - ;; CASE 19: line is an expression, not a statement, and is directly - ;; contained by a template delimiter. Most likely, we are in a - ;; template arglist within a statement. This case is based on CASE - ;; 7. At some point in the future, we may wish to create more - ;; syntactic symbols such as `template-intro', - ;; `template-cont-nonempty', etc., and distinguish between them as we - ;; do for `arglist-intro' etc. (2009-12-07). - ((and c-recognize-<>-arglists - (setq containing-< (c-up-list-backward indent-point containing-sexp)) - (eq (char-after containing-<) ?\<)) - (setq placeholder (c-point 'boi containing-<)) - (goto-char containing-sexp) ; Most nested Lbrace/Lparen (but not - ; '<') before indent-point. - (if (>= (point) placeholder) - (progn - (forward-char) - (skip-chars-forward " \t")) - (goto-char placeholder)) - (c-add-stmt-syntax 'template-args-cont (list containing-<) t - (c-most-enclosing-brace c-state-cache (point)) - paren-state)) - ;; CASE 7B: Looking at the opening brace of an ;; in-expression block or brace list. C.f. cases 4, 16A ;; and 17E. @@ -9986,6 +9964,28 @@ comment at the start of cc-engine.el for more info." paren-state)) )) + ;; CASE 19: line is an expression, not a statement, and is directly + ;; contained by a template delimiter. Most likely, we are in a + ;; template arglist within a statement. This case is based on CASE + ;; 7. At some point in the future, we may wish to create more + ;; syntactic symbols such as `template-intro', + ;; `template-cont-nonempty', etc., and distinguish between them as we + ;; do for `arglist-intro' etc. (2009-12-07). + ((and c-recognize-<>-arglists + (setq containing-< (c-up-list-backward indent-point containing-sexp)) + (eq (char-after containing-<) ?\<)) + (setq placeholder (c-point 'boi containing-<)) + (goto-char containing-sexp) ; Most nested Lbrace/Lparen (but not + ; '<') before indent-point. + (if (>= (point) placeholder) + (progn + (forward-char) + (skip-chars-forward " \t")) + (goto-char placeholder)) + (c-add-stmt-syntax 'template-args-cont (list containing-<) t + (c-most-enclosing-brace c-state-cache (point)) + paren-state)) + ;; CASE 17: Statement or defun catchall. (t (goto-char indent-point)