-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Labels
Description
不具合の内容
Windowsにて、sound_playfile()
で音声ファイルを再生すると、再生終了後もvimを終了するまでファイルハンドルが開放されず、削除などを行うことができません。
(言い回しが正確ではないかもしれません)
再現手順
vim --clean
:call sound_playfile('C:\fullpath-to-sound.wav')
して再生が終わるまで待つ:echo delete('C:\fullpath-to-sound.wav')
=> -1が返り、ファイルが削除されない- エクスプローラから削除しようとしても「Vi Improved……によってファイルは開かれているため、操作を完了できません。」とメッセージが出て削除されない
期待動作
ファイルハンドルが開放され、Vim内外を問わず削除できるようになることを期待します。
Vimのバージョン
9.0.1553 64bit(wingetでインストール)
:version
VIM - Vi IMproved 9.0 (2022 Jun 28, compiled May 13 2023 22:47:57)
MS-Windows 64 ビット GUI 版 with OLE サポート
適用済パッチ: 1-1553
Compiled by appveyor@APPVEYOR-VM
Huge 版 with GUI. 機能の一覧 有効(+)/無効(-)
+acl +ex_extra +mzscheme/dyn -tcl
+arabic +extra_search +netbeans_intg -termguicolors
+autocmd -farsi +num64 +terminal
+autochdir +file_in_path +ole -termresponse
+autoservername +find_in_path +packages +textobjects
+balloon_eval +float +path_extra +textprop
-balloon_eval_term +folding +perl/dyn -tgetent
+browse -footer +persistent_undo +timers
++builtin_terms +gettext/dyn +popupwin +title
+byte_offset -hangul_input -postscript +toolbar
+channel +iconv/dyn +printer +user_commands
+cindent +insert_expand +profile +vartabs
+clientserver +ipv6 +python/dyn +vertsplit
+clipboard +job +python3/dyn +vim9script
+cmdline_compl +jumplist +quickfix +viminfo
+cmdline_hist +keymap +reltime +virtualedit
+cmdline_info +lambda +rightleft +visual
+comments +langmap +ruby/dyn +visualextra
+conceal +libcall +scrollbind +vreplace
+cryptv +linebreak +signs -vtp
+cscope +lispindent +smartindent +wildignore
+cursorbind +listcmds +sodium/dyn +wildmenu
+cursorshape +localmap +sound +windows
+dialog_con_gui +lua/dyn +spell +writebackup
+diff +menu +startuptime -xfontset
+digraphs +mksession +statusline -xim
+directx +modify_fname -sun_workshop +xpm_w32
-dnd +mouse +syntax -xterm_save
-ebcdic +mouseshape +tag_binary
+emacs_tags +multi_byte_ime/dyn -tag_old_static
+eval +multi_lang -tag_any_white
システム vimrc: "$VIM\vimrc"
ユーザー vimrc: "$HOME\_vimrc"
第2ユーザー vimrc: "$HOME\vimfiles\vimrc"
第3ユーザー vimrc: "$VIM\_vimrc"
ユーザー exrc: "$HOME\_exrc"
第2ユーザー exrc: "$VIM\_exrc"
システム gvimrc: "$VIM\gvimrc"
ユーザー gvimrc: "$HOME\_gvimrc"
第2ユーザー gvimrc: "$HOME\vimfiles\gvimrc"
第3ユーザー gvimrc: "$VIM\_gvimrc"
デフォルトファイル: "$VIMRUNTIME\defaults.vim"
システムメニュー: "$VIMRUNTIME\menu.vim"
コンパイル: cl -c /W3 /GF /nologo -I. -Iproto -DHAVE_PATHDEF -DWIN32 -DHAVE_STDINT_H -DFEAT_CSCOPE -DFEAT_TERMINAL -DFEAT_SOUND -DFEAT_NETBEANS_INTG -DFEAT_JOB_CHANNEL -DFEAT_IPV6 -DHAVE_INET_NTOP -DFEAT_XPM_W32 -DHAVE_SODIUM -DDYNAMIC_SODIUM -DDYNAMIC_SODIUM_DLL=\"libsodium.dll\" /I "C:\projects\vim-win32-installer\dependencies\libsodium\include" -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 /source-charset:utf-8 /MP /Ox /GL -DNDEBUG /Zl /MT /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE -DFEAT_OLE -DFEAT_MBYTE_IME -DDYNAMIC_IME -DFEAT_GUI_MSWIN -DFEAT_DIRECTX -DDYNAMIC_DIRECTX -DFEAT_DIRECTX_COLOR_EMOJI -DDYNAMIC_ICONV -DDYNAMIC_GETTEXT -DFEAT_LUA -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua54.dll\" -DFEAT_PYTHON -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python27.dll\" -DFEAT_PYTHON3 -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\"python311.dll\" -DFEAT_MZSCHEME -I "C:\projects\vim-win32-installer\dependencies\racket\include" -DMZ_PRECISE_GC -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libracket3m_dcgt6o.dll\" -DDYNAMIC_MZGC_DLL=\"libracket3m_dcgt6o.dll\" -DFEAT_PERL -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl532.dll\" -DFEAT_RUBY -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"x64-msvcrt-ruby300.dll\" -DRUBY_VERSION=30 -DFEAT_HUGE /Fd.\ObjGXOULYHRZAMD64/ /Zi
リンク: link /nologo /opt:ref /LTCG /HIGHENTROPYVA:NO oldnames.lib kernel32.lib advapi32.lib shell32.lib gdi32.lib comdlg32.lib ole32.lib netapi32.lib uuid.lib user32.lib /machine:AMD64 version.lib winspool.lib comctl32.lib libcmt.lib oleaut32.lib /nodefaultlib:lua54.lib /STACK:8388608 /nodefaultlib:python27.lib /nodefaultlib:python311.lib winmm.lib WSock32.lib Ws2_32.lib xpm\x64\lib-vc14\libXpm.lib /PDB:gvim.pdb -debug
OSの種類/ディストリ/バージョン
- Windows 11 Pro 64bit (10.0.22621.1555)
その他
:call sound_clear()
するとファイルが削除できるようになるようです。
ただし再生中の音声が止まってしまうため、迂回策としては使いにくいです。