@@ -484,34 +484,51 @@ rb_enc_warning(rb_encoding *enc, const char *fmt, ...)
484484}
485485#endif
486486
487+ static bool
488+ deprecation_warning_enabled (void )
489+ {
490+ if (NIL_P (ruby_verbose )) return false;
491+ if (!rb_warning_category_enabled_p (RB_WARN_CATEGORY_DEPRECATED )) return false;
492+ return true;
493+ }
494+
495+ static void
496+ warn_deprecated (VALUE mesg , const char * removal , const char * suggest )
497+ {
498+ rb_str_set_len (mesg , RSTRING_LEN (mesg ) - 1 );
499+ rb_str_cat_cstr (mesg , " is deprecated" );
500+ if (removal ) {
501+ rb_str_catf (mesg , " and will be removed in Ruby %s" , removal );
502+ }
503+ if (suggest ) rb_str_catf (mesg , "; use %s instead" , suggest );
504+ rb_str_cat_cstr (mesg , "\n" );
505+ rb_warn_category (mesg , ID2SYM (id_deprecated ));
506+ }
507+
487508void
488509rb_warn_deprecated (const char * fmt , const char * suggest , ...)
489510{
490- if (NIL_P ( ruby_verbose )) return ;
491- if (! rb_warning_category_enabled_p ( RB_WARN_CATEGORY_DEPRECATED )) return ;
511+ if (! deprecation_warning_enabled ( )) return ;
512+
492513 va_list args ;
493514 va_start (args , suggest );
494515 VALUE mesg = warning_string (0 , fmt , args );
495516 va_end (args );
496- rb_str_set_len (mesg , RSTRING_LEN (mesg ) - 1 );
497- rb_str_cat_cstr (mesg , " is deprecated" );
498- if (suggest ) rb_str_catf (mesg , "; use %s instead" , suggest );
499- rb_str_cat_cstr (mesg , "\n" );
500- rb_warn_category (mesg , ID2SYM (id_deprecated ));
517+
518+ warn_deprecated (mesg , NULL , suggest );
501519}
502520
503521void
504- rb_warn_deprecated_to_remove (const char * fmt , const char * removal , ...)
522+ rb_warn_deprecated_to_remove (const char * removal , const char * fmt , const char * suggest , ...)
505523{
506- if (NIL_P ( ruby_verbose )) return ;
507- if (! rb_warning_category_enabled_p ( RB_WARN_CATEGORY_DEPRECATED )) return ;
524+ if (! deprecation_warning_enabled ( )) return ;
525+
508526 va_list args ;
509- va_start (args , removal );
527+ va_start (args , suggest );
510528 VALUE mesg = warning_string (0 , fmt , args );
511529 va_end (args );
512- rb_str_set_len (mesg , RSTRING_LEN (mesg ) - 1 );
513- rb_str_catf (mesg , " is deprecated and will be removed in Ruby %s\n" , removal );
514- rb_warn_category (mesg , ID2SYM (id_deprecated ));
530+
531+ warn_deprecated (mesg , removal , suggest );
515532}
516533
517534static inline int
@@ -3296,14 +3313,14 @@ rb_check_frozen(VALUE obj)
32963313void
32973314rb_error_untrusted (VALUE obj )
32983315{
3299- rb_warn_deprecated_to_remove ( "rb_error_untrusted" , "3.2" );
3316+ rb_warn_deprecated_to_remove_at ( 3.2 , "rb_error_untrusted" , NULL );
33003317}
33013318
33023319#undef rb_check_trusted
33033320void
33043321rb_check_trusted (VALUE obj )
33053322{
3306- rb_warn_deprecated_to_remove ( "rb_check_trusted" , "3.2" );
3323+ rb_warn_deprecated_to_remove_at ( 3.2 , "rb_check_trusted" , NULL );
33073324}
33083325
33093326void
0 commit comments