Attached to this Email message is an updated version of my patch for GNU Emacs to provide a partial Windows compatible implementation of play-sound-internal. This patch contains two changes from my previous version: 1) I fixed a warning dealing with incompatible pointer types that occurred when compiling with MinGW 2.0. 2) I fixed a bug that caused play-sound-internal to fail unless you specified the full path and file name of the sound file. In other words, you could not do the following M-x play-sound-internal RET ~/SOUNDS/start.wav RET Any attempt to call play-sound-file (and thus play-sound-internal) without specifying the full path and file name would lead to the error message "The open mciSendString command failed to open the specified sound file" being displayed. Now play-sound-internal attempts to obtain the full path and file name if only a partial file name was specified using the function expand-file-name (or Fexpand_file_name when called from C source code). Thus far I have tested this patch on Windows XP using MSVC 6.0 and MinGW 2.0. Tomorrow I will test this patch on GNU/Linux to make certain I did not inadvertently cause a compilation error under that platform (I cannot do it tonight since I am once again reinstalling GNU/Linux on my other computer. Hopefully this time I know what I am doing and will not make any more stupid mistakes!).