[前][次][番号順一覧][スレッド一覧]

ruby-changes:60628

From: Nobuyoshi <ko1@a...>
Date: Thu, 2 Apr 2020 22:30:38 +0900 (JST)
Subject: [ruby-changes:60628] 78b6eb9f9f (master): [ruby/etc] Deprecate names under `Struct`

https://git.ruby-lang.org/ruby.git/commit/?id=78b6eb9f9f

From 78b6eb9f9f0590d5b66b3578363e2afa70353962 Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Wed, 1 Apr 2020 15:18:00 +0900
Subject: [ruby/etc] Deprecate names under `Struct`

https://github.com/ruby/etc/commit/25c538120c

diff --git a/ext/etc/etc.c b/ext/etc/etc.c
index 2f3fbb7..3bad435 100644
--- a/ext/etc/etc.c
+++ b/ext/etc/etc.c
@@ -54,6 +54,12 @@ char *getlogin(); https://github.com/ruby/ruby/blob/trunk/ext/etc/etc.c#L54
 
 #define RUBY_ETC_VERSION "1.1.0"
 
+#ifdef HAVE_RB_DEPRECATE_CONSTANT
+void rb_deprecate_constant(VALUE mod, const char *name);
+#else
+# define rb_deprecate_constant(mod,name) ((void)(mod),(void)(name))
+#endif
+
 #include "constdefs.h"
 
 /* call-seq:
@@ -1165,6 +1171,7 @@ Init_etc(void) https://github.com/ruby/ruby/blob/trunk/ext/etc/etc.c#L1171
     rb_define_const(mEtc, "Passwd", sPasswd);
 #endif
     rb_define_const(rb_cStruct, "Passwd", sPasswd); /* deprecated name */
+    rb_deprecate_constant(rb_cStruct, "Passwd");
     rb_extend_object(sPasswd, rb_mEnumerable);
     rb_define_singleton_method(sPasswd, "each", etc_each_passwd, 0);
 
@@ -1200,6 +1207,7 @@ Init_etc(void) https://github.com/ruby/ruby/blob/trunk/ext/etc/etc.c#L1207
     rb_define_const(mEtc, "Group", sGroup);
 #endif
     rb_define_const(rb_cStruct, "Group", sGroup); /* deprecated name */
+    rb_deprecate_constant(rb_cStruct, "Group");
     rb_extend_object(sGroup, rb_mEnumerable);
     rb_define_singleton_method(sGroup, "each", etc_each_group, 0);
 #endif
diff --git a/ext/etc/extconf.rb b/ext/etc/extconf.rb
index 435fbe7..b6ae770 100644
--- a/ext/etc/extconf.rb
+++ b/ext/etc/extconf.rb
@@ -47,6 +47,11 @@ if !File.exist?("#{srcdir}/depend") https://github.com/ruby/ruby/blob/trunk/ext/etc/extconf.rb#L47
   %x[#{RbConfig.ruby} #{srcdir}/mkconstants.rb -o #{srcdir}/constdefs.h]
 end
 
+decl = [
+  "void rb_deprecate_constant(VALUE, const char *);",
+]
+have_func('rb_deprecate_constant(Qnil, "None")', [decl])
+
 $distcleanfiles << "constdefs.h"
 
 create_makefile("etc")
-- 
cgit v0.10.2


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]