Mercurial > vim
view Filelist @ 33284:0943c2a880cc v9.0.1908
patch 9.0.1908: undefined behaviour upper/lower function ptrs
Commit: https://github.com/vim/vim/commit/d25021cf036c63d539f845a1ee05b03ea21d61ff
Author: Yee Cheng Chin <ychin.git@gmail.com>
Date: Mon Sep 18 19:51:56 2023 +0200
patch 9.0.1908: undefined behaviour upper/lower function ptrs
Problem: undefined behaviour upper/lower function ptrs
Solution: Fix UBSAN error in regexp and simplify upper/lowercase
modifier code
The implementation of \u / \U / \l / \L modifiers in the substitute
command relies on remembering the state by setting function pointers on
func_all/func_one in the code. The code signature of `fptr_T` is
supposed to return void* (due to C function signatures not being able to
return itself due to type recursion), and the definition of the
functions (e.g. to_Upper) didn't follow this rule, and so the code tries
to cast functions of different signatures, resulting in undefined
behavior error under UBSAN in Clang 17. See #12745.
We could just fix `do_Upper`/etc to just return void*, which would fix
the problem. However, these functions actually do not need to return
anything at all. It used to be the case that there was only one pointer
"func" to store the pointer, which is why the function needs to either
return itself or NULL to indicate whether it's a one time or ongoing
modification. However, c2c355df6f094cdb9e599fd395a78c14486ec697
(7.3.873) already made that obsolete by introducing `func_one` and
`func_all` to store one-time and ongoing operations separately, so these
functions don't actually need to return anything anymore because it's
implicit whether it's a one-time or ongoing operation. Simplify the code
to reflect that.
closes: #13117
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 18 Sep 2023 20:00:09 +0200 |
parents | 7df9cb603272 |
children | 93b27fc986fb |
line wrap: on
line source
# List of distributed Vim files. # Used by Makefile. # source files for all source archives SRC_ALL = \ .cirrus.yml \ .coveralls.yml \ .gitattributes \ .github/CODEOWNERS \ .github/ISSUE_TEMPLATE/bug_report.yml \ .github/ISSUE_TEMPLATE/feature_request.md \ .github/workflows/ci.yml \ .github/workflows/codeql-analysis.yml \ .github/workflows/coverity.yml \ .github/dependabot.yml \ .gitignore \ .hgignore \ .appveyor.yml \ .codecov.yml \ ci/appveyor.bat \ ci/config.mk*.sed \ ci/if_ver*.vim \ ci/setup-xvfb.sh \ src/Make_all.mak \ src/README.md \ src/alloc.c \ src/alloc.h \ src/arabic.c \ src/arglist.c \ src/ascii.h \ src/autocmd.c \ src/beval.c \ src/beval.h \ src/blob.c \ src/blowfish.c \ src/buffer.c \ src/bufwrite.c \ src/change.c \ src/channel.c \ src/charset.c \ src/cindent.c \ src/clientserver.c \ src/clipboard.c \ src/cmdexpand.c \ src/cmdhist.c \ src/crypt.c \ src/crypt_zip.c \ src/debugger.c \ src/dict.c \ src/diff.c \ src/digraph.c \ src/drawline.c \ src/drawscreen.c \ src/edit.c \ src/errors.h \ src/eval.c \ src/evalbuffer.c \ src/evalfunc.c \ src/evalvars.c \ src/evalwindow.c \ src/ex_cmdidxs.h \ src/ex_cmds.c \ src/ex_cmds.h \ src/ex_cmds2.c \ src/ex_docmd.c \ src/ex_eval.c \ src/ex_getln.c \ src/feature.h \ src/fileio.c \ src/filepath.c \ src/findfile.c \ src/float.c \ src/fold.c \ src/getchar.c \ src/globals.h \ src/gui.c \ src/gui.h \ src/gui_beval.c \ src/hardcopy.c \ src/hashtab.c \ src/help.c \ src/highlight.c \ src/indent.c \ src/insexpand.c \ src/job.c \ src/json.c \ src/json_test.c \ src/keymap.h \ src/kword_test.c \ src/list.c \ src/locale.c \ src/logfile.c \ src/macros.h \ src/main.c \ src/map.c \ src/mark.c \ src/match.c \ src/mbyte.c \ src/memfile.c \ src/memfile_test.c \ src/memline.c \ src/menu.c \ src/message.c \ src/message_test.c \ src/misc1.c \ src/misc2.c \ src/mouse.c \ src/move.c \ src/mysign \ src/nbdebug.c \ src/nbdebug.h \ src/netbeans.c \ src/normal.c \ src/nv_cmdidxs.h \ src/nv_cmds.h \ src/ops.c \ src/option.c \ src/option.h \ src/optiondefs.h \ src/optionstr.c \ src/popupmenu.c \ src/popupwin.c \ src/profiler.c \ src/quickfix.c \ src/regexp.c \ src/regexp_bt.c \ src/regexp_nfa.c \ src/regexp.h \ src/register.c \ src/scriptfile.c \ src/screen.c \ src/search.c \ src/session.c \ src/sha256.c \ src/sign.c \ src/sound.c \ src/spell.c \ src/spell.h \ src/spellfile.c \ src/spellsuggest.c \ src/strings.c \ src/structs.h \ src/syntax.c \ src/tag.c \ src/term.c \ src/terminal.c \ src/termdefs.h \ src/termlib.c \ src/testing.c \ src/textformat.c \ src/textobject.c \ src/textprop.c \ src/time.c \ src/typval.c \ src/ui.c \ src/undo.c \ src/usercmd.c \ src/userfunc.c \ src/version.c \ src/version.h \ src/vim.h \ src/vim9.h \ src/vim9class.c \ src/vim9cmds.c \ src/vim9compile.c \ src/vim9execute.c \ src/vim9expr.c \ src/vim9instr.c \ src/vim9script.c \ src/vim9type.c \ src/viminfo.c \ src/winclip.c \ src/window.c \ src/xxd/xxd.c \ src/testdir/gen_opt_test.vim \ src/testdir/README.txt \ src/testdir/Make_all.mak \ src/testdir/*.in \ src/testdir/*.py \ src/testdir/keycode_check.vim \ src/testdir/keycode_check.json \ src/testdir/lsan-suppress.txt \ src/testdir/sautest/autoload/*.vim \ src/testdir/testluaplugin/lua/testluaplugin/*.lua \ src/testdir/check.vim \ src/testdir/gui_init.vim \ src/testdir/gui_preinit.vim \ src/testdir/mouse.vim \ src/testdir/runtest.vim \ src/testdir/screendump.vim \ src/testdir/setup.vim \ src/testdir/setup_gui.vim \ src/testdir/shared.vim \ src/testdir/vim9.vim \ src/testdir/script_util.vim \ src/testdir/summarize.vim \ src/testdir/term_util.vim \ src/testdir/view_util.vim \ src/testdir/test[0-9]*.ok \ src/testdir/test77a.ok \ src/testdir/test77a.com \ src/testdir/test_*.vim \ src/testdir/python2/*.py \ src/testdir/python3/*.py \ src/testdir/pythonx/*.py \ src/testdir/pythonx/topmodule/__init__.py \ src/testdir/pythonx/topmodule/submodule/__init__.py \ src/testdir/pythonx/topmodule/submodule/subsubmodule/__init__.py \ src/testdir/pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py \ src/testdir/python_after/*.py \ src/testdir/python_before/*.py \ src/testdir/pyxfile/*.py \ src/testdir/dumps/*.dump \ src/testdir/dumps/*.vim \ src/testdir/samples/*.txt \ src/testdir/samples/test000 \ src/testdir/color_ramp.vim \ src/testdir/silent.wav \ src/testdir/popupbounce.vim \ src/testdir/crash/* \ src/proto.h \ src/protodef.h \ src/proto/alloc.pro \ src/proto/arabic.pro \ src/proto/arglist.pro \ src/proto/autocmd.pro \ src/proto/beval.pro \ src/proto/blob.pro \ src/proto/blowfish.pro \ src/proto/buffer.pro \ src/proto/bufwrite.pro \ src/proto/change.pro \ src/proto/channel.pro \ src/proto/charset.pro \ src/proto/cindent.pro \ src/proto/clientserver.pro \ src/proto/clipboard.pro \ src/proto/cmdexpand.pro \ src/proto/cmdhist.pro \ src/proto/crypt.pro \ src/proto/crypt_zip.pro \ src/proto/debugger.pro \ src/proto/dict.pro \ src/proto/diff.pro \ src/proto/digraph.pro \ src/proto/drawline.pro \ src/proto/drawscreen.pro \ src/proto/edit.pro \ src/proto/eval.pro \ src/proto/evalbuffer.pro \ src/proto/evalfunc.pro \ src/proto/evalvars.pro \ src/proto/evalwindow.pro \ src/proto/ex_cmds.pro \ src/proto/ex_cmds2.pro \ src/proto/ex_docmd.pro \ src/proto/ex_eval.pro \ src/proto/ex_getln.pro \ src/proto/fileio.pro \ src/proto/filepath.pro \ src/proto/findfile.pro \ src/proto/float.pro \ src/proto/fold.pro \ src/proto/getchar.pro \ src/proto/gui.pro \ src/proto/gui_beval.pro \ src/proto/hardcopy.pro \ src/proto/hashtab.pro \ src/proto/help.pro \ src/proto/highlight.pro \ src/proto/indent.pro \ src/proto/insexpand.pro \ src/proto/job.pro \ src/proto/json.pro \ src/proto/list.pro \ src/proto/locale.pro \ src/proto/logfile.pro \ src/proto/main.pro \ src/proto/map.pro \ src/proto/mark.pro \ src/proto/match.pro \ src/proto/mbyte.pro \ src/proto/memfile.pro \ src/proto/memline.pro \ src/proto/menu.pro \ src/proto/message.pro \ src/proto/misc1.pro \ src/proto/misc2.pro \ src/proto/mouse.pro \ src/proto/move.pro \ src/proto/netbeans.pro \ src/proto/normal.pro \ src/proto/ops.pro \ src/proto/option.pro \ src/proto/optionstr.pro \ src/proto/popupmenu.pro \ src/proto/popupwin.pro \ src/proto/profiler.pro \ src/proto/quickfix.pro \ src/proto/regexp.pro \ src/proto/register.pro \ src/proto/scriptfile.pro \ src/proto/screen.pro \ src/proto/search.pro \ src/proto/session.pro \ src/proto/sha256.pro \ src/proto/sign.pro \ src/proto/sound.pro \ src/proto/spell.pro \ src/proto/spellfile.pro \ src/proto/spellsuggest.pro \ src/proto/strings.pro \ src/proto/syntax.pro \ src/proto/tag.pro \ src/proto/term.pro \ src/proto/terminal.pro \ src/proto/termlib.pro \ src/proto/testing.pro \ src/proto/textformat.pro \ src/proto/textobject.pro \ src/proto/textprop.pro \ src/proto/time.pro \ src/proto/typval.pro \ src/proto/ui.pro \ src/proto/undo.pro \ src/proto/usercmd.pro \ src/proto/userfunc.pro \ src/proto/version.pro \ src/proto/vim9class.pro \ src/proto/vim9cmds.pro \ src/proto/vim9compile.pro \ src/proto/vim9execute.pro \ src/proto/vim9expr.pro \ src/proto/vim9instr.pro \ src/proto/vim9script.pro \ src/proto/vim9type.pro \ src/proto/viminfo.pro \ src/proto/winclip.pro \ src/proto/window.pro \ src/libvterm/.bzrignore \ src/libvterm/.gitignore \ src/libvterm/LICENSE \ src/libvterm/Makefile \ src/libvterm/README \ src/libvterm/CONTRIBUTING \ src/libvterm/tbl2inc_c.pl \ src/libvterm/vterm.pc.in \ src/libvterm/doc/URLs \ src/libvterm/doc/seqs.txt \ src/libvterm/find-wide-chars.pl \ src/libvterm/include/vterm.h \ src/libvterm/include/vterm_keycodes.h \ src/libvterm/src/encoding.c \ src/libvterm/src/encoding/DECdrawing.inc \ src/libvterm/src/encoding/DECdrawing.tbl \ src/libvterm/src/encoding/uk.inc \ src/libvterm/src/encoding/uk.tbl \ src/libvterm/src/fullwidth.inc \ src/libvterm/src/keyboard.c \ src/libvterm/src/mouse.c \ src/libvterm/src/parser.c \ src/libvterm/src/pen.c \ src/libvterm/src/rect.h \ src/libvterm/src/screen.c \ src/libvterm/src/state.c \ src/libvterm/src/unicode.c \ src/libvterm/src/utf8.h \ src/libvterm/src/vterm.c \ src/libvterm/src/vterm_internal.h \ src/libvterm/t/02parser.test \ src/libvterm/t/03encoding_utf8.test \ src/libvterm/t/10state_putglyph.test \ src/libvterm/t/11state_movecursor.test \ src/libvterm/t/12state_scroll.test \ src/libvterm/t/13state_edit.test \ src/libvterm/t/14state_encoding.test \ src/libvterm/t/15state_mode.test \ src/libvterm/t/16state_resize.test \ src/libvterm/t/17state_mouse.test \ src/libvterm/t/18state_termprops.test \ src/libvterm/t/20state_wrapping.test \ src/libvterm/t/21state_tabstops.test \ src/libvterm/t/22state_save.test \ src/libvterm/t/25state_input.test \ src/libvterm/t/26state_query.test \ src/libvterm/t/27state_reset.test \ src/libvterm/t/28state_dbl_wh.test \ src/libvterm/t/29state_fallback.test \ src/libvterm/t/30state_pen.test \ src/libvterm/t/31state_rep.test \ src/libvterm/t/32state_flow.test \ src/libvterm/t/40state_selection.test \ src/libvterm/t/60screen_ascii.test \ src/libvterm/t/61screen_unicode.test \ src/libvterm/t/62screen_damage.test \ src/libvterm/t/63screen_resize.test \ src/libvterm/t/64screen_pen.test \ src/libvterm/t/65screen_protect.test \ src/libvterm/t/66screen_extent.test \ src/libvterm/t/67screen_dbl_wh.test \ src/libvterm/t/68screen_termprops.test \ src/libvterm/t/69screen_reflow.test \ src/libvterm/t/90vttest_01-movement-1.test \ src/libvterm/t/90vttest_01-movement-2.test \ src/libvterm/t/90vttest_01-movement-3.test \ src/libvterm/t/90vttest_01-movement-4.test \ src/libvterm/t/90vttest_02-screen-1.test \ src/libvterm/t/90vttest_02-screen-2.test \ src/libvterm/t/90vttest_02-screen-3.test \ src/libvterm/t/90vttest_02-screen-4.test \ src/libvterm/t/92lp1640917.test \ src/libvterm/t/harness.c \ src/libvterm/t/run-test.pl \ src/xdiff/COPYING \ src/xdiff/README.txt \ src/xdiff/xdiff.h \ src/xdiff/xdiffi.c \ src/xdiff/xdiffi.h \ src/xdiff/xemit.c \ src/xdiff/xemit.h \ src/xdiff/xhistogram.c \ src/xdiff/xinclude.h \ src/xdiff/xmacros.h \ src/xdiff/xpatience.c \ src/xdiff/xprepare.c \ src/xdiff/xprepare.h \ src/xdiff/xtypes.h \ src/xdiff/xutils.c \ src/xdiff/xutils.h \ # source files for Unix only SRC_UNIX = \ Makefile \ Filelist \ README_src.txt \ configure \ pixmaps/*.xpm \ pixmaps/*.png \ pixmaps/gen-inline-pixbufs.sh \ pixmaps/stock_icons.h \ src/INSTALL \ src/INSTALLx.txt \ src/Makefile \ src/auto/configure \ src/config.h.in \ src/config.mk.dist \ src/config.mk.in \ src/configure \ src/configure.ac \ src/create_cmdidxs.vim \ src/create_nvcmdidxs.c \ src/create_nvcmdidxs.vim \ src/gui_gtk.c \ src/gui_gtk_f.c \ src/gui_gtk_f.h \ src/gui_gtk_x11.c \ src/gui_gtk_res.xml \ src/gui_motif.c \ src/gui_xmdlg.c \ src/gui_xmebw.c \ src/gui_xmebw.h \ src/gui_xmebwp.h \ src/gui_x11.c \ src/gui_x11_pm.h \ src/if_xcmdsrv.c \ src/link.sh \ src/installman.sh \ src/installml.sh \ src/install-sh \ src/os_unix.c \ src/os_unix.h \ src/os_unixx.h \ src/osdef.sh \ src/osdef1.h.in \ src/osdef2.h.in \ src/pathdef.sh \ src/proto/gui_gtk.pro \ src/proto/gui_gtk_x11.pro \ src/proto/gui_gtk_gresources.pro \ src/proto/gui_motif.pro \ src/proto/gui_xmdlg.pro \ src/proto/gui_x11.pro \ src/proto/if_xcmdsrv.pro \ src/proto/os_unix.pro \ src/proto/pty.pro \ src/pty.c \ src/testdir/Makefile \ src/testdir/unix.vim \ src/toolcheck \ src/vim_icon.xbm \ src/vim_mask.xbm \ src/vimtutor \ src/gvimtutor \ src/which.sh \ src/xxd/Makefile \ # source files for both DOS and Unix SRC_DOS_UNIX = \ src/gui_xim.c \ src/if_cscope.c \ src/if_lua.c \ src/if_mzsch.c \ src/if_mzsch.h \ src/if_perl.xs \ src/if_perlsfio.c \ src/if_python.c \ src/if_python3.c \ src/if_py_both.h \ src/if_ruby.c \ src/if_tcl.c \ src/proto/gui_xim.pro \ src/proto/if_cscope.pro \ src/proto/if_lua.pro \ src/proto/if_mzsch.pro \ src/proto/if_perl.pro \ src/proto/if_perlsfio.pro \ src/proto/if_python.pro \ src/proto/if_python3.pro \ src/proto/if_ruby.pro \ src/proto/if_tcl.pro \ src/typemap \ # source files for MS-Windows (also in the extra archive) SRC_DOS = \ src/GvimExt/*.mak \ src/GvimExt/GvimExt.reg \ src/GvimExt/Makefile \ src/GvimExt/README.txt \ src/GvimExt/gvimext.cpp \ src/GvimExt/gvimext.def \ src/GvimExt/gvimext.h \ src/GvimExt/gvimext.inf \ src/GvimExt/gvimext.rc \ src/GvimExt/gvimext_ming.def \ src/GvimExt/gvimext_ming.rc \ src/GvimExt/resource.h \ src/GvimExt/uninst.bat \ README_srcdos.txt \ src/INSTALLpc.txt \ src/Make_cyg.mak \ src/Make_cyg_ming.mak \ src/Make_ming.mak \ src/Make_mvc.mak \ tools/rename.bat \ src/bigvim.bat \ src/bigvim64.bat \ src/msvc-latest.bat \ src/msvc2015.bat \ src/msvc2017.bat \ src/msvc2019.bat \ src/msvc2022.bat \ src/msys32.bat \ src/msys64.bat \ src/dlldata.c \ src/dosinst.c \ src/dosinst.h \ src/gui_dwrite.cpp \ src/gui_dwrite.h \ src/gui_w32.c \ src/gui_w32_rc.h \ src/if_ole.cpp \ src/if_ole.h \ src/if_ole.idl \ src/iscygpty.c \ src/iscygpty.h \ src/iid_ole.c \ src/os_dos.h \ src/os_w32dll.c \ src/os_w32exe.c \ src/os_win32.c \ src/os_mswin.c \ src/os_win32.h \ src/proto/gui_w32.pro \ src/proto/if_ole.pro \ src/proto/os_win32.pro \ src/proto/os_mswin.pro \ src/testdir/Make_dos.mak \ src/testdir/Make_mvc.mak \ src/testdir/Make_ming.mak \ src/testdir/dos.vim \ src/uninstall.c \ src/vim.rc \ src/vim.manifest \ src/vimrun.c \ src/xpm_w32.c \ src/xpm_w32.h \ src/tee/Make_ming.mak \ src/tee/Make_mvc.mak \ src/tee/Makefile \ src/tee/tee.c \ src/xxd/Make_ming.mak \ src/xxd/Make_mvc.mak \ nsis/gvim.nsi \ nsis/gvim_version.nsh \ nsis/README.txt \ nsis/lang/*.nsi \ uninstall.txt \ # source files for DOS without CR/LF translation (also in the extra archive) SRC_DOS_BIN = \ src/tearoff.bmp \ src/tools.bmp \ src/vim*.ico \ src/vim.tlb \ src/xpm/COPYRIGHT \ src/xpm/README.txt \ src/xpm/arm64/lib-vc14/libXpm.lib \ src/xpm/include/*.h \ src/xpm/x64/lib-vc14/libXpm.lib \ src/xpm/x64/lib/libXpm.a \ src/xpm/x86/lib-vc14/libXpm.lib \ src/xpm/x86/lib/libXpm.a \ runtime/bitmaps/vim.ico \ nsis/icons.zip \ # source files for Amiga, DOS, etc. (also in the extra archive) SRC_AMI_DOS = \ # source files for Amiga (also in the extra archive) SRC_AMI = \ README_amisrc.txt \ README_amisrc.txt.info \ src.info \ src/INSTALLami.txt \ src/Make_ami.mak \ src/os_amiga.c \ src/os_amiga.h \ src/proto/os_amiga.pro \ src/testdir/Make_amiga.mak \ src/testdir/amiga.vim \ src/xxd/Make_amiga.mak \ # source files for Haiku (also in the extra archive) SRC_HAIKU = \ README_haiku.txt \ src/os_haiku.h \ src/os_haiku.rdef.in \ src/gui_haiku.cc \ src/gui_haiku.h \ src/proto/gui_haiku.pro \ # source files for the Mac (also in the extra archive) SRC_MAC = \ src/INSTALLmac.txt \ src/os_mac.h \ src/os_mac_conv.c \ src/os_macosx.m \ src/proto/os_mac_conv.pro \ src/proto/os_macosx.pro \ # source files for VMS (in the extra archive) SRC_VMS = \ src/INSTALLvms.txt \ src/Make_vms.mms \ src/gui_gtk_vms.h \ src/os_vms.c \ src/os_vms_conf.h \ src/os_vms_mms.c \ src/proto/os_vms.pro \ src/testdir/Make_vms.mms \ src/testdir/vms.vim \ src/xxd/Make_vms.mms \ vimtutor.com \ # source files for QNX (in the extra archive) SRC_QNX = \ src/os_qnx.c \ src/os_qnx.h \ src/gui_photon.c \ src/proto/gui_photon.pro \ src/proto/os_qnx.pro \ # source files for the extra archive (all sources that are not for Unix) SRC_EXTRA = \ $(SRC_AMI) \ $(SRC_AMI_DOS) \ $(SRC_DOS) \ $(SRC_DOS_BIN) \ $(SRC_HAIKU) \ $(SRC_MAC) \ $(SRC_QNX) \ $(SRC_VMS) \ README_os390.txt \ src/link.390 \ src/os_vms_fix.com \ src/toolbar.phi \ # runtime files for all distributions RT_ALL = \ README.txt \ README.md \ README_VIM9.md \ LICENSE \ CONTRIBUTING.md \ runtime/bugreport.vim \ runtime/doc/*.awk \ runtime/doc/*.pl \ runtime/doc/*.txt \ runtime/doc/Makefile \ runtime/doc/doctags.c \ runtime/doc/doctags.vim \ runtime/doc/test_urls.vim \ runtime/doc/vim.1 \ runtime/doc/evim.1 \ runtime/doc/vimdiff.1 \ runtime/doc/vimtutor.1 \ runtime/doc/xxd.1 \ runtime/ftoff.vim \ runtime/gvimrc_example.vim \ runtime/import/dist/vimhelp.vim \ runtime/import/dist/vimhighlight.vim \ runtime/macros/README.txt \ runtime/macros/editexisting.vim \ runtime/macros/hanoi/click.me \ runtime/macros/hanoi/hanoi.vim \ runtime/macros/hanoi/poster \ runtime/macros/justify.vim \ runtime/macros/less.bat \ runtime/macros/less.sh \ runtime/macros/less.vim \ runtime/macros/life/click.me \ runtime/macros/life/life.vim \ runtime/macros/matchit.vim \ runtime/macros/maze/README.txt \ runtime/macros/maze/[mM]akefile \ runtime/macros/maze/maze.c \ runtime/macros/maze/maze_5.78 \ runtime/macros/maze/maze_mac \ runtime/macros/maze/mazeansi.c \ runtime/macros/maze/mazeclean.c \ runtime/macros/maze/poster \ runtime/macros/shellmenu.vim \ runtime/macros/swapmous.vim \ runtime/macros/urm/README.txt \ runtime/macros/urm/examples \ runtime/macros/urm/urm \ runtime/macros/urm/urm.vim \ runtime/defaults.vim \ runtime/evim.vim \ runtime/mswin.vim \ runtime/optwin.vim \ runtime/ftplugin.vim \ runtime/ftplugof.vim \ runtime/indent.vim \ runtime/indoff.vim \ runtime/termcap \ runtime/tools/README.txt \ runtime/tools/[a-z]*[a-z0-9] \ runtime/tutor/README.txt \ runtime/tutor/tutor \ runtime/tutor/tutor.vim \ runtime/vimrc_example.vim \ runtime/pack/dist/opt/cfilter/plugin/cfilter.vim \ runtime/pack/dist/opt/dvorak/plugin/dvorak.vim \ runtime/pack/dist/opt/dvorak/dvorak/enable.vim \ runtime/pack/dist/opt/dvorak/dvorak/disable.vim \ runtime/pack/dist/opt/editexisting/plugin/editexisting.vim \ runtime/pack/dist/opt/justify/plugin/justify.vim \ runtime/pack/dist/opt/matchit/plugin/matchit.vim \ runtime/pack/dist/opt/matchit/doc/matchit.txt \ runtime/pack/dist/opt/matchit/doc/tags \ runtime/pack/dist/opt/matchit/autoload/*.vim \ runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim \ runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim \ runtime/pack/dist/opt/termdebug/plugin/termdebug.vim \ # runtime files for all distributions without CR-NL translation RT_ALL_BIN = \ runtime/doc/tags \ runtime/print/*.ps \ # runtime script files RT_SCRIPTS = \ runtime/filetype.vim \ runtime/scripts.vim \ runtime/menu.vim \ runtime/macmap.vim \ runtime/delmenu.vim \ runtime/synmenu.vim \ runtime/makemenu.vim \ runtime/autoload/*.vim \ runtime/autoload/README.txt \ runtime/autoload/dist/*.vim \ runtime/autoload/xml/*.vim \ runtime/autoload/zig/*.vim \ runtime/colors/*.vim \ runtime/colors/README.txt \ runtime/colors/lists/*.vim \ runtime/colors/tools/*.vim \ runtime/compiler/*.vim \ runtime/compiler/README.txt \ runtime/indent/*.vim \ runtime/indent/README.txt \ runtime/indent/Makefile \ runtime/indent/testdir/README.txt \ runtime/indent/testdir/*.vim \ runtime/indent/testdir/*.in \ runtime/indent/testdir/*.ok \ runtime/ftplugin/*.vim \ runtime/ftplugin/logtalk.dict \ runtime/ftplugin/README.txt \ runtime/plugin/*.vim \ runtime/plugin/README.txt \ runtime/syntax/*.vim \ runtime/syntax/README.txt \ runtime/syntax/shared/*.vim \ runtime/syntax/shared/README.txt \ runtime/syntax/Makefile \ runtime/syntax/testdir/README.txt \ runtime/syntax/testdir/runtest.vim \ runtime/syntax/testdir/input/*.* \ runtime/syntax/testdir/dumps/*.dump \ # Unix runtime RT_UNIX = \ README_unix.txt \ runtime/hi16-action-make.png \ runtime/hi22-action-make.png \ runtime/gvim.desktop \ runtime/vim.desktop \ # Unix and DOS runtime without CR-LF translation RT_UNIX_DOS_BIN = \ runtime/vim16x16.gif \ runtime/vim16x16.png \ runtime/vim16x16.xpm \ runtime/vim32x32.gif \ runtime/vim32x32.png \ runtime/vim32x32.xpm \ runtime/vim48x48.gif \ runtime/vim48x48.png \ runtime/vim48x48.xpm \ # runtime not for unix or extra RT_NO_UNIX = \ # runtime for Amiga (also in the extra archive) RT_AMI_DOS = \ runtime/doc/evim.man \ runtime/doc/vim.man \ runtime/doc/vimdiff.man \ runtime/doc/vimtutor.man \ runtime/doc/xxd.man \ # DOS runtime (also in the extra archive) RT_DOS = \ README_dos.txt \ vimtutor.bat \ # DOS runtime without CR-LF translation (also in the extra archive) RT_DOS_BIN = \ runtime/vimlogo.cdr \ runtime/vimlogo.eps \ runtime/vimlogo.gif \ runtime/vimlogo.pdf \ # Amiga runtime (also in the extra archive) RT_AMI = \ README.txt.info \ README_ami.txt \ README_ami.txt.info \ runtime/doc.info \ runtime/doc/*.info \ runtime/icons/README.txt \ runtime/icons/*.info \ runtime/icons.info \ runtime/macros.info \ runtime/macros/*.info \ runtime/macros/hanoi/*.info \ runtime/macros/life/*.info \ runtime/macros/maze/*.info \ runtime/macros/urm/*.info \ runtime/tools.info \ runtime/tutor.info \ runtime/tutor/*.info \ # runtime files in extra archive RT_EXTRA = \ $(RT_AMI) \ $(RT_AMI_DOS) \ $(RT_DOS) \ $(RT_DOS_BIN) \ README_mac.txt \ # included in all Amiga archives ROOT_AMI = \ Contents \ Contents.info \ runtime.info \ vimdir.info \ # root files for the extra archive ROOT_EXTRA = \ $(ROOT_AMI) \ # files for Amiga small binary (also in extra archive) BIN_AMI = \ README_amibin.txt \ README_amibin.txt.info \ Vim.info \ Xxd.info \ # files for DOS binary (also in extra archive) BIN_DOS = \ README_bindos.txt \ uninstall.txt \ # files for Win32 OLE binary (also in extra archive) BIN_OLE = \ README_ole.txt \ # files for Win32s binary (also in extra archive) BIN_W32S = \ README_w32s.txt \ # files for VMS binary (also in extra archive) BIN_VMS = \ README_vms.txt \ # files for OS/2 binary (also in extra archive) BIN_OS2 = \ README_os2.txt \ # binary files for extra archive BIN_EXTRA = \ $(BIN_AMI) \ $(BIN_DOS) \ $(BIN_OLE) \ $(BIN_W32S) \ $(BIN_VMS) \ $(BIN_OS2) \ # all files for extra archive EXTRA = \ $(BIN_EXTRA) \ $(ROOT_EXTRA) \ $(RT_EXTRA) \ $(SRC_EXTRA) \ README_extra.txt \ runtime/vimlogo.xpm \ # files in READMEdir that are included from the top dir IN_README_DIR = \ README.txt.info \ README_ami.txt \ README_ami.txt.info \ README_amibin.txt \ README_amibin.txt.info \ README_amisrc.txt \ README_amisrc.txt.info \ README_bindos.txt \ README_dos.txt \ README_extra.txt \ README_mac.txt \ README_ole.txt \ README_os2.txt \ README_os390.txt \ README_src.txt \ README_srcdos.txt \ README_unix.txt \ README_vms.txt \ README_w32s.txt \ Contents \ Contents.info \ Vim.info \ Xxd.info \ runtime.info \ src.info \ vimdir.info \ # generic language files LANG_GEN = \ runtime/doc/*-da.1 \ runtime/doc/*-da.UTF-8.1 \ runtime/doc/*-de.1 \ runtime/doc/*-de.UTF-8.1 \ runtime/doc/*-fr.1 \ runtime/doc/*-fr.UTF-8.1 \ runtime/doc/*-it.1 \ runtime/doc/*-it.UTF-8.1 \ runtime/doc/*-ja.UTF-8.1 \ runtime/doc/*-pl.1 \ runtime/doc/*-pl.UTF-8.1 \ runtime/doc/*-ru.1 \ runtime/doc/*-ru.UTF-8.1 \ runtime/doc/*-tr.1 \ runtime/doc/*-tr.UTF-8.1 \ runtime/lang/README.txt \ runtime/lang/Makefile \ runtime/lang/menu_*.vim \ runtime/keymap/README.txt \ runtime/keymap/*.vim \ runtime/tutor/README.*.txt \ runtime/tutor/Makefile \ runtime/tutor/tutor.utf-8 \ runtime/tutor/tutor.?? \ runtime/tutor/tutor.??.utf-8 \ runtime/tutor/tutor.??.euc \ runtime/tutor/tutor.??.sjis \ runtime/tutor/tutor.??.iso9 \ runtime/tutor/tutor.??.big5 \ runtime/tutor/tutor.??.cp1250 \ runtime/tutor/tutor.??.cp1251 \ runtime/tutor/tutor.??.cp737 \ runtime/tutor/tutor.??_??.utf-8 \ runtime/tutor/tutor.bar \ runtime/tutor/tutor.bar.utf-8 \ runtime/spell/README.txt \ runtime/spell/??/*.diff \ runtime/spell/??/main.aap \ runtime/spell/sr/README_sr.txt \ runtime/spell/sr/convert.vim \ runtime/spell/tet/*.diff \ runtime/spell/tet/main.aap \ runtime/spell/check/main.aap \ runtime/spell/check/*.aff \ runtime/spell/check/*.dic \ runtime/spell/yi/README.txt \ runtime/spell/main.aap \ runtime/spell/*.vim \ # generic language files, binary LANG_GEN_BIN = \ runtime/spell/README_en.txt \ runtime/spell/en.ascii.spl \ runtime/spell/en.latin1.spl \ runtime/spell/en.utf-8.spl \ runtime/spell/en.ascii.sug \ runtime/spell/en.latin1.sug \ runtime/spell/en.utf-8.sug \ # all files for lang archive LANG_SRC = \ src/po/README.txt \ src/po/README_mingw.txt \ src/po/README_mvc.txt \ src/po/check.vim \ src/po/cleanup.vim \ src/po/tojavascript.vim \ src/po/fixfilenames.vim \ src/po/Makefile \ src/po/Make_all.mak \ src/po/Make_cyg.mak \ src/po/Make_ming.mak \ src/po/Make_mvc.mak \ src/po/vim.desktop.in \ src/po/gvim.desktop.in \ src/po/sjiscorr.c \ src/po/*.po \ # the language files for the Win32 lang archive LANG_DOS = \ src/po/*.mo \ # vim: set ft=make: