@@ -639,18 +639,6 @@ def gen_candidates():
639639 "install is broken" )
640640
641641
642- # rcParams deprecated and automatically mapped to another key.
643- # Values are tuples of (version, new_name, f_old2new, f_new2old).
644- _deprecated_map = {}
645- # rcParams deprecated; some can manually be mapped to another key.
646- # Values are tuples of (version, new_name_or_None).
647- _deprecated_ignore_map = {}
648- # rcParams deprecated; can use None to suppress warnings; remain actually
649- # listed in the rcParams.
650- # Values are tuples of (version,)
651- _deprecated_remain_as_none = {}
652-
653-
654642@_docstring .Substitution (
655643 "\n " .join (map ("- {}" .format , sorted (rcsetup ._validators , key = str .lower )))
656644)
@@ -747,56 +735,28 @@ def _ensure_has_backend(self):
747735 dict .setdefault (self , "backend" , rcsetup ._auto_backend_sentinel )
748736
749737 def __setitem__ (self , key , val ):
738+ if (key == "backend"
739+ and val is rcsetup ._auto_backend_sentinel
740+ and "backend" in self ):
741+ return
750742 try :
751- if key in _deprecated_map :
752- version , alt_key , alt_val , inverse_alt = _deprecated_map [key ]
753- _api .warn_deprecated (
754- version , name = key , obj_type = "rcparam" , alternative = alt_key )
755- key = alt_key
756- val = alt_val (val )
757- elif key in _deprecated_remain_as_none and val is not None :
758- version , = _deprecated_remain_as_none [key ]
759- _api .warn_deprecated (version , name = key , obj_type = "rcparam" )
760- elif key in _deprecated_ignore_map :
761- version , alt_key = _deprecated_ignore_map [key ]
762- _api .warn_deprecated (
763- version , name = key , obj_type = "rcparam" , alternative = alt_key )
764- return
765- elif key == 'backend' :
766- if val is rcsetup ._auto_backend_sentinel :
767- if 'backend' in self :
768- return
769- try :
770- cval = self .validate [key ](val )
771- except ValueError as ve :
772- raise ValueError (f"Key { key } : { ve } " ) from None
773- self ._set (key , cval )
743+ cval = self .validate [key ](val )
774744 except KeyError as err :
775745 raise KeyError (
776746 f"{ key } is not a valid rc parameter (see rcParams.keys() for "
777747 f"a list of valid parameters)" ) from err
748+ except ValueError as ve :
749+ raise ValueError (f"Key { key } : { ve } " ) from None
750+ self ._set (key , cval )
778751
779752 def __getitem__ (self , key ):
780- if key in _deprecated_map :
781- version , alt_key , alt_val , inverse_alt = _deprecated_map [key ]
782- _api .warn_deprecated (
783- version , name = key , obj_type = "rcparam" , alternative = alt_key )
784- return inverse_alt (self ._get (alt_key ))
785-
786- elif key in _deprecated_ignore_map :
787- version , alt_key = _deprecated_ignore_map [key ]
788- _api .warn_deprecated (
789- version , name = key , obj_type = "rcparam" , alternative = alt_key )
790- return self ._get (alt_key ) if alt_key else None
791-
792753 # In theory, this should only ever be used after the global rcParams
793754 # has been set up, but better be safe e.g. in presence of breakpoints.
794- elif key == "backend" and self is globals ().get ("rcParams" ):
755+ if key == "backend" and self is globals ().get ("rcParams" ):
795756 val = self ._get (key )
796757 if val is rcsetup ._auto_backend_sentinel :
797758 from matplotlib import pyplot as plt
798759 plt .switch_backend (rcsetup ._auto_backend_sentinel )
799-
800760 return self ._get (key )
801761
802762 def _get_backend_or_none (self ):
@@ -818,6 +778,8 @@ def __str__(self):
818778
819779 def __iter__ (self ):
820780 """Yield sorted list of keys."""
781+ # Deprecation warnings are silenced to cover the case where some
782+ # rcParams entries are being deprecated.
821783 with _api .suppress_matplotlib_deprecation_warning ():
822784 yield from sorted (dict .__iter__ (self ))
823785
@@ -939,11 +901,6 @@ def _rc_params_in_file(fname, transform=lambda x: x, fail_on_error=False):
939901 except Exception as msg :
940902 _log .warning ('Bad value in file %r, line %d (%r): %s' ,
941903 fname , line_no , line .rstrip ('\n ' ), msg )
942- elif key in _deprecated_ignore_map :
943- version , alt_key = _deprecated_ignore_map [key ]
944- _api .warn_deprecated (
945- version , name = key , alternative = alt_key , obj_type = 'rcparam' ,
946- addendum = "Please update your matplotlibrc." )
947904 else :
948905 # __version__ must be looked up as an attribute to trigger the
949906 # module-level __getattr__.
0 commit comments