Backport from trunk: Fix bug #6126.

makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(SRC)/w32.h.
 w32fns.c: Include w32.h.
 (Fw32_shell_execute): Decode the error message before passing it
 to `error'.
This commit is contained in:
Eli Zaretskii 2010-05-11 20:23:52 +03:00
parent 3ffd461547
commit c8670ded9c
3 changed files with 22 additions and 1 deletions

View file

@ -1,3 +1,11 @@
2010-05-11 Eli Zaretskii <eliz@gnu.org>
* makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(SRC)/w32.h.
* w32fns.c: Include w32.h.
(Fw32_shell_execute): Decode the error message before passing it
to `error'. (Bug#6126)
2010-05-11 Karel Klic <kklic@redhat.com>
* ftfont.c: Fix incorrect parentheses of #if condition for

View file

@ -1564,6 +1564,7 @@ $(BLD)/w32fns.$(O) : \
$(SRC)/keyboard.h \
$(SRC)/systime.h \
$(SRC)/termhooks.h \
$(SRC)/w32.h \
$(SRC)/w32font.h \
$(SRC)/w32gui.h \
$(SRC)/w32heap.h \

View file

@ -47,6 +47,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include "systime.h"
#include "termhooks.h"
#include "w32heap.h"
#include "w32.h"
#include "bitmaps/gray.xbm"
@ -6333,6 +6334,7 @@ an integer representing a ShowWindow flag:
Lisp_Object operation, document, parameters, show_flag;
{
Lisp_Object current_dir;
char *errstr;
CHECK_STRING (document);
@ -6353,7 +6355,17 @@ an integer representing a ShowWindow flag:
XINT (show_flag) : SW_SHOWDEFAULT))
> 32)
return Qt;
error ("ShellExecute failed: %s", w32_strerror (0));
errstr = w32_strerror (0);
/* The error string might be encoded in the locale's encoding. */
if (!NILP (Vlocale_coding_system))
{
Lisp_Object decoded =
code_convert_string_norecord (make_unibyte_string (errstr,
strlen (errstr)),
Vlocale_coding_system, 0);
errstr = (char *)SDATA (decoded);
}
error ("ShellExecute failed: %s", errstr);
}
/* Lookup virtual keycode from string representing the name of a