[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#18378: [Patch] wrong fontification of Java code
From: |
Jordon Biondo |
Subject: |
bug#18378: [Patch] wrong fontification of Java code |
Date: |
Mon, 1 Sep 2014 15:20:30 -0400 |
I have a potential solution for this bug, as it has impacted me as well.
Not sure what the best solution would be but I have included a patch that does
solve the problem. From what I can tell there are no tests for java
fortification but I have not seen any issues arising in my own java projects.
The issue was that in java, a “:” can mark the end of a declaration in a
foreach, not just a “;” or “,”.
=== modified file 'lisp/ChangeLog'
*** lisp/ChangeLog 2014-09-01 15:03:45 +0000
--- lisp/ChangeLog 2014-09-01 19:11:46 +0000
***************
*** 1,3 ****
--- 1,8 ----
+ 2014-09-01 Jordon Biondo <jordonbiondo@gmail.com>
+
+ * progmodes/cc-fonts.el (c-font-lock-declarators): Special
+ case for declarations inside Java foreach loops (Bug#18378)
+
2014-09-01 Eli Zaretskii <eliz@gnu.org>
* ls-lisp.el (ls-lisp-use-string-collate)
=== modified file 'lisp/progmodes/cc-fonts.el'
*** lisp/progmodes/cc-fonts.el 2014-08-24 20:50:11 +0000
--- lisp/progmodes/cc-fonts.el 2014-09-01 19:11:59 +0000
*************** casts and declarations are fontified. U
*** 1116,1123 ****
;; initializing brace lists.
(let (found)
(while
! (and (setq found (c-syntactic-re-search-forward
! "[;,]\\|\\s)\\|\\'\\|\\(=\\|\\s(\\)" limit t t))
(eq (char-before) ?\[)
(c-go-up-list-forward))
(setq brackets-after-id t))
--- 1116,1128 ----
;; initializing brace lists.
(let (found)
(while
! (and (setq found (c-syntactic-re-search-forward
! (concat "[;,]\\|\\s)\\|\\'\\|\\(=\\|"
! (if (c-major-mode-is 'java-mode)
! ":\\|"
! "")
! "\\s(\\)")
! limit t t))
(eq (char-before) ?\[)
(c-go-up-list-forward))
(setq brackets-after-id t))