GNU bug report logs -
#18378
wrong fontification of Java code
Previous Next
Full log
Message #8 received at 18378 <at> debbugs.gnu.org (full text, mbox):
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 <at> 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 <at> 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))
This bug report was last modified 5 years and 173 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.