mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-18 18:05:07 +00:00
Make Java try-with-resources statement parse properly.
progmodes/cc-langs.el (c-block-stmt-1-2-kwds, c-block-stmt-1-2-key): New language constants/variables. progmodes/cc-engine.el (c-beginning-of-statement-1, c-after-conditional): Adapt to deal with c-block-stmt-1-2-key. progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to deal with c-block-stmt-1-2-key.
This commit is contained in:
parent
9dabd86d4b
commit
5ab78d3d6a
@ -1,3 +1,13 @@
|
||||
2013-07-27 Alan Mackenzie <acm@muc.de>
|
||||
|
||||
Make Java try-with-resources statement parse properly.
|
||||
* progmodes/cc-langs.el (c-block-stmt-1-2-kwds)
|
||||
(c-block-stmt-1-2-key): New language constants/variables.
|
||||
* progmodes/cc-engine.el (c-beginning-of-statement-1)
|
||||
(c-after-conditional): Adapt to deal with c-block-stmt-1-2-key.
|
||||
* progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to deal
|
||||
with c-block-stmet-1-2-key.
|
||||
|
||||
2013-07-27 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* desktop.el (desktop--make-frame): Apply most frame parameters after
|
||||
|
@ -1135,9 +1135,13 @@ comment at the start of cc-engine.el for more info."
|
||||
(not (memq sym '(boundary ignore nil))))
|
||||
;; Need to investigate closer whether we've crossed
|
||||
;; between a substatement and its containing statement.
|
||||
(if (setq saved (if (looking-at c-block-stmt-1-key)
|
||||
ptok
|
||||
pptok))
|
||||
(if (setq saved
|
||||
(cond ((and (looking-at c-block-stmt-1-2-key)
|
||||
(eq (char-after ptok) ?\())
|
||||
pptok)
|
||||
((looking-at c-block-stmt-1-key)
|
||||
ptok)
|
||||
(t pptok)))
|
||||
(cond ((> start saved) (setq pos saved))
|
||||
((= start saved) (setq ret 'up)))))
|
||||
|
||||
@ -7988,7 +7992,8 @@ comment at the start of cc-engine.el for more info."
|
||||
(or (looking-at c-block-stmt-1-key)
|
||||
(and (eq (char-after) ?\()
|
||||
(zerop (c-backward-token-2 1 t lim))
|
||||
(looking-at c-block-stmt-2-key)))
|
||||
(or (looking-at c-block-stmt-2-key)
|
||||
(looking-at c-block-stmt-1-2-key))))
|
||||
(point))))
|
||||
|
||||
(defun c-after-special-operator-id (&optional lim)
|
||||
|
@ -1307,7 +1307,8 @@ casts and declarations are fontified. Used on level 2 and higher."
|
||||
(goto-char match-pos)
|
||||
(backward-char)
|
||||
(c-backward-token-2)
|
||||
(looking-at c-block-stmt-2-key)))
|
||||
(or (looking-at c-block-stmt-2-key)
|
||||
(looking-at c-block-stmt-1-2-key))))
|
||||
(setq context nil
|
||||
c-restricted-<>-arglists t))
|
||||
;; Near BOB.
|
||||
|
@ -2187,6 +2187,18 @@ identifiers that follows the type in a normal declaration."
|
||||
t (c-make-keywords-re t (c-lang-const c-block-stmt-1-kwds)))
|
||||
(c-lang-defvar c-block-stmt-1-key (c-lang-const c-block-stmt-1-key))
|
||||
|
||||
(c-lang-defconst c-block-stmt-1-2-kwds
|
||||
"Statement keywords optionally followed by a paren sexp.
|
||||
Keywords here should also be in `c-block-stmt-1-kwds'."
|
||||
t nil
|
||||
java '("try"))
|
||||
|
||||
(c-lang-defconst c-block-stmt-1-2-key
|
||||
;; Regexp matching the start of a statement which may be followed by a
|
||||
;; paren sexp and will then be followed by a substatement.
|
||||
t (c-make-keywords-re t (c-lang-const c-block-stmt-1-2-kwds)))
|
||||
(c-lang-defvar c-block-stmt-1-2-key (c-lang-const c-block-stmt-1-2-key))
|
||||
|
||||
(c-lang-defconst c-block-stmt-2-kwds
|
||||
"Statement keywords followed by a paren sexp and then by a substatement."
|
||||
t '("for" "if" "switch" "while")
|
||||
|
Loading…
Reference in New Issue
Block a user