I just ran into the same problem you are describing.
None of the above worked, but I narrowed it down to using a carriage return, and then an open parenthesis inside the line, for example:
### indent ( <tab> ) working fine up to here s1 <- "string (then this in brackets)" ### now indent does nothing!
The fact that it is balanced later does not help. I think EMACS reads this as opening a new expression / block, even though it appears on the quoted line. This, apparently, also applies to expressions of the expressions { and [ . This seems to happen when the "open expression" character appears at the beginning of a line ...
In my case, the line was part of the graph label, so \n was used instead.
source share