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

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

[nongnu] elpa/d-mode 4b3cf20 305/346: Be more restrictive when recognizi


From: ELPA Syncer
Subject: [nongnu] elpa/d-mode 4b3cf20 305/346: Be more restrictive when recognizing lambdas
Date: Sun, 29 Aug 2021 11:00:50 -0400 (EDT)

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

    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 <russel@winder.org.uk>
 ;;              Vladimir Panteleev <vladimir@thecybershadow.net>
 ;; 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)
       )



reply via email to

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