summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog5
-rw-r--r--src/process.c19
2 files changed, 19 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 87784746b9c..373341d39ae 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2009-06-15 Kenichi Handa <handa@m17n.org>
+
+ * process.c (status_message): Fix previous change. Be sure to
+ decode a localized string.
+
2009-06-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* xterm.c (x_delete_terminal): Put previous change in #if 0 and
diff --git a/src/process.c b/src/process.c
index 2471ee187bf..08030c944df 100644
--- a/src/process.c
+++ b/src/process.c
@@ -464,15 +464,24 @@ status_message (p)
if (EQ (symbol, Qsignal) || EQ (symbol, Qstop))
{
char *signame;
- int c;
synchronize_system_messages_locale ();
signame = strsignal (code);
if (signame == 0)
- signame = "unknown";
- string = build_string (signame);
+ string = build_string ("unknown");
+ else
+ {
+ int c1, c2;
+
+ string = make_unibyte_string (signame, strlen (signame));
+ if (! NILP (Vlocale_coding_system))
+ string = (code_convert_string_norecord
+ (string, Vlocale_coding_system, 0));
+ c1 = STRING_CHAR ((char *) SDATA (string), 0);
+ c2 = DOWNCASE (c1);
+ if (c1 != c2)
+ Faset (string, 0, make_number (c2));
+ }
string2 = build_string (coredump ? " (core dumped)\n" : "\n");
- c = STRING_CHAR ((char *) SDATA (string), 0);
- Faset (string, 0, make_number (DOWNCASE (c)));
return concat2 (string, string2);
}
else if (EQ (symbol, Qexit))