1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-05 22:20:24 -08:00

(c-guess-basic-syntax): Move CASE 19 to a different place, correctly to

process template-args-cont lines.
This commit is contained in:
Alan Mackenzie 2011-03-06 17:03:45 +00:00
parent 9d1f0f559d
commit 804a116c9d
2 changed files with 29 additions and 28 deletions

View file

@ -1,15 +1,16 @@
2011-03-06 Alan Mackenzie <acm@muc.de>
* 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 <jay.p.belanger@gmail.com>
* 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.

View file

@ -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)