Mercurial > emacs
changeset 97747:0d66ae50dc4e
(report_file_error): Fix handling of multibyte error string.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Wed, 27 Aug 2008 01:11:26 +0000 |
parents | 7d48c48bc07e |
children | 8daa4b8e1ba6 |
files | src/fileio.c |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/fileio.c Wed Aug 27 00:08:06 2008 +0000 +++ b/src/fileio.c Wed Aug 27 01:11:26 2008 +0000 @@ -261,8 +261,14 @@ default: /* System error messages are capitalized. Downcase the initial unless it is followed by a slash. */ - if (SREF (errstring, 1) != '/') - SSET (errstring, 0, DOWNCASE (SREF (errstring, 0))); + if (! EQ (Faref (errstring, make_number (1)), make_number ('/'))) + { + int c; + + str = (char *) SDATA (errstring); + c = STRING_CHAR (str, 0); + Faset (errstring, 0, make_number (DOWNCASE (c))); + } xsignal (Qfile_error, Fcons (build_string (string), Fcons (errstring, data)));