bug#59427: CC Mode 5.35.2 (C/*l); More bad fontification
Michael Welsh Duggan <[email protected]> Thu, 24 Nov 2022 22:20:42 -0500
| Newsgroups | gmane.emacs.cc-mode.general |
|---|---|
| Message-ID | <[email protected]> |
Alan Mackenzie <[email protected]> writes: > Hello, Po. > > On Mon, Nov 21, 2022 at 10:32:26 +0800, Po Lu via CC-Mode-help wrote: >> Package: cc-mode > >> Insert the following text in a c-mode buffer: > >> static uint64_t >> ConfineTime (uint64_t time) >> { >> uint32_t milliseconds; > >> /* Given a microsecond time, confine the millisecond part to >> CARD32. */ >> milliseconds = time / 1000; > >> return (milliseconds * (uint64_t) 1000 >> + time % 1000); >> } > >> Notice how "milliseconds" is recognized as a type, and the uint64_t in >> the cast as an identifier. > > Yes. Here the "symmetric space" criterion for * was buggy. That > criterion says if there is whitespace on neither side of the *, or both, > it is a multiplication sign. Otherwise it is the indirection operator. > > The bug was not taking the ( properly into account. Please apply the > attached patch, which should fix this, and confirm it works OK. Thanks! Oh dear. My personal programming style uses a "type * name" spacing for pointers. (More specifically, I put spaces on either side of "*", "&" or "&&" when used to form types.) Is this going to cause me problems in the future? -- Michael Welsh Duggan ([email protected])