Commit a50271e0 authored by Alan Mackenzie's avatar Alan Mackenzie
Browse files

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.
parent 883679dd
Pipeline #2614 failed with stage
in 56 minutes and 44 seconds
......@@ -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.
......
......@@ -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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment