summaryrefslogtreecommitdiff
path: root/string.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2025-12-05 00:27:45 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2025-12-05 00:27:45 +0900
commitcf12aff0593a0aa70d957b96f03df8288c025938 (patch)
treec46cfc4b04ec03fe6d603d745cca29a4cfba7fc7 /string.c
parent465a86c3417d2936c311d9571aa9b6494a83eed8 (diff)
[Bug #21764] Propagate the encoding of ID to warning
Diffstat (limited to 'string.c')
-rw-r--r--string.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/string.c b/string.c
index 0370fc5d1e..065e8c4d8c 100644
--- a/string.c
+++ b/string.c
@@ -11376,6 +11376,21 @@ rb_str_setter(VALUE val, ID id, VALUE *var)
}
static void
+nil_setter_warning(ID id)
+{
+ rb_warn_deprecated("'%"PRIsVALUE"'", NULL, rb_id2str(id));
+}
+
+void
+rb_deprecated_str_setter(VALUE val, ID id, VALUE *var)
+{
+ rb_str_setter(val, id, var);
+ if (!NIL_P(*var)) {
+ nil_setter_warning(id);
+ }
+}
+
+static void
rb_fs_setter(VALUE val, ID id, VALUE *var)
{
val = rb_fs_check(val);
@@ -11385,7 +11400,7 @@ rb_fs_setter(VALUE val, ID id, VALUE *var)
rb_id2str(id));
}
if (!NIL_P(val)) {
- rb_warn_deprecated("'$;'", NULL);
+ nil_setter_warning(id);
}
*var = val;
}