emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/d-mode 4586b41 314/346: Fix mis-interpreting parts of some


From: ELPA Syncer
Subject: [nongnu] elpa/d-mode 4586b41 314/346: Fix mis-interpreting parts of some compound statements as lambdas
Date: Sun, 29 Aug 2021 11:00:51 -0400 (EDT)

branch: elpa/d-mode
commit 4586b41c7e40cf72b78262c9aea1297c5993b785
Author: Vladimir Panteleev <git@thecybershadow.net>
Commit: Vladimir Panteleev <git@thecybershadow.net>

    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 <russel@winder.org.uk>
 ;;              Vladimir Panteleev <vladimir@thecybershadow.net>
 ;; 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">&quot;&quot;</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>) {}
+}



reply via email to

[Prev in Thread] Current Thread [Next in Thread]