branch: elpa/d-mode
commit 4586b41c7e40cf72b78262c9aea1297c5993b785
Author: Vladimir Panteleev <[email protected]>
Commit: Vladimir Panteleev <[email protected]>
Fix mis-interpreting parts of some compound statements as lambdas
---
d-mode.el | 6 +++++-
tests/fonts.d | 12 ++++++++++++
tests/fonts.d.html | 12 ++++++++++++
3 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/d-mode.el b/d-mode.el
index 6ac7369..4d8f7aa 100644
--- a/d-mode.el
+++ b/d-mode.el
@@ -7,7 +7,7 @@
;; Maintainer: Russel Winder <[email protected]>
;; Vladimir Panteleev <[email protected]>
;; Created: March 2007
-;; Version: 201911121026
+;; Version: 201911121047
;; Keywords: D programming language emacs cc-mode
;; Package-Requires: ((emacs "25.1"))
@@ -812,6 +812,10 @@ CONTEXT is as in `c-forward-decl-or-cast-1'."
(and
(c-backward-token-2)
(cond
+ ((looking-at (d-make-keywords-re t '("if" "while" "for"
"switch"
+ "with"
"synchronized")))
+ (setq type nil)
+ t)
((looking-at (d-make-keywords-re t '("foreach"
"foreach_reverse")))
t)
((looking-at (d-make-keywords-re t '("catch")))
diff --git a/tests/fonts.d b/tests/fonts.d
index 509c798..a32295d 100644
--- a/tests/fonts.d
+++ b/tests/fonts.d
@@ -47,3 +47,15 @@ void fun()
submodule.needHead(commit);
return gun();
}
+
+void fun()
+{
+ if (a) {}
+ while (a) {}
+ for (a; b; c) {}
+ switch (a) {}
+ final switch (a) {}
+ with (a) {}
+ synchronized (a) {}
+ debug (a) {}
+}
diff --git a/tests/fonts.d.html b/tests/fonts.d.html
index de7f887..9508e08 100644
--- a/tests/fonts.d.html
+++ b/tests/fonts.d.html
@@ -47,3 +47,15 @@ write(s ~ <span class="string">""</span>);
submodule.needHead(commit);
<span class="keyword">return</span> gun();
}
+
+<span class="type">void</span> <span class="function-name">fun</span>()
+{
+ <span class="keyword">if</span> (a) {}
+ <span class="keyword">while</span> (a) {}
+ <span class="keyword">for</span> (a; b; c) {}
+ <span class="keyword">switch</span> (a) {}
+ <span class="keyword">final switch</span> (a) {}
+ <span class="keyword">with</span> (a) {}
+ <span class="keyword">synchronized</span> (a) {}
+ <span class="keyword">debug</span> (<span class="constant">a</span>) {}
+}