bug-gnu-emacs
[Top][All Lists]
Advanced

[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))






reply via email to

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