Subject: bug#6126: 24.0.50; Segmentation fault when w32-shell-execute try to open an unassociated file

From: Chunyu Wang <[email-masked]>
Date: Fri, 7 May 2010 20:17:18 +0800

2010/5/7 Eli Zaretskii <[email-masked]>:
> So I think the problem is not related to the fact that the file's
> extension was unassociated, but rather that the file name used some
> non-ASCII characters that Emacs tried to display, and crashed because
> some table was invalid, or something like that.  Observe:
Indeed. After I change the system(win7-ultimate-64bit) language to
English, the crash is gone.
Emacs got the expected error and pop up a *backtrace* buffer with the following.

  Debugger entered--Lisp error: (void-function w32-shell-exec)
     (w32-shell-exec "open" "D:\\a.xyz")
     eval((w32-shell-exec "open" "D:\\a.xyz"))
     eval-expression((w32-shell-exec "open" "D:\\a.xyz") nil)
     call-interactively(eval-expression nil nil)

And if w32-shell-execute called in an elisp function, *Message* buffer
got the error:
    if: ShellExecute failed: No application is associated with the
specified file for this operation.

> Does this problem happen in an unoptimized build as well?  If so,
> could you please find out what is the table it is using (the `tbl'
> variable in frame #0), and also what is `val' (by using the xtype
> command and a command to show the Lisp type printed by xtype, probably
> xchartable)?
I'll try to figure it out.

-- 
Harbin Institute of Technology, China
Chunyu Wang