[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master a50271e: Java Mode: Fix handling of nested generics
From: |
Alan Mackenzie |
Subject: |
[Emacs-diffs] master a50271e: Java Mode: Fix handling of nested generics ending in >>>. |
Date: |
Sat, 27 Jul 2019 12:30:52 -0400 (EDT) |
branch: master
commit a50271e0c39bad630b433e31434ef20f584bfc09
Author: Alan Mackenzie <address@hidden>
Commit: Alan Mackenzie <address@hidden>
Java Mode: Fix handling of nested generics ending in >>>.
This fixes bug #24671.
* lisp/progmodes/cc-langs.el (c-multichar->-op-not->>-regexp): remove,
transforming into ...
(c-multichar->-op-not->>->>>-regexp) New lang const/var.
* lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): use the new
c-multichar->-op-not->>->>>-regexp in place of the old
c-multichar->-op-not->>-regexp.
---
lisp/progmodes/cc-engine.el | 2 +-
lisp/progmodes/cc-langs.el | 18 ++++++++++--------
2 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 1ebacb5..37d4591 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -7983,7 +7983,7 @@ comment at the start of cc-engine.el for more info."
(if (save-excursion
(c-backward-token-2)
- (looking-at c-multichar->-op-not->>-regexp))
+ (looking-at c-multichar->-op-not->>->>>-regexp))
(progn
(goto-char (match-end 0))
t) ; Continue the loop.
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index 72c0fdd..f3dd0c6 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -1409,15 +1409,17 @@ operators."
(c-lang-defvar c->-op-without->-cont-regexp
(c-lang-const c->-op-without->-cont-regexp))
-(c-lang-defconst c-multichar->-op-not->>-regexp
- ;; Regexp matching multichar tokens containing ">", except ">>"
+(c-lang-defconst c-multichar->-op-not->>->>>-regexp
+ ;; Regexp matching multichar tokens containing ">", except ">>" and ">>>"
t (c-make-keywords-re nil
- (delete ">>"
- (c-filter-ops (c-lang-const c-all-op-syntax-tokens)
- t
- "\\(.>\\|>.\\)"))))
-(c-lang-defvar c-multichar->-op-not->>-regexp
- (c-lang-const c-multichar->-op-not->>-regexp))
+ (c--set-difference
+ (c-filter-ops (c-lang-const c-all-op-syntax-tokens)
+ t
+ "\\(.>\\|>.\\)")
+ '(">>" ">>>")
+ :test 'string-equal)))
+(c-lang-defvar c-multichar->-op-not->>->>>-regexp
+ (c-lang-const c-multichar->-op-not->>->>>-regexp))
(c-lang-defconst c-:-op-cont-tokens
;; A list of second and subsequent characters of all multicharacter tokens
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master a50271e: Java Mode: Fix handling of nested generics ending in >>>.,
Alan Mackenzie <=