summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--common.mk3
-rw-r--r--error.c3
3 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index f4586d2ab7..fe1749ea8f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sun May 16 13:55:25 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * error.c (rb_loaderror): use locale string, not ascii-8bit.
+
Sun May 16 11:39:15 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* include/ruby/missing.h (signbit): add missing prototype.
diff --git a/common.mk b/common.mk
index bfa9083eb2..0d47e58259 100644
--- a/common.mk
+++ b/common.mk
@@ -540,7 +540,8 @@ enum.$(OBJEXT): {$(VPATH)}enum.c $(RUBY_H_INCLUDES) {$(VPATH)}node.h \
{$(VPATH)}util.h
enumerator.$(OBJEXT): {$(VPATH)}enumerator.c $(RUBY_H_INCLUDES)
error.$(OBJEXT): {$(VPATH)}error.c {$(VPATH)}known_errors.inc \
- $(RUBY_H_INCLUDES) $(VM_CORE_H_INCLUDES) {$(VPATH)}debug.h
+ $(RUBY_H_INCLUDES) $(VM_CORE_H_INCLUDES) $(ENCODING_H_INCLUDES) \
+ {$(VPATH)}debug.h
eval.$(OBJEXT): {$(VPATH)}eval.c {$(VPATH)}eval_intern.h {$(VPATH)}vm.h \
$(RUBY_H_INCLUDES) $(VM_CORE_H_INCLUDES) {$(VPATH)}eval_error.c \
{$(VPATH)}eval_jump.c {$(VPATH)}debug.h {$(VPATH)}gc.h {$(VPATH)}iseq.h
diff --git a/error.c b/error.c
index 39bec9ede4..fb2aa8d7df 100644
--- a/error.c
+++ b/error.c
@@ -11,6 +11,7 @@
#include "ruby/ruby.h"
#include "ruby/st.h"
+#include "ruby/encoding.h"
#include "vm_core.h"
#include <stdio.h>
@@ -1469,7 +1470,7 @@ rb_loaderror(const char *fmt, ...)
VALUE mesg;
va_start(args, fmt);
- mesg = rb_vsprintf(fmt, args);
+ mesg = rb_enc_vsprintf(rb_locale_encoding(), fmt, args);
va_end(args);
rb_exc_raise(rb_exc_new3(rb_eLoadError, mesg));
}