Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Convert "osx" gui framework to/from "macosx" in Matplotlib (#14420)
This is a correction to the code that moves backend handling to Matplotlib, which came to light during the review of matplotlib/matplotlib#27948. The GUI framework of macOSX is called `osx` in IPython but `macosx` in Matplotlib. It would be possible to allow passing a GUI framework of `osx` to Matplotlib and internally converting it to `macosx`, but the reverse direction is problematic as we would like the answer to be `osx` if we are using IPython and `macosx` if using pure Matplotlib. Therefore the simplest solution is to do the translation in IPython. It is not ideal as we want to minimise such Matplotlib-related implementation details in IPython, but the changes here are small and simple and hence I think they are acceptable. There are two new private functions `_convert_gui_to_matplotlib` and `_convert_gui_from_matplotlib` to do the required checking and conversion, and these are called whenever a GUI framework name is passed to or from Matplotlib. There are only 3 places in the code where this is currently required. Inevitably this comes to light just after the release of IPython 8.24.0! But it is not a problem for end users until the next Matplotlib release which contains matplotlib/matplotlib#27948. If that occurs really quickly (sometime in May?) perhaps we could release an IPython 8.24.1 just beforehand, otherwise the usual planned release at the end of next month would be fine.
- Loading branch information