Not sure if it's a proper bug, but I got myself unable to classify some symbols on Atom inside macros.
Like, when I define something like:
'"+"' : 'keyword.operator.add'
It will classify all + signs, except inside macro invocations and macro definitions
The same are true for all operator-like symbols and the in, but other keywords work just fine.
Looking at the code, I suspect that this happens inside _non_special_token, where in is not there and the operator-like symbols are defined by a regular expression /[/_\-=->,;:::!=?.@*=/='&=#%=^=+<>|~]+/, not separated strings.
Again, not sure if it can be considered a bug or if it should be handled in some way on the user side.