GNU bug report logs - #18378
wrong fontification of Java code

Previous Next

Package: emacs;

Reported by: Paul Pogonyshev <pogonyshev <at> gmail.com>

Date: Mon, 1 Sep 2014 09:49:02 UTC

Severity: minor

Tags: patch

Done: Alan Mackenzie <acm <at> muc.de>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Jordon Biondo <jordonbiondo <at> gmail.com>
To: 18378 <at> debbugs.gnu.org
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 <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.