branch: elpa/d-mode
commit 4b3cf20a90203cfa81b8eac857f44fa57124c19a
Author: Vladimir Panteleev <[email protected]>
Commit: Vladimir Panteleev <[email protected]>
Be more restrictive when recognizing lambdas
Not anything in a paren pair is a lambda parameter list.
---
d-mode.el | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/d-mode.el b/d-mode.el
index 6c883e1..2da456c 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: 201911112225
+;; Version: 201911112251
;; Keywords: D programming language emacs cc-mode
;; Package-Requires: ((emacs "25.1"))
@@ -738,9 +738,20 @@ CONTEXT is as in `c-forward-decl-or-cast-1'."
(c-major-mode-is 'd-mode)
(eq (car res) nil)
(save-excursion
- (goto-char match-pos)
- (c-backward-syntactic-ws)
- (eq (char-before) ?\()))
+ (and
+ (progn
+ (goto-char match-pos)
+ (c-backward-syntactic-ws)
+ (eq (char-before) ?\())
+ (progn
+ (backward-char)
+ (c-forward-sexp)
+ (c-forward-syntactic-ws)
+ (while (d-forward-attribute-or-storage-class 'top))
+ (or
+ (eq (char-after) ?\{)
+ (looking-at "=>"))))))
+
(setq res (cons 'decl t))
;; (message " patching -> %S" res)
)