Add one empty line and the formatting of M1 and M2 changes from beige to red (my color for constants):
Add another line and string formatting breaks after the nested macro invocation:
Some arbitrary changes seem to bypass this issue, like adding spaces before the parentheses, or having just one function-like expression:
Additional info:
The __asm__ part can be any identifier, but its length seems to be related to how many newlines are required for string formatting to break.
The lines before the function-like expression don't have to be empty, and having content on them makes the required number of lines smaller before string formatting starts to break.
M1 and M2 don't have to be macros (i.e. all-uppercase). Any function-like expression will work.
This only happens with C and C++ grammars, but not with Objective-C or Objective-C++.
Prerequisites
Description / Steps to Reproduce
Let's start with this code:
This renders as I would expect:
Add one empty line and the formatting of
M1
andM2
changes from beige to red (my color for constants):Add another line and string formatting breaks after the nested macro invocation:
Some arbitrary changes seem to bypass this issue, like adding spaces before the parentheses, or having just one function-like expression:
Additional info:
__asm__
part can be any identifier, but its length seems to be related to how many newlines are required for string formatting to break.M1
andM2
don't have to be macros (i.e. all-uppercase). Any function-like expression will work.Another test case:
Result:
Versions
OS: macOS High Sierra 10.13.6 (17G3025)
language-c
package version: 0.60.13