[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-25 a1865bc: Distinguish the two meanings of Java's k
From: |
Alan Mackenzie |
Subject: |
[Emacs-diffs] emacs-25 a1865bc: Distinguish the two meanings of Java's keyword "default". Fixes bug #22358. |
Date: |
Sat, 23 Jan 2016 19:39:12 +0000 |
branch: emacs-25
commit a1865bcf966eafdce28f50fb8a19c1bfd831079a
Author: Alan Mackenzie <address@hidden>
Commit: Alan Mackenzie <address@hidden>
Distinguish the two meanings of Java's keyword "default". Fixes bug #22358.
* lisp/progmodes/cc-engine.el (c-guess-basic-syntax CASE 14): Check the
context of case labels (including "default") more rigorously.
(c-guess-basic-syntax CASE 15): Consequential amendment.
* lisp/progmodes/cc-langs.el (c-modifier-kwds): Add "default" to Java's
value.
---
lisp/progmodes/cc-engine.el | 15 ++++++++++++++-
lisp/progmodes/cc-langs.el | 4 ++--
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 8113446..815bd72 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -10072,7 +10072,19 @@ comment at the start of cc-engine.el for more info."
paren-state)))
;; CASE 14: A case or default label
- ((looking-at c-label-kwds-regexp)
+ ((save-excursion
+ (and (looking-at c-label-kwds-regexp)
+ (or (c-major-mode-is 'idl-mode)
+ (and
+ containing-sexp
+ (goto-char containing-sexp)
+ (eq (char-after) ?{)
+ (progn (c-backward-syntactic-ws) t)
+ (eq (char-before) ?\))
+ (c-go-list-backward)
+ (progn (c-backward-syntactic-ws) t)
+ (c-simple-skip-symbol-backward)
+ (looking-at c-block-stmt-2-key)))))
(if containing-sexp
(progn
(goto-char containing-sexp)
@@ -10088,6 +10100,7 @@ comment at the start of cc-engine.el for more info."
((save-excursion
(back-to-indentation)
(and (not (looking-at c-syntactic-ws-start))
+ (not (looking-at c-label-kwds-regexp))
(c-forward-label)))
(cond (containing-decl-open
(setq placeholder (c-add-class-syntax 'inclass
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index 48dd996..8a1d43c 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -1980,8 +1980,8 @@ will be handled."
;; In CORBA CIDL:
"bindsTo" "delegatesTo" "implements" "proxy" "storedOn")
;; Note: "const" is not used in Java, but it's still a reserved keyword.
- java '("abstract" "const" "final" "native" "private" "protected" "public"
- "static" "strictfp" "synchronized" "transient" "volatile")
+ java '("abstract" "const" "default" "final" "native" "private" "protected"
+ "public" "static" "strictfp" "synchronized" "transient" "volatile")
pike '("final" "inline" "local" "nomask" "optional" "private" "protected"
"public" "static" "variant"))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-25 a1865bc: Distinguish the two meanings of Java's keyword "default". Fixes bug #22358.,
Alan Mackenzie <=