This works on v3.2.2, but not 3.3.0 and later. I'm not able to build 3.2.2 locally, so can't do a bisect to figure it out exactly. A quick diff of the _macosx.m file between those versions didn't yield anything immediately obvious to me either... Hopefully that helps someone else narrow down the issue.
I'm not exactly clear what the issue is here...
If I pass in a string I format that matches what the format_data is sending myself, everything seems to work fine...
message = 'x=\N{MINUS SIGN}0.1234 y=1.234\n[1.234]'
However, as far as I can tell that same message when coming from that section of code, causes the cursor to be lost. I thought perhaps it had something to do with the MINUS SIGN unicode character, but that seems to be rendered fine in that string as well.
The quick fix is to send in message = message.replace('\n', \t'), which still looks pretty good and you get the cursor back. But, it is a bit of a mystery to me why there is a difference even though the byte-codes seem to be identical to me.
Activity
greglucas commented on Aug 5, 2021
This works on v3.2.2, but not 3.3.0 and later. I'm not able to build 3.2.2 locally, so can't do a bisect to figure it out exactly. A quick diff of the _macosx.m file between those versions didn't yield anything immediately obvious to me either... Hopefully that helps someone else narrow down the issue.
QuLogic commented on Aug 6, 2021
Could it be related to the mouse tracking changes in #16992?
dstansby commented on Aug 25, 2021
This bisects to 1857fca from #17092 by @anntzer
anntzer commented on Aug 25, 2021
I guess trying to display a 2-line status message may make macosx unhappy? No other idea for now...
dstansby commented on Aug 26, 2021
Yep, this seems to be correct. Removing the newline here fixes the issue:
matplotlib/lib/matplotlib/backend_bases.py
Line 3060 in b600026
I'm not sure what that means for fixing this though - I guess there's a bug somewhere in the macosx backend that needs fixing.
greglucas commented on Nov 24, 2021
I'm not exactly clear what the issue is here...
If I pass in a string I format that matches what the format_data is sending myself, everything seems to work fine...
message = 'x=\N{MINUS SIGN}0.1234 y=1.234\n[1.234]'
However, as far as I can tell that same message when coming from that section of code, causes the cursor to be lost. I thought perhaps it had something to do with the MINUS SIGN unicode character, but that seems to be rendered fine in that string as well.
The quick fix is to send in message = message.replace('\n', \t'), which still looks pretty good and you get the cursor back. But, it is a bit of a mystery to me why there is a difference even though the byte-codes seem to be identical to me.
anntzer commented on Nov 24, 2021
Probably(?) doesn't help, but
seems like a reasonable patch in any case?