bug#63328: CC Mode 5.35.2 (Java//l); Constructor function not fontified as such
Po Lu via CC-Mode-help <[email protected]> Fri, 26 May 2023 19:52:09 +0800
| Newsgroups | gmane.emacs.cc-mode.general |
|---|---|
| Message-ID | <[email protected]> |
Alan Mackenzie <[email protected]> writes: > Hello, Po. > > On Fri, May 12, 2023 at 10:42:21 +0800, Po Lu wrote: >> Alan Mackenzie <[email protected]> writes: > > [ .... ] > >> > To fix this reuired some tweaking of the low level syntactic analysis >> > code. Could I ask you, please, to test the enclosed patch (which should >> > apply cleanly to either master or the emacs-29 branch). Then please let >> > me know how the test went. > >> It seems to work, but perhaps it would be safer to change that code only >> in Java mode, and not in the rest of the CC modes? > > Sorry it's taken me so long. I wasn't really happy with that last patch > I sent you - it slowed Java Mode's fontification by around 15%, because > it was testing every function call for being a constructor. I've settled > on a scheme where the code checks for an argument list and the opening > brace of the statement block before fontifying as a constructor. So, on > typing a new constructor, the fontification gets delayed until the brace > gets typed. This isn't ideal, though I think it's better than the 15% > slowdown. > > After consideration, I think it's better to leave the check in for all > modes, not just Java Mode. I don't think there's any valid syntax in any > CC Mode mode which could accidentally trigger the mechanism, and the > problem with the lack of fontification might well occur in some derived > mode, too. > > Anyhow, I have attached a patch, so would you please test it on your real > code and let me know how well it works. Thanks! I don't have time to try this right now. Would you quickly run it over the code in `java' on Emacs's feature/android branch, and install it if it seems to work? TIA.