diff options
| author | Eli Zaretskii | 2013-11-04 19:30:33 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2013-11-04 19:30:33 +0200 |
| commit | d0065ff1244871c9eb40420b88fc89f9f008b587 (patch) | |
| tree | a869fa565b559c7b0a9390fd6045d7d827d001ec /src/callproc.c | |
| parent | 7397c58760779a3aa83ff58164455761d77cd642 (diff) | |
| download | emacs-d0065ff1244871c9eb40420b88fc89f9f008b587.tar.gz emacs-d0065ff1244871c9eb40420b88fc89f9f008b587.zip | |
Fix bug #15260 with building and installing Emacs in non-ASCII directories.
src/xdisp.c (message3_nolog, message_with_string): Encode the string
before writing it to the terminal in a non-interactive session.
src/lread.c (openp): If both FILENAME and SUFFIX are unibyte, make
sure we concatenate them into a unibyte string.
src/fileio.c (make_temp_name): Encode PREFIX, and decode the
resulting temporary name before returning it to the caller.
(Fexpand_file_name): If NAME is pure-ASCII and DEFAULT_DIRECTORY
is a unibyte string, convert NAME to a unibyte string to ensure
that the result is also a unibyte string.
src/emacs.c (init_cmdargs): Use build_unibyte_string to make sure we
create unibyte strings from default paths and directory/file
names.
src/coding.h (ENCODE_FILE): Do not attempt to encode a unibyte
string.
src/callproc.c (init_callproc): Use build_unibyte_string to make
sure we create unibyte strings from default paths and
directory/file names.
src/buffer.c (init_buffer): Don't store default-directory of
*scratch* in multibyte form. The original problem which led to
that is described in
http://lists.gnu.org/archive/html/emacs-pretest-bug/2004-11/msg00532.html,
but it was solved long ago.
lisp/startup.el (normal-top-level): Move setting eol-mnemonic-unix,
eol-mnemonic-mac, eol-mnemonic-dos, and also setup of the locale
environment and decoding all of the default-directory's to here
from command-line.
(command-line): Decode also argv[0].
lisp/loadup.el: Error out if default-directory is a multibyte string
when we are dumping.
lisp/Makefile.in (emacs): Don't set LC_ALL=C.
leim/Makefile.in (RUN_EMACS): Don't set LC_ALL=C.
configure.ac: Don't disallow builds in non-ASCII directories.
Diffstat (limited to 'src/callproc.c')
| -rw-r--r-- | src/callproc.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/callproc.c b/src/callproc.c index d4b4a26ec3a..2740779f513 100644 --- a/src/callproc.c +++ b/src/callproc.c | |||
| @@ -1612,14 +1612,14 @@ init_callproc (void) | |||
| 1612 | Lisp_Object tem, tem1, srcdir; | 1612 | Lisp_Object tem, tem1, srcdir; |
| 1613 | 1613 | ||
| 1614 | srcdir = Fexpand_file_name (build_string ("../src/"), | 1614 | srcdir = Fexpand_file_name (build_string ("../src/"), |
| 1615 | build_string (PATH_DUMPLOADSEARCH)); | 1615 | build_unibyte_string (PATH_DUMPLOADSEARCH)); |
| 1616 | tem = Fexpand_file_name (build_string ("GNU"), Vdata_directory); | 1616 | tem = Fexpand_file_name (build_string ("GNU"), Vdata_directory); |
| 1617 | tem1 = Ffile_exists_p (tem); | 1617 | tem1 = Ffile_exists_p (tem); |
| 1618 | if (!NILP (Fequal (srcdir, Vinvocation_directory)) || NILP (tem1)) | 1618 | if (!NILP (Fequal (srcdir, Vinvocation_directory)) || NILP (tem1)) |
| 1619 | { | 1619 | { |
| 1620 | Lisp_Object newdir; | 1620 | Lisp_Object newdir; |
| 1621 | newdir = Fexpand_file_name (build_string ("../etc/"), | 1621 | newdir = Fexpand_file_name (build_string ("../etc/"), |
| 1622 | build_string (PATH_DUMPLOADSEARCH)); | 1622 | build_unibyte_string (PATH_DUMPLOADSEARCH)); |
| 1623 | tem = Fexpand_file_name (build_string ("GNU"), newdir); | 1623 | tem = Fexpand_file_name (build_string ("GNU"), newdir); |
| 1624 | tem1 = Ffile_exists_p (tem); | 1624 | tem1 = Ffile_exists_p (tem); |
| 1625 | if (!NILP (tem1)) | 1625 | if (!NILP (tem1)) |
| @@ -1646,7 +1646,7 @@ init_callproc (void) | |||
| 1646 | #ifdef DOS_NT | 1646 | #ifdef DOS_NT |
| 1647 | Vshared_game_score_directory = Qnil; | 1647 | Vshared_game_score_directory = Qnil; |
| 1648 | #else | 1648 | #else |
| 1649 | Vshared_game_score_directory = build_string (PATH_GAME); | 1649 | Vshared_game_score_directory = build_unibyte_string (PATH_GAME); |
| 1650 | if (NILP (Ffile_accessible_directory_p (Vshared_game_score_directory))) | 1650 | if (NILP (Ffile_accessible_directory_p (Vshared_game_score_directory))) |
| 1651 | Vshared_game_score_directory = Qnil; | 1651 | Vshared_game_score_directory = Qnil; |
| 1652 | #endif | 1652 | #endif |