summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sprintf.c2
-rw-r--r--test/ruby/test_sprintf.rb4
2 files changed, 3 insertions, 3 deletions
diff --git a/sprintf.c b/sprintf.c
index 0d685ddbaf..52771eb52a 100644
--- a/sprintf.c
+++ b/sprintf.c
@@ -521,7 +521,7 @@ rb_str_format(int argc, const VALUE *argv, VALUE fmt)
for (t = p; t < end && *t != '%'; t++) ;
if (t + 1 == end) {
- rb_raise(rb_eArgError, "incomplete format specifier");
+ rb_raise(rb_eArgError, "incomplete format specifier; use %%%% (double %%) instead");
}
PUSH(p, t - p);
if (coderange != ENC_CODERANGE_BROKEN && scanned < blen) {
diff --git a/test/ruby/test_sprintf.rb b/test/ruby/test_sprintf.rb
index df004305ec..b46f5189e2 100644
--- a/test/ruby/test_sprintf.rb
+++ b/test/ruby/test_sprintf.rb
@@ -425,11 +425,11 @@ class TestSprintf < Test::Unit::TestCase
end
def test_percent_sign_at_end
- assert_raise_with_message(ArgumentError, "incomplete format specifier") do
+ assert_raise_with_message(ArgumentError, "incomplete format specifier; use %% (double %) instead") do
sprintf("%")
end
- assert_raise_with_message(ArgumentError, "incomplete format specifier") do
+ assert_raise_with_message(ArgumentError, "incomplete format specifier; use %% (double %) instead") do
sprintf("abc%")
end
end