# HG changeset patch # User Bram Moolenaar # Date 1623090603 -7200 # Node ID 237dace534738f845752ca9b2a15fe1e6ba796ff # Parent 2393bed3aefbedd97d06855a78d3c23ddf578227 patch 8.2.2959: sound_playfile() is not tested on MS-Windows Commit: https://github.com/vim/vim/commit/2f9c209ba089d81fd727122bbe0ae1da00585d80 Author: Dominique Pelle Date: Mon Jun 7 20:28:45 2021 +0200 patch 8.2.2959: sound_playfile() is not tested on MS-Windows Problem: sound_playfile() is not tested on MS-Windows. Solution: Make it work and enable the test. (Dominique Pell?, closes https://github.com/vim/vim/issues/8338) diff --git a/src/sound.c b/src/sound.c --- a/src/sound.c +++ b/src/sound.c @@ -355,10 +355,9 @@ f_sound_playevent(typval_T *argvars, typ if (wp == NULL) return; - PlaySoundW(wp, NULL, SND_ASYNC | SND_ALIAS); + if (PlaySoundW(wp, NULL, SND_ASYNC | SND_ALIAS)) + rettv->vval.v_number = ++sound_id; free(wp); - - rettv->vval.v_number = ++sound_id; } void diff --git a/src/testdir/test_sound.vim b/src/testdir/test_sound.vim --- a/src/testdir/test_sound.vim +++ b/src/testdir/test_sound.vim @@ -75,17 +75,15 @@ func Test_play_silent() endfunc func Test_play_event_error() - " Do not run test on Windows as: - " - playing event with callback is not supported on Windows. - " - FIXME: even without callback, sound_playevent('') does not return 0 on Windows. Bug? - CheckNotMSWindows - - call assert_equal(0, sound_playevent('')) - call assert_equal(0, sound_playevent(test_null_string())) - call assert_equal(0, sound_playevent('doesnotexist')) - call assert_equal(0, sound_playevent('doesnotexist', 'doesnotexist')) - call assert_equal(0, sound_playevent(test_null_string(), test_null_string())) - call assert_equal(0, sound_playevent(test_null_string(), test_null_function())) + " FIXME: sound_playevent() doesn't return 0 in case of error on Windows. + if !has('win32') + call assert_equal(0, sound_playevent('')) + call assert_equal(0, sound_playevent(test_null_string())) + call assert_equal(0, sound_playevent('doesnotexist')) + call assert_equal(0, sound_playevent('doesnotexist', 'doesnotexist')) + call assert_equal(0, sound_playevent(test_null_string(), test_null_string())) + call assert_equal(0, sound_playevent(test_null_string(), test_null_function())) + endif call assert_equal(0, sound_playfile('')) call assert_equal(0, sound_playfile(test_null_string())) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2959, +/**/ 2958, /**/ 2957,