Compare commits

...

41 Commits

Author SHA1 Message Date
Yee Cheng Chin 35dc1a84c1 MacVim Snapshot 165
Vim patch 8.2.1456

Features

- New "Appearance" option pane (accessible via Cmd-, or MacVim ->
  Preferences) to allow customizing how MacVim looks. Users can now
  select how MacVim works with Dark Mode, and configure titlebar to be
  hidden or transparent. #912 #1038 #1056
- MacVim localization support. It now uses translated Vim messages for
  the specified locale. See `:help multilang-messages` to see how to
  configure it. #991

General:

- Python is now built against 3.8, up from 3.7. #1012

Fixes:

- Fix mvim:// protocol handler behavior. Reverts behavior back to old
  behavior (before snapshot-162), but add new fallback handling to try
  to handle poorly formed URLs that don't double-encode special
  characters. See `:help macvim://`. #1055
- Can now change tabs using menu and keyboard shortcuts (Cmd-{ / Cmd-} /
  Cmd-T) when in terminal mode. #1045
- Fix crash during MacVim launch in Snapshot 164 (8.2.1424) due to
  dynamic library linkage. #1073

Targets macOS 10.9+

Script interfaces have compatibility with these versions:

- Lua 5.3
- Perl 5.18
- Python2 2.7
- Python3 3.8
- Ruby 2.7
2020-08-15 13:11:40 -07:00
Yee Cheng Chin 20998146ff Fix disk image build target (macvim-dmg) permission issues on Travis
create-dmg uses osascript calls to prettify the created dmg file, which
has not been working in Travis CI for a while since it would pop up a
dialog box asking for permission in the later macOS versions, and
there's no way to interact with it in CI. The old version of create-dmg
silently handles the failure but the new version just fails the build,
so we need to manually pass in --skip-jenkins flag to skip the prettify
step.

This is still ok, because currently the maintainer still has to manually
re-build and re-sign the dmg file locally after Travis built it to add
signing and notarization to the app, so the dmg file built by Travis is
just an intermediate step, and not going to be used for the final
release.
2020-08-15 13:04:05 -07:00
Yee Cheng Chin b350d23bc0 Merge remote-tracking branch 'vim/master' 2020-08-15 02:09:13 -07:00
Yee Cheng Chin d9b71ebea8 Merge pull request #1076 from ychin/fix-gettext-dynamic-linkage
Fix gettext dynamic linkage breaking binary builds due to missing dylib
2020-08-15 01:47:25 -07:00
Yee Cheng Chin 26b49d42c0 Fix gettext dynamic linkage breaking binary builds due to missing dylib
Currently, all the external libraries MacVim links against are
dynamically linked, but so far they are all system libraries or bundled
in /usr/lib, so all users have them installed. When gettext dependency
was added to the Travis build to add localization support, it relied on
an installed libintl.dylib library, usually in /usr/local/lib. This
means users who don't have it installed and open the distributed binary
will see MacVim immediately crash due to a missing dylib.

Instead, statically link against libintl.a instead. This is tricky
because clang stubbornly prefers dynamic libs over static ones if both
exist and you use the "-l" argument. Instead, you have to pass full path
to the static lib for it to link against it. Modify configure.ac to do
so, but because of the full path requirement, it's hard to get
AC_TRY_LINK to work with it, so just manually check for the library's
existence and use that. Hacky but works.

Also, add a check to Travis CI build to make sure we didn't accidentally
introduce third-party dynacmic linkage to the build.
- Add a new test to use objdump to dump out the dependencies, and check
  that we don't have any external third-party linkage (basically any
  dynamic links other than the pre-installed /usr/lib). Have to also
  check for existence of objdump because xcode 7 / macOS 10.11 doesn't
  have it installed.
- Split the beginning sanity checks to a separate fold group called
  "smoketest". Also, don't unset errexit until that part is done, so
  that we will immediately fail out of the job if the smoketest fails.
  Unsetting errexit is only useful in the later regular tests that could
  be a little flaky.

Fix #1073
2020-08-15 01:13:33 -07:00
Yee Cheng Chin 98523ad5dc Merge pull request #1075 from ychin/new-create-dmg-catalina
Update create-dmg to work in macOS Catalina 10.15
2020-08-14 22:56:53 -07:00
Yee Cheng Chin 2635578c6e Merge pull request #1074 from ychin/macvim-docs-fixes
Fix MacVim docs typos and cross link from gui.txt
2020-08-14 22:55:56 -07:00
Bram Moolenaar 1623619119 patch 8.2.1456: MS-Windows: test files are not deleted
Problem:    MS-Windows: test files are not deleted.
Solution:   use "del" instead of $(DEL).
2020-08-14 23:08:22 +02:00
Bram Moolenaar d1103587cf patch 8.2.1455: Vim9: crash when using typecast before constant
Problem:    Vim9: crash when using typecast before constant.
Solution:   Generate constant before checking type.  Add tets.
2020-08-14 22:44:25 +02:00
Bram Moolenaar 79e8db9a21 patch 8.2.1454: Vim9: failure invoking lambda with wrong arguments
Problem:    Vim9: failure invoking lambda with wrong arguments.
Solution:   Handle invalid arguments.  Add a test.
2020-08-14 22:16:33 +02:00
Bram Moolenaar 8de2f44ac6 patch 8.2.1453: Vim9: failure to compile lambda not tested
Problem:    Vim9: failure to compile lambda not tested.
Solution:   Add a test case.
2020-08-14 21:49:08 +02:00
Bram Moolenaar 8d56622944 patch 8.2.1452: Vim9: dead code in to_name_end()
Problem:    Vim9: dead code in to_name_end().
Solution:   Remove check for lambda and dict, it won't be used.
2020-08-14 21:42:54 +02:00
Bram Moolenaar 41fab3eac8 patch 8.2.1451: Vim9: list type at script level only uses first item
Problem:    Vim9: list type at script level only uses first item.
Solution:   Use all members, like in a compiled function. (closes #6712)
            Also for dictionary.
2020-08-14 21:27:37 +02:00
Bram Moolenaar 7d6997015d patch 8.2.1450: Vim9: no check that script-local items don't become global
Problem:    Vim9: no check that script-local items don't become global.
Solution:   Add a test.
2020-08-14 20:52:28 +02:00
Bram Moolenaar 32a23ac615 patch 8.2.1449: some test makefiles delete files that are not generated
Problem:    Some test makefiles delete files that are not generated.
Solution:   Remove the deletion commands.
2020-08-14 19:20:23 +02:00
Bram Moolenaar 4ac97f4761 patch 8.2.1448: test 77a for VMS depends on small.vim which does not exist
Problem:    Test 77a for VMS depends on small.vim which does not exist.
Solution:   Use the 'silent while 0" trick. (issue #6696)
2020-08-14 19:11:03 +02:00
Bram Moolenaar 32f335f75c patch 8.2.1447: Vim9: return type of keys() is list<any>
Problem:    Vim9: return type of keys() is list<any>.
Solution:   Should be list<string>. (closes #6711)
2020-08-14 18:56:45 +02:00
Bram Moolenaar 7517ffdbb5 patch 8.2.1446: Vim9: line number in error message is not correct
Problem:    Vim9: line number in error message is not correct.
Solution:   Set SOURCING_LNUM before calling emsg(). (closes #6708)
2020-08-14 18:35:07 +02:00
Bram Moolenaar c4ce36d486 patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Problem:    Vim9: function expanded name is cleared when sourcing a script
            again.
Solution:   Only clear the expanded name when deleting the function.
            (closes #6707)
2020-08-14 17:08:15 +02:00
Bram Moolenaar bc4c505166 patch 8.2.1444: error messages are spread out and names can be confusing
Problem:    Error messages are spread out and names can be confusing.
Solution:   Start moving error messages to a separate file and use clear
            names.
2020-08-13 22:47:35 +02:00
Bram Moolenaar cdd70f09a5 patch 8.2.1443: Vim9: crash when interrupting a nested :def function
Problem:    Vim9: crash when interrupting a nested :def function.
Solution:   Push a dummy return value onto the stack. (closes #6701)
2020-08-13 21:40:18 +02:00
Bram Moolenaar be7529e889 patch 8.2.1442: outdated references to the Mac Carbon GUI
Problem:    Outdated references to the Mac Carbon GUI.
Solution:   Remove or update references. (Yee Cheng Chin, closes #6703)
2020-08-13 21:05:39 +02:00
Bram Moolenaar c771908681 patch 8.2.1441: running tests in tiny version gives error for summarize.vim
Problem:    Running tests in tiny version gives error for summarize.vim.
Solution:   Set 'cpoptions' to allow for line continuation.  Restore
            redirecting test output to /dev/null.
2020-08-13 19:42:39 +02:00
Bram Moolenaar 16c6232cad patch 8.2.1440: debugger code insufficiently tested
Problem:    Debugger code insufficiently tested.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #6700)
2020-08-13 19:20:04 +02:00
Bram Moolenaar b96a32ef1a patch 8.2.1439: tiny and small builds have no test coverage
Problem:    Tiny and small builds have no test coverage.
Solution:   Restore tests that do not depend on the +eval feature.
            (Ken Takata, closes #6696)
2020-08-13 18:59:55 +02:00
Yee Cheng Chin aec627646e Update create-dmg to work in macOS Catalina 10.15 2020-08-13 04:19:55 -07:00
Yee Cheng Chin 8cf2bb3cb2 Fix MacVim docs typos and cross link from gui.txt 2020-08-13 04:19:04 -07:00
Bram Moolenaar 7ac616cb0a patch 8.2.1438: missing tests for interrupting script execution from debugger
Problem:    Missing tests for interrupting script execution from debugger.
Solution:   Add tests. (Yegappan Lakshmanan, closes #6697)
2020-08-12 22:22:09 +02:00
Bram Moolenaar c9edd6b582 patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Problem:    Vim9: 'statusline' is evaluated using Vim9 script syntax.
Solution:   Always use legacy script syntax.
2020-08-12 22:18:23 +02:00
Bram Moolenaar 66e0014ba6 patch 8.2.1436: function implementing :substitute has unexpected name
Problem:    Function implementing :substitute has unexpected name.
Solution:   Rename from do_sub() to ex_substitute().
2020-08-12 21:58:12 +02:00
Bram Moolenaar 418f1df547 patch 8.2.1435: Vim9: always converting to string for ".." leads to mistakes
Problem:    Vim9: always converting to string for ".." leads to mistakes.
Solution:   Only automatically convert simple types.
2020-08-12 21:34:49 +02:00
Bram Moolenaar fd77748df2 patch 8.2.1434: Vim9: crash when lambda uses outer function argument
Problem:    Vim9: crash when lambda uses outer function argument.
Solution:   Set the flag that the outer context is used.
2020-08-12 19:42:01 +02:00
Bram Moolenaar ba60cc45e7 patch 8.2.1433: Vim9: cannot mingle comments in multi-line lambda
Problem:    Vim9: cannot mingle comments in multi-line lambda.
Solution:   Skip over NULL lines. (closes #6694)
2020-08-12 19:15:33 +02:00
Bram Moolenaar 6d91bcb4d2 patch 8.2.1432: various inconsistencies in test files
Problem:    Various inconsistencies in test files.
Solution:   Add modelines where they were missing.  Use Check commands instead
            of silently skipping over tests.  Adjust indents and comments.
            (Ken Takata, closes #6695)
2020-08-12 18:50:36 +02:00
Bram Moolenaar c3d6e8a46a patch 8.2.1431: Vim9: no error for white space before comma in dict
Problem:    Vim9: no error for white space before comma in dict.
Solution:   Check for extra white space. (closes #6674)
2020-08-12 18:34:28 +02:00
Bram Moolenaar db199216e8 patch 8.2.1430: Vim9: error for missing comma instead of extra white space
Problem:    Vim9: error for missing comma instead of extra white space.
Solution:   Check if comma can be found after white space. (closes #6668)
            Also check for extra white space in literal dict. (closes #6670)
2020-08-12 18:01:53 +02:00
Bram Moolenaar 17a836cbee patch 8.2.1429: Vim9: no error for missing white after : in dict
Problem:    Vim9: no error for missing white after : in dict.
Solution:   Check for white space. (closes #6671)  Also check that there is no
            white before the :.
2020-08-12 17:35:58 +02:00
Bram Moolenaar ed677f5587 patch 8.2.1428: Vim9: :def function does not abort on nested function error
Problem:    Vim9: :def function does not abort on nested function error.
Solution:   Check whether an error message was given. (closes #6691)
2020-08-12 16:38:10 +02:00
Bram Moolenaar 7c5ad34878 patch 8.2.1427: Vim9: cannot use a range with marks in :def function
Problem:    Vim9: cannot use a range with marks in :def function.
Solution:   Parse range after colon. (closes #6686)
2020-08-12 15:48:55 +02:00
Bram Moolenaar a177344dc0 patch 8.2.1426: Vim9: cannot call autoload function in :def function
Problem:    Vim9: cannot call autoload function in :def function.
Solution:   Load the autoload script. (closes #6690)
2020-08-12 15:21:22 +02:00
Bram Moolenaar 575f24b3f3 patch 8.2.1425: Vim9: cannot use call() without :call
Problem:    Vim9: cannot use call() without :call.
Solution:   Do not skip over "call(". (closes #6689)
2020-08-12 14:21:11 +02:00
247 changed files with 3612 additions and 1917 deletions
+19 -4
View File
@@ -61,12 +61,13 @@ script:
grep -q -- "-DDYNAMIC_RUBY_DLL=\\\\\"${vi_cv_dll_name_ruby}\\\\\"" src/auto/config.mk
fi
- echo -en "travis_fold:end:configure\\r\\033[0K"
- echo -e "\\033[33;1mBuilding MacVim\\033[0m" && echo -en "travis_fold:start:build\\r\\033[0K"
- make -j${NPROC}
- echo -en "travis_fold:end:build\\r\\033[0K"
- set +o errexit
- ${VIMCMD} --version
- echo -e "\\033[33;1mTesting MacVim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
- echo -e "\\033[33;1mSmoketest\\033[0m" && echo -en "travis_fold:start:smoketest\\r\\033[0K"
# Smoketest scripting languages
- |
macvim_excmd() {
@@ -84,7 +85,20 @@ script:
if [[ -n "${HAS_GETTEXT}" ]]; then
${VIMCMD} -es -c 'lang es_ES' -c 'redir @a' -c 'version' -c 'put a' -c 'print' -c 'qa!' | grep Enlazado
fi
# Run standard test suites
# Make sure there isn't any dynamic linkage to third-party dependencies in the built binary, as we should only use
# static linkage to avoid dependency hell. First, sanity check that we have some dylib linkage to make sure objdump is
# working properly, then test that all those dylib's are in /usr/lib which is bundled with macOS and not third-party.
- |
if (which objdump > /dev/null); then
objdump -p ${VIMCMD} | grep -q dylib &&
! (objdump -p ${VIMCMD} | grep dylib | grep -v "name /usr/lib/")
fi
- echo -en "travis_fold:end:smoketest\\r\\033[0K"
# Run standard test suites.
# Disable errexit so flaky tests won't immediately exit to allow us to see all the errors.
- set +o errexit
- echo -e "\\033[33;1mTesting MacVim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
- make test
- make -C runtime/doc vimtags VIMEXE=../../src/MacVim/build/Release/MacVim.app/Contents/bin/vim
- echo -en "travis_fold:end:test\\r\\033[0K"
@@ -108,7 +122,8 @@ jobs:
<<: *caches
script: skip
before_deploy:
- make -C src macvim-dmg
# Use the --skip-jenkins flag to skip the prettify osascript calls which will fail due to permission issues in Travis CI's Mac environment.
- make -C src macvim-dmg CREATEDMG_FLAGS=--skip-jenkins
deploy:
provider: releases
token:
+3 -4
View File
@@ -45,6 +45,7 @@ SRC_ALL = \
src/drawline.c \
src/drawscreen.c \
src/edit.c \
src/errors.h \
src/eval.c \
src/evalbuffer.c \
src/evalfunc.c \
@@ -158,9 +159,7 @@ SRC_ALL = \
src/testdir/gen_opt_test.vim \
src/testdir/README.txt \
src/testdir/Make_all.mak \
src/testdir/dotest.in \
src/testdir/test1.in \
src/testdir/test77a.in \
src/testdir/*.in \
src/testdir/*.py \
src/testdir/lsan-suppress.txt \
src/testdir/sautest/autoload/*.vim \
@@ -179,7 +178,7 @@ SRC_ALL = \
src/testdir/summarize.vim \
src/testdir/term_util.vim \
src/testdir/view_util.vim \
- src/testdir/test1.ok \
src/testdir/test[0-9]*.ok \
src/testdir/test77a.ok \
src/testdir/test83-tags? \
src/testdir/test77a.com \
+1 -1
View File
@@ -32,7 +32,7 @@ first:
# Some make programs use the last target for the $@ default; put the other
# targets separately to always let $@ expand to "first" by default.
all install uninstall tools config configure reconfig proto depend lint tags types test scripttests test_libvterm unittests testclean clean distclean:
all install uninstall tools config configure reconfig proto depend lint tags types test scripttests testtiny test_libvterm unittests testclean clean distclean:
@if test ! -f src/auto/config.mk; then \
cp src/config.mk.dist src/auto/config.mk; \
fi
+1 -2
View File
@@ -16,8 +16,7 @@ src/os_amiga.* Files for the Amiga port.
src/os_msdos.*
src/os_dos.* Files for the MS-DOS port.
src/gui_mac.* Carbon GUI (not used)
src/os_mac* Shared files for the different Mac ports.
src/os_mac.* Files for the Mac port.
src/MacVim/* Files for the MacVim port.
+1
View File
@@ -16,6 +16,7 @@ Vim's Graphical User Interface *gui* *GUI*
8. Shell Commands |gui-shell|
Other GUI documentation:
|gui_mac.txt| For specific items of the MacVim GUI.
|gui_x11.txt| For specific items of the X11 GUI.
|gui_w32.txt| For specific items of the Win32 GUI.
+1 -1
View File
@@ -1,4 +1,4 @@
*gui_mac.txt* For Vim version 8.1. Last change: 2018 Dec 17
*gui_mac.txt* For Vim version 8.2. Last change: 2020 Aug 13
VIM REFERENCE MANUAL by Bjorn Winckler
+6
View File
@@ -20,11 +20,17 @@ and for testing plugins.
Vim can be tested after building it, usually with "make test".
The tests are located in the directory "src/testdir".
There are two types of tests added over time:
test20.in oldest, only for tiny and small builds
test_something.vim new style tests
*new-style-testing*
New tests should be added as new style tests. The test scripts are named
test_<feature>.vim (replace <feature> with the feature under test). These use
functions such as |assert_equal()| to keep the test commands and the expected
result in one place.
*old-style-testing*
These tests are used only for testing Vim without the |+eval| feature.
Find more information in the file src/testdir/README.txt.
+8 -2
View File
@@ -426,11 +426,14 @@ The boolean operators "||" and "&&" do not change the value: >
2 && 0 == 0
[] && 2 == []
When using `..` for string concatenation the arguments are always converted to
string. >
When using `..` for string concatenation arguments of simple types are always
converted to string. >
'hello ' .. 123 == 'hello 123'
'hello ' .. v:true == 'hello true'
Simple types are string, float, special and bool. For other types |string()|
can be used.
In Vim9 script one can use "true" for v:true and "false" for v:false.
@@ -805,6 +808,9 @@ actually needed. A recommended mechanism:
...
< This goes in .../import/someother.vim.
When compiling a `:def` function and a function in an autoload script is
encountered, the script is not loaded until the `:def` function is called.
Import in legacy Vim script ~
+1 -1
View File
@@ -1255,7 +1255,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>164</string>
<string>165</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.productivity</string>
<key>NSAppTransportSecurity</key>
+1
View File
@@ -0,0 +1 @@
This folder contains resources used for creating the dmg installation file.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

+1 -1
View File
@@ -1107,7 +1107,7 @@ cmdidxs: ex_cmds.h
vim --clean -X --not-a-term -u create_cmdidxs.vim
###########################################################################
INCL = vim.h alloc.h ascii.h ex_cmds.h feature.h globals.h \
INCL = vim.h alloc.h ascii.h ex_cmds.h feature.h errors.h globals.h \
keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
spell.h structs.h term.h beval.h $(NBDEBUG_INCL)
GUI_INCL = gui.h
+15 -5
View File
@@ -719,7 +719,7 @@ CFLAGS = $(CFLAGS) $(CFLAGS_DEPR)
!include Make_all.mak
!include testdir\Make_all.mak
INCL = vim.h alloc.h ascii.h ex_cmds.h feature.h globals.h \
INCL = vim.h alloc.h ascii.h ex_cmds.h feature.h errors.h globals.h \
keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
spell.h structs.h term.h beval.h $(NBDEBUG_INCL)
@@ -1464,12 +1464,22 @@ cmdidxs: ex_cmds.h
test:
cd testdir
$(MAKE) /NOLOGO -f Make_dos.mak win32
$(MAKE) /NOLOGO -f Make_dos.mak
cd ..
testgvim:
cd testdir
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\gvim win32
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\gvim
cd ..
testtiny:
cd testdir
$(MAKE) /NOLOGO -f Make_dos.mak tiny
cd ..
testgvimtiny:
cd testdir
$(MAKE) /NOLOGO -f Make_dos.mak tiny VIMPROG=..\gvim
cd ..
testclean:
@@ -1477,9 +1487,9 @@ testclean:
$(MAKE) /NOLOGO -f Make_dos.mak clean
cd ..
# Run test1 to bootstrap tests
# Run individual OLD style test.
# These do not depend on the executable, compile it when needed.
$(SCRIPTS_FIRST:.out=):
$(SCRIPTS_TINY):
cd testdir
- if exist $@.out del $@.out
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\$(VIMTESTTARGET) nolog
+124 -118
View File
@@ -2,7 +2,7 @@
# Makefile for Vim on OpenVMS
#
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
# Last change: 2019 Nov 30
# Last change: 2020 Aug 13
#
# This script has been tested on VMS 6.2 to 8.4 on DEC Alpha, VAX and IA64
# with MMS and MMK
@@ -399,6 +399,7 @@ SRC = \
vim9compile.c \
vim9execute.c \
vim9script.c \
vim9type.c \
viminfo.c \
window.c \
$(GUI_SRC) \
@@ -515,6 +516,7 @@ OBJ = \
vim9compile.obj \
vim9execute.obj \
vim9script.obj \
vim9type.obj \
viminfo.obj \
window.obj \
$(GUI_OBJ) \
@@ -701,405 +703,409 @@ blob.obj : blob.c vim.h [.auto]config.h feature.h os_unix.h
buffer.obj : buffer.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h version.h
errors.h globals.h version.h
bufwrite.obj : bufwrite.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
change.obj : change.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
charset.obj : charset.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
cindent.obj : cindent.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
clientserver.obj : clientserver.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
clipboard.obj : clipboard.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
cmdexpand.obj : cmdexpand.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
cmdhist.obj : cmdhist.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
crypt.obj : crypt.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h
errors.h globals.h
crypt_zip.obj : crypt_zip.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
debugger.obj : debugger.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
dict.obj : dict.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h
errors.h globals.h
diff.obj : diff.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
digraph.obj : digraph.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
drawline.obj : drawline.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
drawscreen.obj : drawscreen.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
edit.obj : edit.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
eval.obj : eval.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
evalbuffer.obj : evalbuffer.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
evalfunc.obj : evalfunc.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h version.h
proto.h errors.h globals.h version.h
evalvars.obj : evalvars.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h version.h
proto.h errors.h globals.h version.h
evalwindow.obj : evalwindow.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
ex_cmds.obj : ex_cmds.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h version.h
errors.h globals.h version.h
ex_cmds2.obj : ex_cmds2.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h version.h
errors.h globals.h version.h
ex_docmd.obj : ex_docmd.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h ex_cmdidxs.h
errors.h globals.h ex_cmdidxs.h
ex_eval.obj : ex_eval.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
ex_getln.obj : ex_getln.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
fileio.obj : fileio.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
filepath.obj : filepath.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
findfile.obj : findfile.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
fold.obj : fold.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
getchar.obj : getchar.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
gui_xim.obj : gui_xim.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
hardcopy.obj : hardcopy.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h version.h
errors.h globals.h version.h
hashtab.obj : hashtab.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
help.obj : help.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
highlight.obj : highlight.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
if_cscope.obj : if_cscope.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h if_cscope.h
errors.h globals.h if_cscope.h
if_xcmdsrv.obj : if_xcmdsrv.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h version.h
errors.h globals.h version.h
if_mzsch.obj : if_mzsch.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h beval.h [.proto]gui_beval.pro ex_cmds.h proto.h \
globals.h if_mzsch.h
errors.h globals.h if_mzsch.h
indent.obj : indent.c vim.h [.auto]config.h feature.h os_unix.h
insexpand.obj : insexpand.c vim.h [.auto]config.h feature.h os_unix.h
json.obj : json.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
list.obj : list.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h
errors.h globals.h
locale.obj : locale.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h
errors.h globals.h
main.obj : main.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h \
arabic.c
map.obj : map.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
mark.obj : mark.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
match.obj : match.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
memfile.obj : memfile.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
memline.obj : memline.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
menu.obj : menu.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
message.obj : message.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
misc1.obj : misc1.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h \
version.h
misc2.obj : misc2.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
mouse.obj : mouse.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
move.obj : move.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
mbyte.obj : mbyte.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
normal.obj : normal.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
ops.obj : ops.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
option.obj : option.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h optiondefs.h
errors.h globals.h optiondefs.h
optionstr.obj : optionstr.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
os_unix.obj : os_unix.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h os_unixx.h
errors.h globals.h os_unixx.h
os_vms.obj : os_vms.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h os_unixx.h
errors.h globals.h os_unixx.h
pathdef.obj : pathdef.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
popupmenu.obj : popupmenu.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
popupwin.obj : popupwin.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
profiler.obj : profiler.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
quickfix.obj : quickfix.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
regexp.obj : regexp.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
register.obj : register.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
scriptfile.obj : scriptfile.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
screen.obj : screen.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
search.obj : search.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
session.obj : session.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
sha256.obj : sha256.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h
errors.h globals.h
sign.obj : sign.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h
errors.h globals.h
spell.obj : spell.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
spellfile.obj : spellfile.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
spellsuggest.obj : spellsuggest.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
syntax.obj : syntax.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
tag.obj : tag.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
term.obj : term.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
termlib.obj : termlib.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
testing.obj : testing.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
textformat.obj : textformat.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
textobject.obj : textobject.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
textprop.obj : textprop.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
time.obj : time.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
typval.obj : typval.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
ui.obj : ui.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
undo.obj : undo.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
usercmd.obj : usercmd.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
userfunc.obj : userfunc.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
version.obj : version.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h version.h
errors.h globals.h version.h
viminfo.obj : viminfo.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h version.h
errors.h globals.h version.h
vim9compile.obj : vim9compile.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h version.h
errors.h globals.h version.h
vim9execute.obj : vim9execute.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h version.h
errors.h globals.h version.h
vim9script.obj : vim9script.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h version.h
errors.h globals.h version.h
vim9type.obj : vim9type.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
errors.h globals.h version.h
window.obj : window.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
gui.obj : gui.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
gui_gtk.obj : gui_gtk.c gui_gtk_f.h vim.h [.auto]config.h feature.h \
os_unix.h ascii.h keymap.h term.h macros.h structs.h \
regexp.h gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h \
proto.h globals.h [-.pixmaps]stock_icons.h
proto.h errors.h globals.h [-.pixmaps]stock_icons.h
gui_gtk_f.obj : gui_gtk_f.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h gui_gtk_f.h
errors.h globals.h gui_gtk_f.h
gui_motif.obj : gui_motif.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h [-.pixmaps]alert.xpm [-.pixmaps]error.xpm \
errors.h globals.h [-.pixmaps]alert.xpm [-.pixmaps]error.xpm \
[-.pixmaps]generic.xpm [-.pixmaps]info.xpm [-.pixmaps]quest.xpm
gui_athena.obj : gui_athena.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h gui_at_sb.h
errors.h globals.h gui_at_sb.h
gui_gtk_x11.obj : gui_gtk_x11.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h gui_gtk_f.h [-.runtime]vim32x32.xpm \
errors.h globals.h gui_gtk_f.h [-.runtime]vim32x32.xpm \
[-.runtime]vim16x16.xpm [-.runtime]vim48x48.xpm version.h
gui_x11.obj : gui_x11.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h [-.runtime]vim32x32.xpm \
errors.h globals.h [-.runtime]vim32x32.xpm \
[-.runtime]vim16x16.xpm [-.runtime]vim48x48.xpm [-.pixmaps]tb_new.xpm \
[-.pixmaps]tb_open.xpm [-.pixmaps]tb_close.xpm [-.pixmaps]tb_save.xpm \
[-.pixmaps]tb_print.xpm [-.pixmaps]tb_cut.xpm [-.pixmaps]tb_copy.xpm \
@@ -1119,46 +1125,46 @@ gui_x11.obj : gui_x11.c vim.h [.auto]config.h feature.h os_unix.h \
gui_at_sb.obj : gui_at_sb.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h gui_at_sb.h
errors.h globals.h gui_at_sb.h
gui_at_fs.obj : gui_at_fs.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h gui_at_sb.h
errors.h globals.h gui_at_sb.h
pty.obj : pty.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
if_perl.obj : [.auto]if_perl.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
if_perlsfio.obj : if_perlsfio.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
if_python.obj : if_python.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
if_tcl.obj : if_tcl.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
if_ruby.obj : if_ruby.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h version.h
errors.h globals.h version.h
beval.obj : beval.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
gui_beval.obj : gui_beval.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
errors.h globals.h
netbeans.obj : netbeans.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h version.h
errors.h globals.h version.h
gui_xmdlg.obj : gui_xmdlg.c [.auto]config.h vim.h feature.h os_unix.h
gui_xmebw.obj : gui_xmebw.c [.auto]config.h vim.h feature.h os_unix.h
xdiffi.obj : [.xdiff]xdiffi.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h
+150 -160
View File
@@ -375,9 +375,6 @@ CClink = $(CC)
#CONF_OPT_GUI = --enable-gui=athena
#CONF_OPT_GUI = --enable-gui=nextaw
# Carbon GUI for Mac OS X
#CONF_OPT_GUI = --enable-gui=carbon
# Uncomment this line to run an individual test with gvim.
#GUI_TESTARG = GUI_FLAG=-g
@@ -2275,6 +2272,9 @@ scripttests:
testgui:
cd testdir; $(MAKE) -f Makefile $(GUI_TESTTARGET) VIMPROG=../$(VIMTARGET) GUI_FLAG=-g $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
testtiny:
cd testdir; $(MAKE) -f Makefile tiny VIMPROG=../$(VIMTARGET) SCRIPTSOURCE=../$(SCRIPTSOURCE)
benchmark:
cd testdir; $(MAKE) -f Makefile benchmark VIMPROG=../$(VIMTARGET) SCRIPTSOURCE=../$(SCRIPTSOURCE)
@@ -2308,9 +2308,9 @@ test_libvterm:
CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"; \
fi
# Run test1, used to bootstrap tests.
# This does not depend on the executable, compile first it when needed.
test1:
# Run individual OLD style test.
# These do not depend on the executable, compile it when needed.
$(SCRIPTS_TINY):
cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
# Run individual NEW style test.
@@ -3326,9 +3326,6 @@ objects/gui_xim.o: gui_xim.c
objects/gui_photon.o: gui_photon.c
$(CCC) -o $@ gui_photon.c
objects/gui_mac.o: gui_mac.c
$(CCC) -o $@ gui_mac.c
objects/gui_macvim.o: MacVim/gui_macvim.m
$(CCC) -fobjc-exceptions -o $@ MacVim/gui_macvim.m
@@ -3715,13 +3712,6 @@ bundle-rsrc: os_mac.rsr.hqx
rm -f gui_mac.rsrc
mv gui_mac.rsrc.rsrcfork $(RESDIR)/$(VIMNAME).rsrc
# po/Make_osx.pl says something about generating a Mac message file
# for Ukrainian. Would somebody using Mac OS X in Ukrainian
# *really* be upset that Carbon Vim was not localised in
# Ukrainian?
#
#bundle-language: bundle-dir po/Make_osx.pl
# cd po && perl Make_osx.pl --outdir ../$(RESDIR) $(MULTILANG)
bundle-language: bundle-dir
$(APPDIR)/Contents:
@@ -3752,12 +3742,12 @@ macvim-dmg:
create-dmg/create-dmg \
--volname "MacVim" \
--volicon MacVim/icons/MacVim.icns \
--background create-dmg/background.png \
--background MacVim/dmg/background.png \
--window-size 650 470 \
--icon-size 80 \
--icon MacVim.app 240 320 \
--app-drop-link 410 320 \
$(RELEASEDIR)/$(DMGFILE) $(DMGDIR)
$(CREATEDMG_FLAGS) $(RELEASEDIR)/$(DMGFILE) $(DMGDIR)
macvimclean:
if test -d MacVim; then \
@@ -3768,8 +3758,8 @@ macvimclean:
macvim-dmg-release: macvim-signed macvim-dmg
MacVim/scripts/sign-developer-id $(RELEASEDIR)/MacVim.dmg $(ENTITLEMENTS)
MacVim/scripts/notarize-dmg $(RELEASEDIR)/MacVim.dmg
echo "--------------------"
echo "Release MacVim built!"
@echo "----------------------------------------"
@echo "Release MacVim built!"
# Install only language files to a dest folder. Subset of "install-languages".
macvim-install-languages:
@@ -3842,449 +3832,449 @@ installglinks_haiku: $(HAIKU_GLINKS) install_haiku_extra
objects/arabic.o: arabic.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/arglist.o: arglist.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/autocmd.o: autocmd.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/beval.o: beval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/blob.o: blob.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/blowfish.o: blowfish.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/buffer.o: buffer.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h version.h
proto.h errors.h globals.h version.h
objects/change.o: change.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/charset.o: charset.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/cindent.o: cindent.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/clientserver.o: clientserver.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/clipboard.o: clipboard.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/cmdexpand.o: cmdexpand.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/cmdhist.o: cmdhist.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/crypt.o: crypt.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/crypt_zip.o: crypt_zip.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/debugger.o: debugger.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/dict.o: dict.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/diff.o: diff.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h xdiff/xdiff.h xdiff/../vim.h
proto.h errors.h globals.h xdiff/xdiff.h xdiff/../vim.h
objects/digraph.o: digraph.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/drawline.o: drawline.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/drawscreen.o: drawscreen.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/edit.o: edit.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/eval.o: eval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/evalbuffer.o: evalbuffer.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/evalfunc.o: evalfunc.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h version.h
proto.h errors.h globals.h version.h
objects/evalvars.o: evalvars.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h version.h
proto.h errors.h globals.h version.h
objects/evalwindow.o: evalwindow.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/ex_cmds.o: ex_cmds.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h version.h
proto.h errors.h globals.h version.h
objects/ex_cmds2.o: ex_cmds2.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h version.h
proto.h errors.h globals.h version.h
objects/ex_docmd.o: ex_docmd.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h ex_cmdidxs.h
proto.h errors.h globals.h ex_cmdidxs.h
objects/ex_eval.o: ex_eval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/ex_getln.o: ex_getln.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/fileio.o: fileio.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/filepath.o: filepath.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/findfile.o: findfile.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/fold.o: fold.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/getchar.o: getchar.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/hardcopy.o: hardcopy.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h version.h
proto.h errors.h globals.h version.h
objects/hashtab.o: hashtab.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/help.o: help.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/highlight.o: highlight.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/if_cscope.o: if_cscope.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h if_cscope.h
proto.h errors.h globals.h if_cscope.h
objects/if_xcmdsrv.o: if_xcmdsrv.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h version.h
proto.h errors.h globals.h version.h
objects/indent.o: indent.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/insexpand.o: insexpand.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/json.o: json.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/list.o: list.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/locale.o: locale.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/main.o: main.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/map.o: map.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/mark.o: mark.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/match.o: match.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/mbyte.o: mbyte.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/memfile.o: memfile.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/memline.o: memline.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/menu.o: menu.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/message.o: message.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/misc1.o: misc1.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h version.h
proto.h errors.h globals.h version.h
objects/misc2.o: misc2.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/mouse.o: mouse.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/move.o: move.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/normal.o: normal.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/ops.o: ops.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/option.o: option.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h optiondefs.h
proto.h errors.h globals.h optiondefs.h
objects/optionstr.o: optionstr.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/os_unix.o: os_unix.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h os_unixx.h
proto.h errors.h globals.h os_unixx.h
objects/pathdef.o: auto/pathdef.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/popupmenu.o: popupmenu.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/popupwin.o: popupwin.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/profiler.o: profiler.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/pty.o: pty.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/quickfix.o: quickfix.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/regexp.o: regexp.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h regexp_bt.c regexp_nfa.c
proto.h errors.h globals.h regexp_bt.c regexp_nfa.c
objects/register.o: register.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/screen.o: screen.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/scriptfile.o: scriptfile.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/search.o: search.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/session.o: session.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/sha256.o: sha256.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/sign.o: sign.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/sound.o: sound.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/spell.o: spell.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/spellfile.o: spellfile.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/spellsuggest.o: spellsuggest.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/syntax.o: syntax.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/tag.o: tag.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/term.o: term.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h libvterm/include/vterm.h \
proto.h errors.h globals.h libvterm/include/vterm.h \
libvterm/include/vterm_keycodes.h
objects/terminal.o: terminal.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h libvterm/include/vterm.h \
proto.h errors.h globals.h libvterm/include/vterm.h \
libvterm/include/vterm_keycodes.h
objects/testing.o: testing.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/textformat.o: textformat.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/textobject.o: textobject.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/textprop.o: textprop.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/time.o: time.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/typval.o: typval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/ui.o: ui.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/undo.o: undo.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/usercmd.o: usercmd.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/userfunc.o: userfunc.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/version.o: version.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h version.h
proto.h errors.h globals.h version.h
objects/vim9compile.o: vim9compile.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h vim9.h
proto.h errors.h globals.h vim9.h
objects/vim9execute.o: vim9execute.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h vim9.h
proto.h errors.h globals.h vim9.h
objects/vim9script.o: vim9script.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h vim9.h
proto.h errors.h globals.h vim9.h
objects/vim9type.o: vim9type.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h vim9.h
proto.h errors.h globals.h vim9.h
objects/viminfo.o: viminfo.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h version.h
proto.h errors.h globals.h version.h
objects/window.o: window.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/bufwrite.o: bufwrite.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/gui.o: gui.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/gui_gtk.o: gui_gtk.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h gui_gtk_f.h
proto.h errors.h globals.h gui_gtk_f.h
objects/gui_gtk_f.o: gui_gtk_f.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h gui_gtk_f.h
proto.h errors.h globals.h gui_gtk_f.h
objects/gui_motif.o: gui_motif.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h gui_xmebw.h ../pixmaps/alert.xpm ../pixmaps/error.xpm \
proto.h errors.h globals.h gui_xmebw.h ../pixmaps/alert.xpm ../pixmaps/error.xpm \
../pixmaps/generic.xpm ../pixmaps/info.xpm ../pixmaps/quest.xpm \
gui_x11_pm.h ../pixmaps/tb_new.xpm ../pixmaps/tb_open.xpm \
../pixmaps/tb_close.xpm ../pixmaps/tb_save.xpm ../pixmaps/tb_print.xpm \
@@ -4304,15 +4294,15 @@ objects/gui_motif.o: gui_motif.c vim.h protodef.h auto/config.h feature.h \
objects/gui_xmdlg.o: gui_xmdlg.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/gui_xmebw.o: gui_xmebw.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h gui_xmebwp.h gui_xmebw.h
proto.h errors.h globals.h gui_xmebwp.h gui_xmebw.h
objects/gui_athena.o: gui_athena.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h gui_at_sb.h gui_x11_pm.h ../pixmaps/tb_new.xpm \
proto.h errors.h globals.h gui_at_sb.h gui_x11_pm.h ../pixmaps/tb_new.xpm \
../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm ../pixmaps/tb_save.xpm \
../pixmaps/tb_print.xpm ../pixmaps/tb_cut.xpm ../pixmaps/tb_copy.xpm \
../pixmaps/tb_paste.xpm ../pixmaps/tb_find.xpm \
@@ -4331,86 +4321,86 @@ objects/gui_athena.o: gui_athena.c vim.h protodef.h auto/config.h feature.h \
objects/gui_gtk_x11.o: gui_gtk_x11.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h auto/gui_gtk_gresources.h gui_gtk_f.h \
proto.h errors.h globals.h auto/gui_gtk_gresources.h gui_gtk_f.h \
../runtime/vim32x32.xpm ../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
objects/gui_x11.o: gui_x11.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
proto.h errors.h globals.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
../runtime/vim48x48.xpm
objects/gui_xim.o: gui_xim.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
proto.h errors.h globals.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
../runtime/vim48x48.xpm
objects/gui_at_sb.o: gui_at_sb.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h gui_at_sb.h
proto.h errors.h globals.h gui_at_sb.h
objects/gui_at_fs.o: gui_at_fs.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h gui_at_sb.h
proto.h errors.h globals.h gui_at_sb.h
objects/json_test.o: json_test.c main.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h json.c
proto.h errors.h globals.h json.c
objects/kword_test.o: kword_test.c main.c vim.h protodef.h auto/config.h \
feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
ex_cmds.h spell.h proto.h globals.h charset.c
ex_cmds.h spell.h proto.h errors.h globals.h charset.c
objects/memfile_test.o: memfile_test.c main.c vim.h protodef.h auto/config.h \
feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
ex_cmds.h spell.h proto.h globals.h memfile.c
ex_cmds.h spell.h proto.h errors.h globals.h memfile.c
objects/message_test.o: message_test.c main.c vim.h protodef.h auto/config.h \
feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
ex_cmds.h spell.h proto.h globals.h message.c
ex_cmds.h spell.h proto.h errors.h globals.h message.c
objects/if_lua.o: if_lua.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/if_mzsch.o: if_mzsch.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h if_mzsch.h
proto.h errors.h globals.h if_mzsch.h
objects/if_perl.o: auto/if_perl.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/if_perlsfio.o: if_perlsfio.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/if_python.o: if_python.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h if_py_both.h
proto.h errors.h globals.h if_py_both.h
objects/if_python3.o: if_python3.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h if_py_both.h
proto.h errors.h globals.h if_py_both.h
objects/if_tcl.o: if_tcl.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/if_ruby.o: if_ruby.c protodef.h auto/config.h vim.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h version.h
proto.h errors.h globals.h version.h
objects/gui_beval.o: gui_beval.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/netbeans.o: netbeans.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h version.h
proto.h errors.h globals.h version.h
objects/channel.o: channel.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
proto.h errors.h globals.h
objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c
objects/vterm_encoding.o: libvterm/src/encoding.c libvterm/src/vterm_internal.h \
libvterm/include/vterm.h libvterm/include/vterm_keycodes.h \
@@ -4441,7 +4431,7 @@ objects/xdiffi.o: xdiff/xdiffi.c xdiff/xinclude.h auto/config.h \
auto/osdef.h ascii.h keymap.h term.h \
macros.h option.h beval.h proto/gui_beval.pro \
structs.h regexp.h gui.h alloc.h \
ex_cmds.h spell.h proto.h globals.h \
ex_cmds.h spell.h proto.h errors.h globals.h \
xdiff/xtypes.h xdiff/xutils.h xdiff/xprepare.h xdiff/xdiffi.h \
xdiff/xemit.h
objects/xemit.o: xdiff/xemit.c xdiff/xinclude.h auto/config.h \
@@ -4450,7 +4440,7 @@ objects/xemit.o: xdiff/xemit.c xdiff/xinclude.h auto/config.h \
auto/osdef.h ascii.h keymap.h term.h \
macros.h option.h beval.h proto/gui_beval.pro \
structs.h regexp.h gui.h alloc.h \
ex_cmds.h spell.h proto.h globals.h \
ex_cmds.h spell.h proto.h errors.h globals.h \
xdiff/xtypes.h xdiff/xutils.h xdiff/xprepare.h xdiff/xdiffi.h \
xdiff/xemit.h
objects/xprepare.o: xdiff/xprepare.c xdiff/xinclude.h auto/config.h \
@@ -4459,7 +4449,7 @@ objects/xprepare.o: xdiff/xprepare.c xdiff/xinclude.h auto/config.h \
auto/osdef.h ascii.h keymap.h term.h \
macros.h option.h beval.h proto/gui_beval.pro \
structs.h regexp.h gui.h alloc.h \
ex_cmds.h spell.h proto.h globals.h \
ex_cmds.h spell.h proto.h errors.h globals.h \
xdiff/xtypes.h xdiff/xutils.h xdiff/xprepare.h xdiff/xdiffi.h \
xdiff/xemit.h
objects/xutils.o: xdiff/xutils.c xdiff/xinclude.h auto/config.h \
@@ -4468,7 +4458,7 @@ objects/xutils.o: xdiff/xutils.c xdiff/xinclude.h auto/config.h \
auto/osdef.h ascii.h keymap.h term.h \
macros.h option.h beval.h proto/gui_beval.pro \
structs.h regexp.h gui.h alloc.h \
ex_cmds.h spell.h proto.h globals.h \
ex_cmds.h spell.h proto.h errors.h globals.h \
xdiff/xtypes.h xdiff/xutils.h xdiff/xprepare.h xdiff/xdiffi.h \
xdiff/xemit.h
objects/xhistogram.o: xdiff/xhistogram.c xdiff/xinclude.h auto/config.h \
@@ -4477,7 +4467,7 @@ objects/xhistogram.o: xdiff/xhistogram.c xdiff/xinclude.h auto/config.h \
auto/osdef.h ascii.h keymap.h term.h \
macros.h option.h beval.h proto/gui_beval.pro \
structs.h regexp.h gui.h alloc.h \
ex_cmds.h spell.h proto.h globals.h \
ex_cmds.h spell.h proto.h errors.h globals.h \
xdiff/xtypes.h xdiff/xutils.h xdiff/xprepare.h xdiff/xdiffi.h \
xdiff/xemit.h
objects/xpatience.o: xdiff/xpatience.c xdiff/xinclude.h auto/config.h \
@@ -4486,6 +4476,6 @@ objects/xpatience.o: xdiff/xpatience.c xdiff/xinclude.h auto/config.h \
auto/osdef.h ascii.h keymap.h term.h \
macros.h option.h beval.h proto/gui_beval.pro \
structs.h regexp.h gui.h alloc.h \
ex_cmds.h spell.h proto.h globals.h \
ex_cmds.h spell.h proto.h errors.h globals.h \
xdiff/xtypes.h xdiff/xutils.h xdiff/xprepare.h xdiff/xdiffi.h \
xdiff/xemit.h
+17
View File
@@ -14705,6 +14705,23 @@ $as_echo "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
# MacVim: Hack to statically link against libintl instead of dynamic link, as we can't distribute app bundles with
# external linkage dependencies. Clang doesn't support any way to specify static linkage as it prefers dynamic
# linkage if a dylib exists in the same folder, and as such we have to manually specify the library path instead
# of using -l<lib> syntax. This also means it won't work with AC_TRY_LINK as specifying full lib path only works
# if you have separate compile/link stages but AC_TRY_LINK just compiles/link in one command.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libintl.a" >&5
$as_echo_n "checking for libintl.a... " >&6; }
if test -f ${local_dir}/lib/libintl.a; then
LIBS="$olibs ${local_dir}/lib/libintl.a"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Using ${local_dir}/lib/libintl.a instead of -lintl" >&5
$as_echo "Using ${local_dir}/lib/libintl.a instead of -lintl" >&6; };
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: libintl.a not found - keeping using -lintl" >&5
$as_echo "libintl.a not found - keeping using -lintl" >&6; };
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if msgfmt supports --desktop" >&5
$as_echo_n "checking if msgfmt supports --desktop... " >&6; }
MSGFMT_DESKTOP=
+14
View File
@@ -4425,6 +4425,20 @@ if test "$enable_nls" = "yes"; then
[++_nl_msg_cat_cntr;],
AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_NL_MSG_CAT_CNTR),
AC_MSG_RESULT([no]))
# MacVim: Hack to statically link against libintl instead of dynamic link, as we can't distribute app bundles with
# external linkage dependencies. Clang doesn't support any way to specify static linkage as it prefers dynamic
# linkage if a dylib exists in the same folder, and as such we have to manually specify the library path instead
# of using -l<lib> syntax. This also means it won't work with AC_TRY_LINK as specifying full lib path only works
# if you have separate compile/link stages but AC_TRY_LINK just compiles/link in one command.
AC_MSG_CHECKING([for libintl.a])
if test -f ${local_dir}/lib/libintl.a; then
LIBS="$olibs ${local_dir}/lib/libintl.a"
AC_MSG_RESULT([Using ${local_dir}/lib/libintl.a instead of -lintl]);
else
AC_MSG_RESULT([libintl.a not found - keeping using -lintl]);
fi
AC_MSG_CHECKING([if msgfmt supports --desktop])
MSGFMT_DESKTOP=
if "$MSGFMT" --help | grep -e '--desktop' >/dev/null; then
+1
View File
@@ -1,6 +1,7 @@
The MIT License (MIT)
Copyright (c) 2008-2014 Andrey Tarantsov
Copyright (c) 2020 Andrew Janke
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+1 -2
View File
@@ -1,2 +1 @@
Content of this directory (except background.png) is copied from
https://github.com/andreyvit/create-dmg (5acf22f).
Content of this directory is copied from https://github.com/create-dmg/create-dmg (v1.0.8 / 0985398).
+102
View File
@@ -0,0 +1,102 @@
create-dmg
==========
A shell script to build fancy DMGs.
Status and contribution policy
------------------------------
Create-dmg is maintained thanks to the contributors who send pull requests.
As of May 2020, [Andrew Janke](https://github.com/apjanke) is the primary maintainer, and (since September 2018) [@aonez](https://github.com/aonez) has helped with the maintenance.
The project home page is <https://github.com/create-dmg/create-dmg>.
We will merge any pull request that adds something useful and does not break existing things.
If you're an active user and want to be a maintainer, or just want to chat, please ping us on Gitter at [gitter.im/create-dmg/Lobby](https://gitter.im/create-dmg/Lobby), or [email Andrew directly](floss@apjanke.net).
Create-dmg was originally created by [Andrey Tarantsov](https://github.com/andreyvit).
Installation
------------
- You can install this script using [Homebrew](https://brew.sh):
```sh
brew install create-dmg
```
- You can download the [latest release](https://github.com/create-dmg/create-dmg/releases/latest) and install it from there:
```sh
make install
```
- You can also clone the entire repository and run it locally from there:
```sh
git clone https://github.com/create-dmg/create-dmg.git
```
Usage
-----
```sh
create-dmg [options ...] <output_name.dmg> <source_folder>
```
All contents of source\_folder will be copied into the disk image.
**Options:**
- **--volname \<name\>:** set volume name (displayed in the Finder sidebar and window title)
- **--volicon \<icon.icns\>:** set volume icon
- **--background \<pic.png\>:** set folder background image (provide png, gif, jpg)
- **--window-pos \<x\> \<y\>:** set position the folder window
- **--window-size \<width\> \<height\>:** set size of the folder window
- **--text-size \<text_size\>:** set window text size (10-16)
- **--icon-size \<icon_size\>:** set window icons size (up to 128)
- **--icon \<file_name\> \<x\> \<y\>:** set position of the file's icon
- **--hide-extension \<file_name\>:** hide the extension of file
- **--custom-icon \<file_name|custom_icon|sample_file\> \<x\> \<y\>:** set position and -tom icon
- **--app-drop-link \<x\> \<y\>:** make a drop link to Applications, at location x, y
- **--ql-drop-link \<x\> \<y\>:** make a drop link to /Library/QuickLook, at location x, y
- **--eula \<eula_file\>:** attach a license file to the dmg
- **--rez \<rez_path\>:** specify custom path to Rez tool used to include license file
- **--no-internet-enable:** disable automatic mount&copy
- **--format:** specify the final image format (default is UDZO)
- **--add-file \<target_name\> \<file|folder\> \<x\> \<y\>:** add additional file or folder (can be used multiple times)
- **--disk-image-size \<x\>:** set the disk image size manually to x MB
- **--hdiutil-verbose:** execute hdiutil in verbose mode
- **--hdiutil-quiet:** execute hdiutil in quiet mode
- **--sandbox-safe:** execute hdiutil with sandbox compatibility and do not bless
- **--version:** show tool version number
- **-h, --help:** display the help
Example
-------
```sh
#!/bin/sh
test -f Application-Installer.dmg && rm Application-Installer.dmg
create-dmg \
--volname "Application Installer" \
--volicon "application_icon.icns" \
--background "installer_background.png" \
--window-pos 200 120 \
--window-size 800 400 \
--icon-size 100 \
--icon "Application.app" 200 190 \
--hide-extension "Application.app" \
--app-drop-link 600 185 \
"Application-Installer.dmg" \
"source_folder/"
```
See the `examples` folder in the source tree for more examples.
Alternatives
------------
- [node-appdmg](https://github.com/LinusU/node-appdmg)
- [dmgbuild](https://pypi.python.org/pypi/dmgbuild)
- see the [StackOverflow question](http://stackoverflow.com/questions/96882/how-do-i-create-a-nice-looking-dmg-for-mac-os-x-using-command-line-tools)
+376 -168
View File
@@ -1,53 +1,15 @@
#! /bin/bash
#!/usr/bin/env bash
# Create a read-only disk image of the contents of a folder
# Bail out on any unhandled errors
set -e;
function pure_version() {
echo '1.0.0.2'
}
CDMG_VERSION='1.0.8'
function version() {
echo "create-dmg $(pure_version)"
}
function usage() {
version
echo "Creates a fancy DMG file."
echo "Usage: $(basename $0) options... image.dmg source_folder"
echo "All contents of source_folder will be copied into the disk image."
echo "Options:"
echo " --volname name"
echo " set volume name (displayed in the Finder sidebar and window title)"
echo " --volicon icon.icns"
echo " set volume icon"
echo " --background pic.png"
echo " set folder background image (provide png, gif, jpg)"
echo " --window-pos x y"
echo " set position the folder window"
echo " --window-size width height"
echo " set size of the folder window"
echo " --text-size text_size"
echo " set window text size (10-16)"
echo " --icon-size icon_size"
echo " set window icons size (up to 128)"
echo " --icon file_name x y"
echo " set position of the file's icon"
echo " --hide-extension file_name"
echo " hide the extension of file"
echo " --custom-icon file_name custom_icon_or_sample_file x y"
echo " set position and custom icon"
echo " --app-drop-link x y"
echo " make a drop link to Applications, at location x,y"
echo " --eula eula_file"
echo " attach a license file to the dmg"
echo " --no-internet-enable"
echo " disable automatic mount&copy"
echo " --version show tool version number"
echo " -h, --help display this help"
exit 0
}
# The full path to the "support/" directory this script is using
# (This will be set up by code later in the script.)
CDMG_SUPPORT_DIR=""
WINX=10
WINY=60
@@ -55,176 +17,422 @@ WINW=500
WINH=350
ICON_SIZE=128
TEXT_SIZE=16
FORMAT="UDZO"
ADD_FILE_SOURCES=()
ADD_FILE_TARGETS=()
IMAGEKEY=""
HDIUTIL_VERBOSITY=""
SANDBOX_SAFE=0
SKIP_JENKINS=0
while test "${1:0:1}" = "-"; do
case $1 in
--volname)
VOLUME_NAME="$2"
shift; shift;;
--volicon)
VOLUME_ICON_FILE="$2"
shift; shift;;
--background)
BACKGROUND_FILE="$2"
BACKGROUND_FILE_NAME="$(basename $BACKGROUND_FILE)"
BACKGROUND_CLAUSE="set background picture of opts to file \".background:$BACKGROUND_FILE_NAME\""
REPOSITION_HIDDEN_FILES_CLAUSE="set position of every item to {theBottomRightX + 100, 100}"
shift; shift;;
--icon-size)
ICON_SIZE="$2"
shift; shift;;
--text-size)
TEXT_SIZE="$2"
shift; shift;;
--window-pos)
WINX=$2; WINY=$3
shift; shift; shift;;
--window-size)
WINW=$2; WINH=$3
shift; shift; shift;;
--icon)
POSITION_CLAUSE="${POSITION_CLAUSE}set position of item \"$2\" to {$3, $4}
"
shift; shift; shift; shift;;
--hide-extension)
HIDING_CLAUSE="${HIDING_CLAUSE}set the extension hidden of item \"$2\" to true
"
shift; shift;;
--custom-icon)
shift; shift; shift; shift; shift;;
-h | --help)
usage;;
--version)
version; exit 0;;
--pure-version)
pure_version; exit 0;;
--app-drop-link)
APPLICATION_LINK=$2
APPLICATION_CLAUSE="set position of item \"Applications\" to {$2, $3}
"
shift; shift; shift;;
--eula)
EULA_RSRC=$2
shift; shift;;
--no-internet-enable)
NOINTERNET=1
shift;;
-*)
echo "Unknown option $1. Run with --help for help."
exit 1;;
esac
done
test -z "$2" && {
echo "Not enough arguments. Invoke with --help for help."
exit 1
function pure_version() {
echo "$CDMG_VERSION"
}
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
function version() {
echo "create-dmg $(pure_version)"
}
function usage() {
version
cat <<EOHELP
Creates a fancy DMG file.
Usage: $(basename $0) [options] <output_name.dmg> <source_folder>
All contents of <source_folder> will be copied into the disk image.
Options:
--volname <name>
set volume name (displayed in the Finder sidebar and window title)
--volicon <icon.icns>
set volume icon
--background <pic.png>
set folder background image (provide png, gif, or jpg)
--window-pos <x> <y>
set position the folder window
--window-size <width> <height>
set size of the folder window
--text-size <text_size>
set window text size (10-16)
--icon-size <icon_size>
set window icons size (up to 128)
--icon file_name <x> <y>
set position of the file's icon
--hide-extension <file_name>
hide the extension of file
--custom-icon <file_name> <custom_icon_or_sample_file> <x> <y>
set position and custom icon
--app-drop-link <x> <y>
make a drop link to Applications, at location x,y
--ql-drop-link <x> <y>
make a drop link to user QuickLook install dir, at location x,y
--eula <eula_file>
attach a license file to the dmg (plain text or RTF)
--no-internet-enable
disable automatic mount & copy
--format <format>
specify the final image format (default is UDZO)
--add-file <target_name> <file>|<folder> <x> <y>
add additional file or folder (can be used multiple times)
--disk-image-size <x>
set the disk image size manually to x MB
--hdiutil-verbose
execute hdiutil in verbose mode
--hdiutil-quiet
execute hdiutil in quiet mode
--sandbox-safe
execute hdiutil with sandbox compatibility and do not bless
--rez <rez_path>
use custom path to Rez tool
--version
show create-dmg version number
-h, --help
display this help screen
EOHELP
exit 0
}
# Argument parsing
while [[ "${1:0:1}" = "-" ]]; do
case $1 in
--volname)
VOLUME_NAME="$2"
shift; shift;;
--volicon)
VOLUME_ICON_FILE="$2"
shift; shift;;
--background)
BACKGROUND_FILE="$2"
BACKGROUND_FILE_NAME="$(basename "$BACKGROUND_FILE")"
BACKGROUND_CLAUSE="set background picture of opts to file \".background:$BACKGROUND_FILE_NAME\""
REPOSITION_HIDDEN_FILES_CLAUSE="set position of every item to {theBottomRightX + 100, 100}"
shift; shift;;
--icon-size)
ICON_SIZE="$2"
shift; shift;;
--text-size)
TEXT_SIZE="$2"
shift; shift;;
--window-pos)
WINX=$2; WINY=$3
shift; shift; shift;;
--window-size)
WINW=$2; WINH=$3
shift; shift; shift;;
--icon)
POSITION_CLAUSE="${POSITION_CLAUSE}set position of item \"$2\" to {$3, $4}
"
shift; shift; shift; shift;;
--hide-extension)
HIDING_CLAUSE="${HIDING_CLAUSE}set the extension hidden of item \"$2\" to true
"
shift; shift;;
--custom-icon)
shift; shift; shift; shift; shift;;
-h | --help)
usage;;
--version)
version; exit 0;;
--pure-version)
pure_version; exit 0;;
--ql-drop-link)
QL_LINK=$2
QL_CLAUSE="set position of item \"QuickLook\" to {$2, $3}
"
shift; shift; shift;;
--app-drop-link)
APPLICATION_LINK=$2
APPLICATION_CLAUSE="set position of item \"Applications\" to {$2, $3}
"
shift; shift; shift;;
--eula)
EULA_RSRC=$2
shift; shift;;
--no-internet-enable)
NOINTERNET=1
shift;;
--format)
FORMAT="$2"
shift; shift;;
--add-file | --add-folder)
ADD_FILE_TARGETS+=("$2")
ADD_FILE_SOURCES+=("$3")
POSITION_CLAUSE="${POSITION_CLAUSE}
set position of item \"$2\" to {$4, $5}
"
shift; shift; shift; shift; shift;;
--disk-image-size)
DISK_IMAGE_SIZE="$2"
shift; shift;;
--hdiutil-verbose)
HDIUTIL_VERBOSITY='-verbose'
shift;;
--hdiutil-quiet)
HDIUTIL_VERBOSITY='-quiet'
shift;;
--sandbox-safe)
SANDBOX_SAFE=1
shift;;
--rez)
REZ_PATH="$2"
shift; shift;;
--skip-jenkins)
SKIP_JENKINS=1
shift;;
-*)
echo "Unknown option: $1. Run 'create-dmg --help' for help."
exit 1;;
esac
case $FORMAT in
UDZO)
IMAGEKEY="-imagekey zlib-level=9";;
UDBZ)
IMAGEKEY="-imagekey bzip2-level=9";;
*)
echo >&2 "Unknown format: $FORMAT"
exit 1;;
esac
done
if [[ -z "$2" ]]; then
echo "Not enough arguments. Run 'create-dmg --help' for help."
exit 1
fi
DMG_PATH="$1"
SRC_FOLDER="$(cd "$2" > /dev/null; pwd)"
# Main script logic
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
DMG_DIRNAME="$(dirname "$DMG_PATH")"
DMG_DIR="$(cd "$DMG_DIRNAME" > /dev/null; pwd)"
DMG_NAME="$(basename "$DMG_PATH")"
DMG_TEMP_NAME="$DMG_DIR/rw.${DMG_NAME}"
SRC_FOLDER="$(cd "$2" > /dev/null; pwd)"
test -z "$VOLUME_NAME" && VOLUME_NAME="$(basename "$DMG_PATH" .dmg)"
AUX_PATH="$SCRIPT_DIR/support"
# Detect where we're running from
test -d "$AUX_PATH" || {
echo "Cannot find support directory: $AUX_PATH"
exit 1
}
sentinel_file="$SCRIPT_DIR/.this-is-the-create-dmg-repo"
if [[ -f "$sentinel_file" ]]; then
# We're running from inside a repo
CDMG_SUPPORT_DIR="$SCRIPT_DIR/support"
else
# We're running inside an installed location
bin_dir="$SCRIPT_DIR"
prefix_dir=$(dirname "$bin_dir")
CDMG_SUPPORT_DIR="$prefix_dir/share/create-dmg/support"
fi
if [ -f "$SRC_FOLDER/.DS_Store" ]; then
echo "Deleting any .DS_Store in source folder"
rm "$SRC_FOLDER/.DS_Store"
if [[ -z "$VOLUME_NAME" ]]; then
VOLUME_NAME="$(basename "$DMG_PATH" .dmg)"
fi
if [[ ! -d "$CDMG_SUPPORT_DIR" ]]; then
echo >&2 "Cannot find support/ directory: expected at: $CDMG_SUPPORT_DIR"
exit 1
fi
if [[ -f "$SRC_FOLDER/.DS_Store" ]]; then
echo "Deleting .DS_Store found in source folder"
rm "$SRC_FOLDER/.DS_Store"
fi
# Create the image
echo "Creating disk image..."
test -f "${DMG_TEMP_NAME}" && rm -f "${DMG_TEMP_NAME}"
ACTUAL_SIZE=`du -sm "$SRC_FOLDER" | sed -e 's/ .*//g'`
DISK_IMAGE_SIZE=$(expr $ACTUAL_SIZE + 20)
hdiutil create -srcfolder "$SRC_FOLDER" -volname "${VOLUME_NAME}" -fs HFS+ -fsargs "-c c=64,a=16,e=16" -format UDRW -size ${DISK_IMAGE_SIZE}m "${DMG_TEMP_NAME}"
if [[ -f "${DMG_TEMP_NAME}" ]]; then
rm -f "${DMG_TEMP_NAME}"
fi
# Use Megabytes since hdiutil fails with very large byte numbers
function blocks_to_megabytes() {
# Add 1 extra MB, since there's no decimal retention here
MB_SIZE=$((($1 * 512 / 1000 / 1000) + 1))
echo $MB_SIZE
}
function get_size() {
# Get block size in disk
bytes_size=$(du -s "$1" | sed -e 's/ .*//g')
echo $(blocks_to_megabytes $bytes_size)
}
# Create the DMG with the specified size or the hdiutil estimation
CUSTOM_SIZE=''
if [[ -n "$DISK_IMAGE_SIZE" ]]; then
CUSTOM_SIZE="-size ${DISK_IMAGE_SIZE}m"
fi
if [[ $SANDBOX_SAFE -eq 0 ]]; then
hdiutil create ${HDIUTIL_VERBOSITY} -srcfolder "$SRC_FOLDER" -volname "${VOLUME_NAME}" \
-fs HFS+ -fsargs "-c c=64,a=16,e=16" -format UDRW ${CUSTOM_SIZE} "${DMG_TEMP_NAME}"
else
hdiutil makehybrid ${HDIUTIL_VERBOSITY} -default-volume-name "${VOLUME_NAME}" -hfs -o "${DMG_TEMP_NAME}" "$SRC_FOLDER"
hdiutil convert -format UDRW -ov -o "${DMG_TEMP_NAME}" "${DMG_TEMP_NAME}"
DISK_IMAGE_SIZE_CUSTOM=$DISK_IMAGE_SIZE
fi
# Get the created DMG actual size
DISK_IMAGE_SIZE=$(get_size "${DMG_TEMP_NAME}")
# Use the custom size if bigger
if [[ $SANDBOX_SAFE -eq 1 ]] && [[ ! -z "$DISK_IMAGE_SIZE_CUSTOM" ]] && [[ $DISK_IMAGE_SIZE_CUSTOM -gt $DISK_IMAGE_SIZE ]]; then
DISK_IMAGE_SIZE=$DISK_IMAGE_SIZE_CUSTOM
fi
# Estimate the additional soruces size
if [[ -n "$ADD_FILE_SOURCES" ]]; then
for i in "${!ADD_FILE_SOURCES[@]}"; do
SOURCE_SIZE=$(get_size "${ADD_FILE_SOURCES[$i]}")
DISK_IMAGE_SIZE=$(expr $DISK_IMAGE_SIZE + $SOURCE_SIZE)
done
fi
# Add extra space for additional resources
DISK_IMAGE_SIZE=$(expr $DISK_IMAGE_SIZE + 20)
# Resize the image for the extra stuff
hdiutil resize ${HDIUTIL_VERBOSITY} -size ${DISK_IMAGE_SIZE}m "${DMG_TEMP_NAME}"
# Mount the new DMG
# mount it
echo "Mounting disk image..."
MOUNT_DIR="/Volumes/${VOLUME_NAME}"
# try unmount dmg if it was mounted previously (e.g. developer mounted dmg, installed app and forgot to unmount it)
echo "Unmounting disk image..."
DEV_NAME=$(hdiutil info | egrep '^/dev/' | sed 1q | awk '{print $1}')
test -d "${MOUNT_DIR}" && hdiutil detach "${DEV_NAME}"
# Unmount leftover dmg if it was mounted previously (e.g. developer mounted dmg, installed app and forgot to unmount it)
if [[ -d "${MOUNT_DIR}" ]]; then
echo "Unmounting old disk image from $MOUNT_DIR..."
DEV_NAME=$(hdiutil info | egrep --color=never '^/dev/' | sed 1q | awk '{print $1}')
hdiutil detach "${DEV_NAME}"
fi
echo "Mounting disk image..."
echo "Mount directory: $MOUNT_DIR"
DEV_NAME=$(hdiutil attach -readwrite -noverify -noautoopen "${DMG_TEMP_NAME}" | egrep '^/dev/' | sed 1q | awk '{print $1}')
DEV_NAME=$(hdiutil attach -readwrite -noverify -noautoopen "${DMG_TEMP_NAME}" | egrep --color=never '^/dev/' | sed 1q | awk '{print $1}')
echo "Device name: $DEV_NAME"
if ! test -z "$BACKGROUND_FILE"; then
echo "Copying background file..."
test -d "$MOUNT_DIR/.background" || mkdir "$MOUNT_DIR/.background"
cp "$BACKGROUND_FILE" "$MOUNT_DIR/.background/$BACKGROUND_FILE_NAME"
if [[ -n "$BACKGROUND_FILE" ]]; then
echo "Copying background file..."
[[ -d "$MOUNT_DIR/.background" ]] || mkdir "$MOUNT_DIR/.background"
cp "$BACKGROUND_FILE" "$MOUNT_DIR/.background/$BACKGROUND_FILE_NAME"
fi
if ! test -z "$APPLICATION_LINK"; then
echo "making link to Applications dir"
echo $MOUNT_DIR
ln -s /Applications "$MOUNT_DIR/Applications"
if [[ -n "$APPLICATION_LINK" ]]; then
echo "Making link to Applications dir..."
echo $MOUNT_DIR
ln -s /Applications "$MOUNT_DIR/Applications"
fi
if ! test -z "$VOLUME_ICON_FILE"; then
echo "Copying volume icon file '$VOLUME_ICON_FILE'..."
cp "$VOLUME_ICON_FILE" "$MOUNT_DIR/.VolumeIcon.icns"
SetFile -c icnC "$MOUNT_DIR/.VolumeIcon.icns"
if [[ -n "$QL_LINK" ]]; then
echo "Making link to QuickLook install dir..."
echo $MOUNT_DIR
ln -s "/Library/QuickLook" "$MOUNT_DIR/QuickLook"
fi
# run applescript
APPLESCRIPT=$(mktemp -t createdmg)
cat "$AUX_PATH/template.applescript" | sed -e "s/WINX/$WINX/g" -e "s/WINY/$WINY/g" -e "s/WINW/$WINW/g" -e "s/WINH/$WINH/g" -e "s/BACKGROUND_CLAUSE/$BACKGROUND_CLAUSE/g" -e "s/REPOSITION_HIDDEN_FILES_CLAUSE/$REPOSITION_HIDDEN_FILES_CLAUSE/g" -e "s/ICON_SIZE/$ICON_SIZE/g" -e "s/TEXT_SIZE/$TEXT_SIZE/g" | perl -pe "s/POSITION_CLAUSE/$POSITION_CLAUSE/g" | perl -pe "s/APPLICATION_CLAUSE/$APPLICATION_CLAUSE/g" | perl -pe "s/HIDING_CLAUSE/$HIDING_CLAUSE/" >"$APPLESCRIPT"
if [[ -n "$VOLUME_ICON_FILE" ]]; then
echo "Copying volume icon file '$VOLUME_ICON_FILE'..."
cp "$VOLUME_ICON_FILE" "$MOUNT_DIR/.VolumeIcon.icns"
SetFile -c icnC "$MOUNT_DIR/.VolumeIcon.icns"
fi
echo "Running Applescript: /usr/bin/osascript \"${APPLESCRIPT}\" \"${VOLUME_NAME}\""
"/usr/bin/osascript" "${APPLESCRIPT}" "${VOLUME_NAME}" || true
echo "Done running the applescript..."
sleep 4
if [[ -n "$ADD_FILE_SOURCES" ]]; then
echo "Copying custom files..."
for i in "${!ADD_FILE_SOURCES[@]}"; do
echo "${ADD_FILE_SOURCES[$i]}"
cp -a "${ADD_FILE_SOURCES[$i]}" "$MOUNT_DIR/${ADD_FILE_TARGETS[$i]}"
done
fi
rm "$APPLESCRIPT"
# Run AppleScript to do all the Finder cosmetic stuff
APPLESCRIPT_FILE=$(mktemp -t createdmg.tmp.XXXXXXXXXX)
if [[ $SANDBOX_SAFE -eq 1 ]]; then
echo "Skipping Finder-prettifying AppleScript because we are in Sandbox..."
else
if [[ $SKIP_JENKINS -eq 0 ]]; then
cat "$CDMG_SUPPORT_DIR/template.applescript" \
| sed -e "s/WINX/$WINX/g" -e "s/WINY/$WINY/g" -e "s/WINW/$WINW/g" \
-e "s/WINH/$WINH/g" -e "s/BACKGROUND_CLAUSE/$BACKGROUND_CLAUSE/g" \
-e "s/REPOSITION_HIDDEN_FILES_CLAUSE/$REPOSITION_HIDDEN_FILES_CLAUSE/g" \
-e "s/ICON_SIZE/$ICON_SIZE/g" -e "s/TEXT_SIZE/$TEXT_SIZE/g" \
| perl -pe "s/POSITION_CLAUSE/$POSITION_CLAUSE/g" \
| perl -pe "s/QL_CLAUSE/$QL_CLAUSE/g" \
| perl -pe "s/APPLICATION_CLAUSE/$APPLICATION_CLAUSE/g" \
| perl -pe "s/HIDING_CLAUSE/$HIDING_CLAUSE/" \
> "$APPLESCRIPT_FILE"
sleep 2 # pause to workaround occasional "Cant get disk" (-1728) issues
echo "Running AppleScript to make Finder stuff pretty: /usr/bin/osascript \"${APPLESCRIPT_FILE}\" \"${VOLUME_NAME}\""
if /usr/bin/osascript "${APPLESCRIPT_FILE}" "${VOLUME_NAME}"; then
# Okay, we're cool
true
else
echo >&2 "Failed running AppleScript"
hdiutil detach "${DEV_NAME}"
exit 64
fi
echo "Done running the AppleScript..."
sleep 4
rm "$APPLESCRIPT_FILE"
fi
fi
# make sure it's not world writeable
# Make sure it's not world writeable
echo "Fixing permissions..."
chmod -Rf go-w "${MOUNT_DIR}" &> /dev/null || true
echo "Done fixing permissions."
echo "Done fixing permissions"
# make the top window open itself on mount:
echo "Blessing started"
bless --folder "${MOUNT_DIR}" --openfolder "${MOUNT_DIR}"
echo "Blessing finished"
if ! test -z "$VOLUME_ICON_FILE"; then
# tell the volume that it has a special file attribute
SetFile -a C "$MOUNT_DIR"
# Make the top window open itself on mount:
if [[ $SANDBOX_SAFE -eq 0 ]]; then
echo "Blessing started"
bless --folder "${MOUNT_DIR}" --openfolder "${MOUNT_DIR}"
echo "Blessing finished"
else
echo "Skipping blessing on sandbox"
fi
# unmount
if [[ -n "$VOLUME_ICON_FILE" ]]; then
# Tell the volume that it has a special file attribute
SetFile -a C "$MOUNT_DIR"
fi
# Unmount
echo "Unmounting disk image..."
hdiutil detach "${DEV_NAME}"
# compress image
# Compress image
echo "Compressing disk image..."
hdiutil convert "${DMG_TEMP_NAME}" -format UDZO -imagekey zlib-level=9 -o "${DMG_DIR}/${DMG_NAME}"
hdiutil convert ${HDIUTIL_VERBOSITY} "${DMG_TEMP_NAME}" -format ${FORMAT} ${IMAGEKEY} -o "${DMG_DIR}/${DMG_NAME}"
rm -f "${DMG_TEMP_NAME}"
# adding EULA resources
if [ ! -z "${EULA_RSRC}" -a "${EULA_RSRC}" != "-null-" ]; then
echo "adding EULA resources"
"${AUX_PATH}/dmg-license.py" "${DMG_DIR}/${DMG_NAME}" "${EULA_RSRC}"
# Adding EULA resources
if [[ -n "${EULA_RSRC}" && "${EULA_RSRC}" != "-null-" ]]; then
echo "Adding EULA resources..."
REZ_ARG=""
if [[ -n "${REZ_PATH}" && "${REZ_PATH}" != "-null-" ]]; then
REZ_ARG="--rez ${REZ_PATH}"
else
xcode_path=$(xcode-select -p)
default_rez="$xcode_path/Tools/Rez"
REZ_ARG="--rez ${default_rez}"
fi
"${CDMG_SUPPORT_DIR}/licenseDMG.py" "${DMG_DIR}/${DMG_NAME}" "${EULA_RSRC}" ${REZ_ARG}
fi
if [ ! -z "${NOINTERNET}" -a "${NOINTERNET}" == 1 ]; then
echo "not setting 'internet-enable' on the dmg"
# Enable "internet", whatever that is
if [[ ! -z "${NOINTERNET}" && "${NOINTERNET}" == 1 ]]; then
echo "Not setting 'internet-enable' on the dmg, per caller request"
else
hdiutil internet-enable -yes "${DMG_DIR}/${DMG_NAME}"
# Check if hdiutil supports internet-enable
# Support was removed in macOS 10.15. See https://github.com/andreyvit/create-dmg/issues/76
if hdiutil internet-enable -help >/dev/null 2>/dev/null; then
hdiutil internet-enable -yes "${DMG_DIR}/${DMG_NAME}"
else
echo "hdiutil does not support internet-enable. Note it was removed in macOS 10.15."
fi
fi
# All done!
echo "Disk image done"
exit 0
@@ -0,0 +1,35 @@
# create-dmg Developer Notes
## Repo layout
- `create-dmg` in the root of the repo is the main program
- `support/` contains auxiliary scripts used by `create-dmg`; it must be at that relative position to `create-dmg`
- `builder/` contains ????
- `examples/` contains user-facing examples
- `tests/` contains regression tests for developers
- `doc-project/` contains developer-facing documentation about this project
### tests/
The `tests/` folder contains regression tests for developers.
Each test is in its own subfolder.
Each subfolder name should start with a 3-digit number that is the number of the corresponding bug report in create-dmg's GitHub issue tracker.
The tests are to be run manually, with the results examined manually.
There's no automated script to run them as a suite and check their results.
That might be nice to have.
### examples/
Each example is in its own subfolder.
The subfolder prefix number is arbitrary; these numbers should roughly be in order of "advancedness" of examples, so it makes sense for users to go through them in order.
## Versioning
As of May 2020, we're using SemVer versioning.
The old version numbers were 4-parters, like "1.0.0.7".
Now we use 3-part SemVer versions, like "1.0.8".
This change happened after version 1.0.0.7; 1.0.8 is the next release after 1.0.0.7.
The suffix "-SNAPSHOT" is used to denote a version that is still under development.
@@ -0,0 +1,10 @@
# Release Checklist
- Update the version in `create-dmg`'s `pure_version` function
- Remove the "-SNAPSHOT" suffix
- Commit
- Tag the release as `vX.X.X`
- `git push --tags`
- Create a release on the GitHub project page
- Open development on the next release
- Bump the version number and add a "-SNAPSHOT" suffix to it
Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

+25
View File
@@ -0,0 +1,25 @@
#!/usr/bin/env bash
if [[ -e ../../create-dmg ]]; then
# We're running from the repo
CREATE_DMG=../../create-dmg
else
# We're running from an installation under a prefix
CREATE_DMG=../../../../bin/create-dmg
fi
# Since create-dmg does not clobber, be sure to delete previous DMG
[[ -f Application-Installer.dmg ]] && rm Application-Installer.dmg
# Create the DMG
$CREATE_DMG \
--volname "Application Installer" \
--background "installer_background.png" \
--window-pos 200 120 \
--window-size 800 400 \
--icon-size 100 \
--icon "Application.app" 200 190 \
--hide-extension "Application.app" \
--app-drop-link 600 185 \
"Application-Installer.dmg" \
"source_folder/"
@@ -0,0 +1,19 @@
Copyright (c) 2015-2019 Jared Hobbs
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+7
View File
@@ -0,0 +1,7 @@
# create-dmg support files
## licenseDMG.py
The licenseDMG.py script is taken from Jared Hobbs' pyhacker library, at <https://bitbucket.org/jaredhobbs/pyhacker>.
See LICENSE-licenseDMG-pyhacker for licensing details.
-163
View File
@@ -1,163 +0,0 @@
#! /usr/bin/env python
"""
This script adds a license file to a DMG. Requires Xcode and a plain ascii text
license file.
Obviously only runs on a Mac.
Copyright (C) 2011-2013 Jared Hobbs
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
"""
import os
import sys
import tempfile
import optparse
class Path(str):
def __enter__(self):
return self
def __exit__(self, type, value, traceback):
os.unlink(self)
def mktemp(dir=None, suffix=''):
(fd, filename) = tempfile.mkstemp(dir=dir, suffix=suffix)
os.close(fd)
return Path(filename)
def main(options, args):
dmgFile, license = args
with mktemp('.') as tmpFile:
with open(tmpFile, 'w') as f:
f.write("""data 'TMPL' (128, "LPic") {
$"1344 6566 6175 6C74 204C 616E 6775 6167"
$"6520 4944 4457 5244 0543 6F75 6E74 4F43"
$"4E54 042A 2A2A 2A4C 5354 430B 7379 7320"
$"6C61 6E67 2049 4444 5752 441E 6C6F 6361"
$"6C20 7265 7320 4944 2028 6F66 6673 6574"
$"2066 726F 6D20 3530 3030 4457 5244 1032"
$"2D62 7974 6520 6C61 6E67 7561 6765 3F44"
$"5752 4404 2A2A 2A2A 4C53 5445"
};
data 'LPic' (5000) {
$"0000 0002 0000 0000 0000 0000 0004 0000"
};
data 'STR#' (5000, "English buttons") {
$"0006 0D45 6E67 6C69 7368 2074 6573 7431"
$"0541 6772 6565 0844 6973 6167 7265 6505"
$"5072 696E 7407 5361 7665 2E2E 2E7A 4966"
$"2079 6F75 2061 6772 6565 2077 6974 6820"
$"7468 6520 7465 726D 7320 6F66 2074 6869"
$"7320 6C69 6365 6E73 652C 2063 6C69 636B"
$"2022 4167 7265 6522 2074 6F20 6163 6365"
$"7373 2074 6865 2073 6F66 7477 6172 652E"
$"2020 4966 2079 6F75 2064 6F20 6E6F 7420"
$"6167 7265 652C 2070 7265 7373 2022 4469"
$"7361 6772 6565 2E22"
};
data 'STR#' (5002, "English") {
$"0006 0745 6E67 6C69 7368 0541 6772 6565"
$"0844 6973 6167 7265 6505 5072 696E 7407"
$"5361 7665 2E2E 2E7B 4966 2079 6F75 2061"
$"6772 6565 2077 6974 6820 7468 6520 7465"
$"726D 7320 6F66 2074 6869 7320 6C69 6365"
$"6E73 652C 2070 7265 7373 2022 4167 7265"
$"6522 2074 6F20 696E 7374 616C 6C20 7468"
$"6520 736F 6674 7761 7265 2E20 2049 6620"
$"796F 7520 646F 206E 6F74 2061 6772 6565"
$"2C20 7072 6573 7320 2244 6973 6167 7265"
$"6522 2E"
};\n\n""")
with open(license, 'r') as l:
kind = 'RTF ' if license.lower().endswith('.rtf') else 'TEXT'
f.write('data \'%s\' (5000, "English") {\n' % kind)
def escape(s):
return s.strip().replace('\\', '\\\\').replace('"', '\\"')
for line in l:
if len(line) < 1000:
f.write(' "' + escape(line) + '\\n"\n')
else:
for liner in line.split('.'):
f.write(' "' + escape(liner) + '. \\n"\n')
f.write('};\n\n')
f.write("""data 'styl' (5000, "English") {
$"0003 0000 0000 000C 0009 0014 0000 0000"
$"0000 0000 0000 0000 0027 000C 0009 0014"
$"0100 0000 0000 0000 0000 0000 002A 000C"
$"0009 0014 0000 0000 0000 0000 0000"
};\n""")
os.system('hdiutil unflatten -quiet "%s"' % dmgFile)
ret = os.system('%s -a %s -o "%s"' %
(options.rez, tmpFile, dmgFile))
os.system('hdiutil flatten -quiet "%s"' % dmgFile)
if options.compression is not None:
os.system('cp %s %s.temp.dmg' % (dmgFile, dmgFile))
os.remove(dmgFile)
if options.compression == "bz2":
os.system('hdiutil convert %s.temp.dmg -format UDBZ -o %s' %
(dmgFile, dmgFile))
elif options.compression == "gz":
os.system('hdiutil convert %s.temp.dmg -format ' % dmgFile +
'UDZO -imagekey zlib-devel=9 -o %s' % dmgFile)
os.remove('%s.temp.dmg' % dmgFile)
if ret == 0:
print "Successfully added license to '%s'" % dmgFile
else:
print "Failed to add license to '%s'" % dmgFile
if __name__ == '__main__':
parser = optparse.OptionParser()
parser.set_usage("""%prog <dmgFile> <licenseFile> [OPTIONS]
This program adds a software license agreement to a DMG file.
It requires Xcode and either a plain ascii text <licenseFile>
or a <licenseFile.rtf> with the RTF contents.
See --help for more details.""")
parser.add_option(
'--rez',
'-r',
action='store',
default='/Applications/Xcode.app/Contents/Developer/Tools/Rez',
help='The path to the Rez tool. Defaults to %default'
)
parser.add_option(
'--compression',
'-c',
action='store',
choices=['bz2', 'gz'],
default=None,
help='Optionally compress dmg using specified compression type. '
'Choices are bz2 and gz.'
)
options, args = parser.parse_args()
cond = len(args) != 2
if not os.path.exists(options.rez):
print 'Failed to find Rez at "%s"!\n' % options.rez
cond = True
if cond:
parser.print_usage()
sys.exit(1)
main(options, args)
+200
View File
@@ -0,0 +1,200 @@
#! /usr/bin/env python
"""
This script adds a license file to a DMG. Requires Xcode and a plain ascii text
license file or an RTF license file.
Obviously only runs on a Mac.
Copyright (C) 2011-2019 Jared Hobbs
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
"""
from __future__ import unicode_literals
from subprocess import check_call, check_output, call, CalledProcessError
import argparse
import logging as logger
import os
import sys
import tempfile
logger.basicConfig(format='%(message)s', level=logger.DEBUG)
class Path(str):
def __enter__(self):
return self
def __exit__(self, type, value, traceback):
os.unlink(self)
def mktemp(dir=None, suffix=''):
fd, filename = tempfile.mkstemp(dir=dir, suffix=suffix)
os.close(fd)
return Path(filename)
def escape(s):
return s.strip().replace('\\', '\\\\').replace('"', '\\"')
def main(options):
dmg_file = options.dmg_file
output = options.output or dmg_file
license = options.license_file
if dmg_file != output:
check_call(['cp', dmg_file, output])
dmg_file = output
with mktemp('.') as tmp_file:
with open(tmp_file, 'w') as f:
f.write("""\
data 'TMPL' (128, "LPic") {
$"1344 6566 6175 6C74 204C 616E 6775 6167"
$"6520 4944 4457 5244 0543 6F75 6E74 4F43"
$"4E54 042A 2A2A 2A4C 5354 430B 7379 7320"
$"6C61 6E67 2049 4444 5752 441E 6C6F 6361"
$"6C20 7265 7320 4944 2028 6F66 6673 6574"
$"2066 726F 6D20 3530 3030 4457 5244 1032"
$"2D62 7974 6520 6C61 6E67 7561 6765 3F44"
$"5752 4404 2A2A 2A2A 4C53 5445"
};
data 'LPic' (5000) {
$"0000 0002 0000 0000 0000 0000 0004 0000"
};
data 'STR#' (5000, "English buttons") {
$"0006 0D45 6E67 6C69 7368 2074 6573 7431"
$"0541 6772 6565 0844 6973 6167 7265 6505"
$"5072 696E 7407 5361 7665 2E2E 2E7A 4966"
$"2079 6F75 2061 6772 6565 2077 6974 6820"
$"7468 6520 7465 726D 7320 6F66 2074 6869"
$"7320 6C69 6365 6E73 652C 2063 6C69 636B"
$"2022 4167 7265 6522 2074 6F20 6163 6365"
$"7373 2074 6865 2073 6F66 7477 6172 652E"
$"2020 4966 2079 6F75 2064 6F20 6E6F 7420"
$"6167 7265 652C 2070 7265 7373 2022 4469"
$"7361 6772 6565 2E22"
};
data 'STR#' (5002, "English") {
$"0006 0745 6E67 6C69 7368 0541 6772 6565"
$"0844 6973 6167 7265 6505 5072 696E 7407"
$"5361 7665 2E2E 2E7B 4966 2079 6F75 2061"
$"6772 6565 2077 6974 6820 7468 6520 7465"
$"726D 7320 6F66 2074 6869 7320 6C69 6365"
$"6E73 652C 2070 7265 7373 2022 4167 7265"
$"6522 2074 6F20 696E 7374 616C 6C20 7468"
$"6520 736F 6674 7761 7265 2E20 2049 6620"
$"796F 7520 646F 206E 6F74 2061 6772 6565"
$"2C20 7072 6573 7320 2244 6973 6167 7265"
$"6522 2E"
};\n\n""")
with open(license, 'r') as l_file:
kind = 'RTF ' if license.lower().endswith('.rtf') else 'TEXT'
f.write('data \'{}\' (5000, "English") {{\n'.format(kind))
for line in l_file:
if len(line) < 1000:
f.write(' "{}\\n"\n'.format(escape(line)))
else:
for liner in line.split('.'):
f.write(' "{}. \\n"\n'.format(escape(liner)))
f.write('};\n\n')
f.write("""\
data 'styl' (5000, "English") {
$"0003 0000 0000 000C 0009 0014 0000 0000"
$"0000 0000 0000 0000 0027 000C 0009 0014"
$"0100 0000 0000 0000 0000 0000 002A 000C"
$"0009 0014 0000 0000 0000 0000 0000"
};\n""")
call(['hdiutil', 'unflatten', '-quiet', dmg_file])
ret = check_call([options.rez, '-a', tmp_file, '-o', dmg_file])
call(['hdiutil', 'flatten', '-quiet', dmg_file])
if options.compression is not None:
tmp_dmg = '{}.temp.dmg'.format(dmg_file)
check_call(['cp', dmg_file, tmp_dmg])
os.remove(dmg_file)
args = ['hdiutil', 'convert', tmp_dmg, '-quiet', '-format']
if options.compression == 'bz2':
args.append('UDBZ')
elif options.compression == "gz":
args.extend(['UDZO', '-imagekey', 'zlib-devel=9'])
args.extend(['-o', dmg_file])
check_call(args)
os.remove(tmp_dmg)
if ret == 0:
logger.info("Successfully added license to '{}'".format(dmg_file))
else:
logger.error("Failed to add license to '{}'".format(dmg_file))
if __name__ == '__main__':
try:
rez_path = check_output(
['xcrun', '--find', 'Rez'],
).strip().decode('utf-8')
except CalledProcessError:
rez_path = '/Library/Developer/CommandLineTools/usr/bin/Rez'
parser = argparse.ArgumentParser(
description="""\
This program adds a software license agreement to a DMG file.
It requires Xcode and either a plain ascii text <license_file>
or a <license_file.rtf> with the RTF contents.
See --help for more details.""",
)
parser.add_argument(
'dmg_file',
help='the path to the dmg file which will receive the license',
)
parser.add_argument(
'license_file',
help='the path to the plain ascii or RTF license file; for RTF files, '
'the file must use a .rtf extension',
)
parser.add_argument(
'--rez',
'-r',
action='store',
default=rez_path,
help='the path to the Rez tool; defaults to %(default)s',
)
parser.add_argument(
'--compression',
'-c',
action='store',
choices=('bz2', 'gz'),
default=None,
help='optionally compress dmg using specified compression type; '
'choices are bz2 and gz',
)
parser.add_argument(
'--output',
'-o',
action='store',
default=None,
help='specify an output DMG file; if not given, the license will be '
'directly applied to the input DMG file',
)
options = parser.parse_args()
if not os.path.exists(options.rez):
logger.error('Failed to find Rez at "{}"!\n'.format(options.rez))
parser.print_usage()
sys.exit(1)
main(options)
+16 -21
View File
@@ -2,16 +2,16 @@ on run (volumeName)
tell application "Finder"
tell disk (volumeName as string)
open
set theXOrigin to WINX
set theYOrigin to WINY
set theWidth to WINW
set theHeight to WINH
set theBottomRightX to (theXOrigin + theWidth)
set theBottomRightY to (theYOrigin + theHeight)
set dsStore to "\"" & "/Volumes/" & volumeName & "/" & ".DS_STORE\""
tell container window
set current view to icon view
set toolbar visible to false
@@ -20,7 +20,7 @@ on run (volumeName)
set statusbar visible to false
REPOSITION_HIDDEN_FILES_CLAUSE
end tell
set opts to the icon view options of container window
tell opts
set icon size to ICON_SIZE
@@ -28,44 +28,39 @@ on run (volumeName)
set arrangement to not arranged
end tell
BACKGROUND_CLAUSE
-- Positioning
POSITION_CLAUSE
-- Hiding
HIDING_CLAUSE
-- Application Link Clause
-- Application and QL Link Clauses
APPLICATION_CLAUSE
close
open
update without registering applications
QL_CLAUSE
close
open
-- Force saving of the size
delay 1
tell container window
set statusbar visible to false
set the bounds to {theXOrigin, theYOrigin, theBottomRightX - 10, theBottomRightY - 10}
end tell
update without registering applications
end tell
delay 1
tell disk (volumeName as string)
tell container window
set statusbar visible to false
set the bounds to {theXOrigin, theYOrigin, theBottomRightX, theBottomRightY}
end tell
update without registering applications
end tell
--give the finder some time to write the .DS_Store file
delay 3
set waitTime to 0
set ejectMe to false
repeat while ejectMe is false
@@ -0,0 +1 @@
Hello world
+5
View File
@@ -0,0 +1,5 @@
#!/usr/bin/env bash
# Test for https://github.com/create-dmg/create-dmg/issues/7 - spaces in folder names
../../create-dmg "my disk image.dmg" "my files"
+15 -5
View File
@@ -781,7 +781,7 @@ get_literal_key(char_u **arg, typval_T *tv)
tv->v_type = VAR_STRING;
tv->vval.v_string = vim_strnsave(*arg, p - *arg);
*arg = skipwhite(p);
*arg = p;
return OK;
}
@@ -845,7 +845,12 @@ eval_dict(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int literal)
if (**arg != ':')
{
if (evaluate)
semsg(_(e_missing_dict_colon), *arg);
{
if (*skipwhite(*arg) == ':')
semsg(_(e_no_white_space_allowed_before), ":");
else
semsg(_(e_missing_dict_colon), *arg);
}
clear_tv(&tvkey);
goto failret;
}
@@ -861,7 +866,7 @@ eval_dict(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int literal)
}
if (vim9script && (*arg)[1] != NUL && !VIM_ISWHITE((*arg)[1]))
{
semsg(_(e_white_after), ":");
semsg(_(e_white_space_required_after), ":");
clear_tv(&tvkey);
goto failret;
}
@@ -904,7 +909,7 @@ eval_dict(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int literal)
{
if (vim9script && (*arg)[1] != NUL && !VIM_ISWHITE((*arg)[1]))
{
semsg(_(e_white_after), ",");
semsg(_(e_white_space_required_after), ",");
goto failret;
}
*arg = skipwhite(*arg + 1);
@@ -917,7 +922,12 @@ eval_dict(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int literal)
if (!had_comma)
{
if (evaluate)
semsg(_(e_missing_dict_comma), *arg);
{
if (**arg == ',')
semsg(_(e_no_white_space_allowed_before), ",");
else
semsg(_(e_missing_dict_comma), *arg);
}
goto failret;
}
}
+36
View File
@@ -0,0 +1,36 @@
/* vi:set ts=8 sts=4 sw=4 noet:
*
* VIM - Vi IMproved by Bram Moolenaar
*
* Do ":help uganda" in Vim to read copying and usage conditions.
* Do ":help credits" in Vim to see a list of people who contributed.
*/
/*
* Definition of error messages, sorted on error number.
*/
#ifdef FEAT_EVAL
EXTERN char e_white_space_required_before_and_after[]
INIT(= N_("E1004: white space required before and after '%s'"));
EXTERN char e_cannot_declare_a_scope_variable[]
INIT(= N_("E1016: Cannot declare a %s variable: %s"));
EXTERN char e_cannot_declare_an_environment_variable[]
INIT(= N_("E1016: Cannot declare an environment variable: %s"));
EXTERN char e_const_requires_a_value[]
INIT(= N_("E1021: const requires a value"));
EXTERN char e_type_or_initialization_required[]
INIT(= N_("E1022: type or initialization required"));
EXTERN char e_colon_required_before_a_range[]
INIT(= N_("E1050: Colon required before a range"));
EXTERN char e_no_white_space_allowed_before[]
INIT(= N_("E1068: No white space allowed before '%s'"));
EXTERN char e_white_space_required_after[]
INIT(= N_("E1069: white space required after '%s'"));
EXTERN char e_name_already_defined[]
INIT(= N_("E1073: name already defined: %s"));
EXTERN char e_list_dict_or_blob_required[]
INIT(= N_("E1090: List, Dict or Blob required"));
EXTERN char e_dictionary_not_set[]
INIT(= N_("E1103: Dictionary not set"));
#endif
+20 -2
View File
@@ -520,6 +520,7 @@ eval_to_string(
/*
* Call eval_to_string() without using current local variables and using
* textwinlock. When "use_sandbox" is TRUE use the sandbox.
* Use legacy Vim script syntax.
*/
char_u *
eval_to_string_safe(
@@ -528,7 +529,9 @@ eval_to_string_safe(
{
char_u *retval;
funccal_entry_T funccal_entry;
int save_sc_version = current_sctx.sc_version;
current_sctx.sc_version = 1;
save_funccal(&funccal_entry);
if (use_sandbox)
++sandbox;
@@ -538,6 +541,7 @@ eval_to_string_safe(
--sandbox;
--textwinlock;
restore_funccal();
current_sctx.sc_version = save_sc_version;
return retval;
}
@@ -2712,7 +2716,7 @@ eval5(char_u **arg, typval_T *rettv, evalarg_T *evalarg)
return FAIL;
}
*arg = skipwhite_and_linebreak(*arg + oplen, evalarg);
if (eval6(arg, &var2, evalarg, op == '.') == FAIL)
if (eval6(arg, &var2, evalarg, !in_vim9script() && op == '.') == FAIL)
{
clear_tv(rettv);
return FAIL;
@@ -2727,8 +2731,22 @@ eval5(char_u **arg, typval_T *rettv, evalarg_T *evalarg)
{
char_u buf1[NUMBUFLEN], buf2[NUMBUFLEN];
char_u *s1 = tv_get_string_buf(rettv, buf1);
char_u *s2 = tv_get_string_buf_chk(&var2, buf2);
char_u *s2 = NULL;
if (in_vim9script() && (var2.v_type == VAR_VOID
|| var2.v_type == VAR_CHANNEL
|| var2.v_type == VAR_JOB))
emsg(_(e_inval_string));
#ifdef FEAT_FLOAT
else if (var2.v_type == VAR_FLOAT)
{
vim_snprintf((char *)buf2, NUMBUFLEN, "%g",
var2.vval.v_float);
s2 = buf2;
}
#endif
else
s2 = tv_get_string_buf_chk(&var2, buf2);
if (s2 == NULL) // type error ?
{
clear_tv(rettv);
+2 -2
View File
@@ -715,7 +715,7 @@ static funcentry_T global_functions[] =
{"js_encode", 1, 1, FEARG_1, ret_string, f_js_encode},
{"json_decode", 1, 1, FEARG_1, ret_any, f_json_decode},
{"json_encode", 1, 1, FEARG_1, ret_string, f_json_encode},
{"keys", 1, 1, FEARG_1, ret_list_any, f_keys},
{"keys", 1, 1, FEARG_1, ret_list_string, f_keys},
{"last_buffer_nr", 0, 0, 0, ret_number, f_last_buffer_nr}, // obsolete
{"len", 1, 1, FEARG_1, ret_number, f_len},
{"libcall", 3, 3, FEARG_3, ret_string, f_libcall},
@@ -1046,7 +1046,7 @@ static funcentry_T global_functions[] =
{"test_settime", 1, 1, FEARG_1, ret_void, f_test_settime},
{"test_srand_seed", 0, 1, FEARG_1, ret_void, f_test_srand_seed},
{"test_unknown", 0, 0, 0, ret_any, f_test_unknown},
{"test_void", 0, 0, 0, ret_any, f_test_void},
{"test_void", 0, 0, 0, ret_void, f_test_void},
{"timer_info", 0, 1, FEARG_1, ret_list_dict_any, TIMER_FUNC(f_timer_info)},
{"timer_pause", 2, 2, FEARG_1, ret_void, TIMER_FUNC(f_timer_pause)},
{"timer_start", 2, 3, FEARG_1, ret_number, TIMER_FUNC(f_timer_start)},
+1 -1
View File
@@ -807,7 +807,7 @@ ex_let(exarg_T *eap)
|| !IS_WHITE_OR_NUL(*expr)))
{
vim_strncpy(op, expr - len, len);
semsg(_(e_white_both), op);
semsg(_(e_white_space_required_before_and_after), op);
i = FAIL;
}
+1 -1
View File
@@ -3553,7 +3553,7 @@ typedef struct {
* The usual escapes are supported as described in the regexp docs.
*/
void
do_sub(exarg_T *eap)
ex_substitute(exarg_T *eap)
{
linenr_T lnum;
long i = 0;
+3 -3
View File
@@ -1276,7 +1276,7 @@ EXCMD(CMD_rundo, "rundo", ex_rundo,
EXCMD(CMD_rviminfo, "rviminfo", ex_viminfo,
EX_BANG|EX_FILE1|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
ADDR_NONE),
EXCMD(CMD_substitute, "substitute", do_sub,
EXCMD(CMD_substitute, "substitute", ex_substitute,
EX_RANGE|EX_WHOLEFOLD|EX_EXTRA|EX_CMDWIN|EX_LOCK_OK,
ADDR_LINES),
EXCMD(CMD_sNext, "sNext", ex_previous,
@@ -1794,7 +1794,7 @@ EXCMD(CMD_bang, "!", ex_bang,
EXCMD(CMD_pound, "#", ex_print,
EX_RANGE|EX_WHOLEFOLD|EX_COUNT|EX_FLAGS|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
ADDR_LINES),
EXCMD(CMD_and, "&", do_sub,
EXCMD(CMD_and, "&", ex_substitute,
EX_RANGE|EX_WHOLEFOLD|EX_EXTRA|EX_CMDWIN|EX_LOCK_OK|EX_MODIFY,
ADDR_LINES),
EXCMD(CMD_star, "*", ex_at,
@@ -1812,7 +1812,7 @@ EXCMD(CMD_rshift, ">", ex_operators,
EXCMD(CMD_at, "@", ex_at,
EX_RANGE|EX_WHOLEFOLD|EX_EXTRA|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
ADDR_LINES),
EXCMD(CMD_tilde, "~", do_sub,
EXCMD(CMD_tilde, "~", ex_substitute,
EX_RANGE|EX_WHOLEFOLD|EX_EXTRA|EX_CMDWIN|EX_LOCK_OK|EX_MODIFY,
ADDR_LINES),
+2 -2
View File
@@ -1795,7 +1795,7 @@ do_one_cmd(
--ea.cmd;
else if (ea.cmd > cmd)
{
emsg(_(e_colon_required));
emsg(_(e_colon_required_before_a_range));
goto doend;
}
p = find_ex_command(&ea, NULL, lookup_scriptvar, NULL);
@@ -7351,7 +7351,7 @@ ex_submagic(exarg_T *eap)
int magic_save = p_magic;
p_magic = (eap->cmdidx == CMD_smagic);
do_sub(eap);
ex_substitute(eap);
p_magic = magic_save;
}
-11
View File
@@ -1691,7 +1691,6 @@ EXTERN char e_readonlysbx[] INIT(= N_("E794: Cannot set variable in the sandbox:
EXTERN char e_stringreq[] INIT(= N_("E928: String required"));
EXTERN char e_emptykey[] INIT(= N_("E713: Cannot use empty key for Dictionary"));
EXTERN char e_dictreq[] INIT(= N_("E715: Dictionary required"));
EXTERN char e_dictnull[] INIT(= N_("E1103: Dictionary not set"));
EXTERN char e_listidx[] INIT(= N_("E684: list index out of range: %ld"));
EXTERN char e_blobidx[] INIT(= N_("E979: Blob index out of range: %ld"));
EXTERN char e_invalblob[] INIT(= N_("E978: Invalid operation for Blob"));
@@ -1700,7 +1699,6 @@ EXTERN char e_toofewarg[] INIT(= N_("E119: Not enough arguments for function: %s
EXTERN char e_func_deleted[] INIT(= N_("E933: Function was deleted: %s"));
EXTERN char e_dictkey[] INIT(= N_("E716: Key not present in Dictionary: %s"));
EXTERN char e_listreq[] INIT(= N_("E714: List required"));
EXTERN char e_listdictblobreq[] INIT(= N_("E1090: List, Dict or Blob required"));
EXTERN char e_listblobreq[] INIT(= N_("E897: List or Blob required"));
EXTERN char e_list_end[] INIT(= N_("E697: Missing end of List ']': %s"));
EXTERN char e_listdictarg[] INIT(= N_("E712: Argument of %s must be a List or Dictionary"));
@@ -1753,7 +1751,6 @@ EXTERN char e_missing_dict_colon[] INIT(= N_("E720: Missing colon in Dictionary:
EXTERN char e_duplicate_key[] INIT(= N_("E721: Duplicate key in Dictionary: \"%s\""));
EXTERN char e_missing_dict_comma[] INIT(= N_("E722: Missing comma in Dictionary: %s"));
EXTERN char e_missing_dict_end[] INIT(= N_("E723: Missing end of Dictionary '}': %s"));
EXTERN char e_already_defined[] INIT(= N_("E1073: name already defined: %s"));
#endif
#ifdef FEAT_CLIENTSERVER
EXTERN char e_invexprmsg[] INIT(= N_("E449: Invalid expression received"));
@@ -1796,16 +1793,8 @@ EXTERN char e_endif_without_if[] INIT(= N_("E580: :endif without :if"));
EXTERN char e_continue[] INIT(= N_("E586: :continue without :while or :for"));
EXTERN char e_break[] INIT(= N_("E587: :break without :while or :for"));
EXTERN char e_nowhitespace[] INIT(= N_("E274: No white space allowed before parenthesis"));
EXTERN char e_white_both[] INIT(= N_("E1004: white space required before and after '%s'"));
EXTERN char e_white_after[] INIT(= N_("E1069: white space required after '%s'"));
EXTERN char e_no_white_before[] INIT(= N_("E1068: No white space allowed before '%s'"));
EXTERN char e_lock_unlock[] INIT(= N_("E940: Cannot lock or unlock variable %s"));
EXTERN char e_const_req_value[] INIT(= N_("E1021: const requires a value"));
EXTERN char e_type_req[] INIT(= N_("E1022: type or initialization required"));
EXTERN char e_declare_var[] INIT(= N_("E1016: Cannot declare a %s variable: %s"));
EXTERN char e_declare_env_var[] INIT(= N_("E1016: Cannot declare an environment variable: %s"));
EXTERN char e_colon_required[] INIT(= N_("E1050: Colon required before a range"));
#endif
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
EXTERN char e_alloc_color[] INIT(= N_("E254: Cannot allocate color %s"));
+1 -1
View File
@@ -654,7 +654,7 @@ docd(BPath &path)
drop_callback(void *cookie)
{
// TODO here we could handle going to a specific position in the dropped
// file (see src/gui_mac.c)
// file (see src/gui_mac.c, deleted in 8.2.1422)
// Update the screen display
update_screen(NOT_VALID);
}
+7 -2
View File
@@ -1204,7 +1204,7 @@ eval_list(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int do_error)
{
if (vim9script && !IS_WHITE_OR_NUL((*arg)[1]))
{
semsg(_(e_white_after), ",");
semsg(_(e_white_space_required_after), ",");
goto failret;
}
*arg = skipwhite(*arg + 1);
@@ -1219,7 +1219,12 @@ eval_list(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int do_error)
if (!had_comma)
{
if (do_error)
semsg(_("E696: Missing comma in List: %s"), *arg);
{
if (**arg == ',')
semsg(_(e_no_white_space_allowed_before), ",");
else
semsg(_("E696: Missing comma in List: %s"), *arg);
}
goto failret;
}
}
-3
View File
@@ -29,9 +29,6 @@
/*
* Clipboard support for the console.
* Don't include this when building the GUI version, the functions in
* gui_mac.c are used then. TODO: remove those instead?
* But for MacVim we do need these ones.
*/
#if defined(FEAT_CLIPBOARD)
+1 -1
View File
@@ -27,7 +27,7 @@ void ex_change(exarg_T *eap);
void ex_z(exarg_T *eap);
int check_restricted(void);
int check_secure(void);
void do_sub(exarg_T *eap);
void ex_substitute(exarg_T *eap);
int do_sub_msg(int count_only);
void ex_global(exarg_T *eap);
void global_exe(char_u *cmd);
+1
View File
@@ -1,4 +1,5 @@
/* vim9execute.c */
void to_string_error(vartype_T vartype);
int call_def_function(ufunc_T *ufunc, int argc_arg, typval_T *argv, partial_T *partial, typval_T *rettv);
void ex_disassemble(exarg_T *eap);
int tv2bool(typval_T *tv);
+1 -1
View File
@@ -1991,7 +1991,7 @@ autoload_name(char_u *name)
if (scriptname == NULL)
return NULL;
STRCPY(scriptname, "autoload/");
STRCAT(scriptname, name);
STRCAT(scriptname, name[0] == 'g' && name[1] == ':' ? name + 2: name);
for (p = scriptname + 9; (p = vim_strchr(p, AUTOLOAD_CHAR)) != NULL;
q = p, ++p)
*p = '/';
+23 -2
View File
@@ -7,8 +7,26 @@
NO_PLUGINS = --noplugin --not-a-term
NO_INITS = -U NONE $(NO_PLUGINS)
# The first script creates small.vim.
SCRIPTS_FIRST = test1.out
# Tests for tiny and small builds.
SCRIPTS_TINY = \
test20 \
test21 \
test22 \
test23 \
test24 \
test25 \
test26 \
test27
SCRIPTS_TINY_OUT = \
test20.out \
test21.out \
test22.out \
test23.out \
test24.out \
test25.out \
test26.out \
test27.out
# Tests for Vim9 script.
TEST_VIM9 = \
@@ -25,6 +43,9 @@ TEST_VIM9_RES = \
test_vim9_func.res \
test_vim9_script.res
# Benchmark scripts.
SCRIPTS_BENCH = test_bench_regexp.res
# Individual tests, including the ones part of test_alot.
# Please keep sorted up to test_alot.
NEW_TESTS = \
+4 -2
View File
@@ -9,13 +9,15 @@ default: nongui
include Make_all.mak
SCRIPTS = $(SCRIPTS_TINY_OUT)
.SUFFIXES: .in .out .res .vim
nongui: /tmp $(SCRIPTS_FIRST)
nongui: /tmp $(SCRIPTS)
csh -c echo ALL DONE
clean:
csh -c \rm -rf *.out Xdir1 Xfind XfakeHOME Xdotest small.vim tiny.vim mbyte.vim test.ok viminfo
csh -c \rm -rf *.out Xdir1 Xfind XfakeHOME Xdotest test.ok viminfo
.in.out:
copy $*.ok test.ok
+68 -59
View File
@@ -9,20 +9,76 @@ default: nongui
!include Make_all.mak
TEST_OUTFILES = $(SCRIPTS_FIRST)
# Explicit dependencies.
test_options.res test_alot.res: opt_test.vim
TEST_OUTFILES = $(SCRIPTS_TINY_OUT)
DOSTMP = dostmp
DOSTMP_OUTFILES = $(TEST_OUTFILES:test=dostmp\test)
DOSTMP_INFILES = $(DOSTMP_OUTFILES:.out=.in)
.SUFFIXES: .in .out .res .vim
nongui: nolog $(SCRIPTS_FIRST) newtests report
nongui: nolog tinytests newtests report
small: nolog report
gui: nolog tinytests newtests report
gui: nolog $(SCRIPTS_FIRST) newtests report
tiny: nolog tinytests report
win32: nolog $(SCRIPTS_FIRST) newtests report
benchmark: $(SCRIPTS_BENCH)
report:
@rem without the +eval feature test_result.log is a copy of test.log
@if exist test.log ( copy /y test.log test_result.log > nul ) \
else ( echo No failures reported > test_result.log )
$(VIMPROG) -u NONE $(NO_INITS) -S summarize.vim messages
@echo.
@echo Test results:
@cmd /c type test_result.log
@if exist test.log ( echo TEST FAILURE & exit /b 1 ) \
else ( echo ALL DONE )
# Execute an individual new style test, e.g.:
# nmake -f Make_dos.mak test_largefile
$(NEW_TESTS):
-if exist $@.res del $@.res
-if exist test.log del test.log
-if exist messages del messages
@$(MAKE) -nologo -f Make_dos.mak $@.res VIMPROG=$(VIMPROG)
@type messages
@if exist test.log exit 1
# Delete files that may interfere with running tests. This includes some files
# that may result from working on the tests, not only from running them.
clean:
-if exist *.out del *.out
-if exist *.failed del *.failed
-if exist *.res del *.res
-if exist $(DOSTMP) rd /s /q $(DOSTMP)
-if exist test.in del test.in
-if exist test.ok del test.ok
-if exist Xdir1 rd /s /q Xdir1
-if exist Xfind rd /s /q Xfind
-if exist XfakeHOME rd /s /q XfakeHOME
-if exist X* del X*
-for /d %i in (X*) do @rd /s/q %i
-if exist viminfo del viminfo
-if exist test.log del test.log
-if exist test_result.log del test_result.log
-if exist messages del messages
-if exist benchmark.out del benchmark.out
-if exist opt_test.vim del opt_test.vim
nolog:
-if exist test.log del test.log
-if exist test_result.log del test_result.log
-if exist messages del messages
# Tiny tests. Works even without the +eval feature.
tinytests: $(SCRIPTS_TINY_OUT)
# Copy the input files to dostmp, changing the fileformat to dos.
$(DOSTMP_INFILES): $(*B).in
@@ -55,58 +111,6 @@ $(TEST_OUTFILES): $(DOSTMP)\$(*B).in
& echo $* FAILED >> test.log ) \
else ( move /y test.out $*.out > nul )
# Must run test1 first to create small.vim.
# This rule must come after the one that copies the input files to dostmp to
# allow for running an individual test.
$(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS_WIN32) $(NEW_TESTS_RES): $(SCRIPTS_FIRST)
report:
@rem without the +eval feature test_result.log is a copy of test.log
@if exist test.log ( copy /y test.log test_result.log > nul ) \
else ( echo No failures reported > test_result.log )
$(VIMPROG) -u NONE $(NO_INITS) -S summarize.vim messages
@echo.
@echo Test results:
@cmd /c type test_result.log
@if exist test.log ( echo TEST FAILURE & exit /b 1 ) \
else ( echo ALL DONE )
clean:
-del *.out
-del *.failed
-del *.res
-if exist $(DOSTMP) rd /s /q $(DOSTMP)
-if exist test.in del test.in
-if exist test.ok del test.ok
-if exist small.vim del small.vim
-if exist tiny.vim del tiny.vim
-if exist mbyte.vim del mbyte.vim
-if exist mzscheme.vim del mzscheme.vim
-if exist Xdir1 rd /s /q Xdir1
-if exist Xfind rd /s /q Xfind
-if exist XfakeHOME rd /s /q XfakeHOME
-del X*
-for /d %i in (X*) do @rmdir /s/q %i
-if exist viminfo del viminfo
-if exist test.log del test.log
-if exist test_result.log del test_result.log
-if exist messages del messages
-if exist benchmark.out del benchmark.out
-if exist opt_test.vim del opt_test.vim
nolog:
-if exist test.log del test.log
-if exist test_result.log del test_result.log
-if exist messages del messages
benchmark: test_bench_regexp.res
test_bench_regexp.res: test_bench_regexp.vim
-if exist benchmark.out del benchmark.out
@echo $(VIMPROG) > vimcmd
$(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $*.vim
@del vimcmd
@IF EXIST benchmark.out ( type benchmark.out )
# New style of tests uses Vim script with assert calls. These are easier
# to write and a lot easier to read and debug.
@@ -132,7 +136,12 @@ test_gui_init.res: test_gui_init.vim
$(VIMPROG) -u gui_preinit.vim -U gui_init.vim $(NO_PLUGINS) -S runtest.vim $*.vim
@del vimcmd
test_options.res test_alot.res: opt_test.vim
opt_test.vim: ../optiondefs.h gen_opt_test.vim
$(VIMPROG) -u NONE -S gen_opt_test.vim --noplugin --not-a-term ../optiondefs.h
test_bench_regexp.res: test_bench_regexp.vim
-if exist benchmark.out del benchmark.out
@echo $(VIMPROG) > vimcmd
$(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $*.vim
@del vimcmd
@IF EXIST benchmark.out ( type benchmark.out )
+89 -54
View File
@@ -6,102 +6,132 @@
#
# Requires a set of Unix tools: echo, diff, etc.
ifneq (sh.exe, $(SHELL))
DEL = rm -f
DELDIR = rm -rf
MV = mv
CP = cp
CAT = cat
DIRSLASH = /
else
# Don't use unix-like shell.
SHELL = cmd.exe
DEL = del
DELDIR = rd /s /q
MV = rename
CP = copy
MV = move /y
CP = copy /y
CAT = type
DIRSLASH = \\
endif
VIMPROG = ..$(DIRSLASH)vim
VIMPROG = ..\\vim
default: vimall
default: nongui
include Make_all.mak
SCRIPTS_BENCH = test_bench_regexp.res
# Explicit dependencies.
test_options.res test_alot.res: opt_test.vim
# Must run test1 first to create small.vim.
$(NEW_TESTS_RES): $(SCRIPTS_FIRST)
TEST_OUTFILES = $(SCRIPTS_TINY_OUT)
DOSTMP = dostmp
# Keep $(DOSTMP)/*.in
.PRECIOUS: $(patsubst %.out, $(DOSTMP)/%.in, $(TEST_OUTFILES))
.SUFFIXES: .in .out .res .vim
vimall: fixff $(SCRIPTS_FIRST) newtests
@echo ALL DONE
nongui: nolog tinytests newtests report
nongui: fixff nolog $(SCRIPTS_FIRST) newtests
@echo ALL DONE
gui: nolog tinytests newtests report
tiny: nolog tinytests report
benchmark: $(SCRIPTS_BENCH)
small: nolog
@echo ALL DONE
report:
@rem without the +eval feature test_result.log is a copy of test.log
@if exist test.log ( copy /y test.log test_result.log > nul ) \
else ( echo No failures reported > test_result.log )
$(VIMPROG) -u NONE $(NO_INITS) -S summarize.vim messages
@echo.
@echo Test results:
@cmd /c type test_result.log
@if exist test.log ( echo TEST FAILURE & exit /b 1 ) \
else ( echo ALL DONE )
gui: fixff nolog $(SCRIPTS_FIRST) newtests
@echo ALL DONE
win32: fixff nolog $(SCRIPTS_FIRST) newtests
@echo ALL DONE
# Execute an individual new style test, e.g.:
# mingw32-make -f Make_ming.mak test_largefile
$(NEW_TESTS):
-if exist $@.res del $@.res
-if exist test.log del test.log
-if exist messages del messages
@$(MAKE) -f Make_ming.mak $@.res VIMPROG=$(VIMPROG) --no-print-directory
@type messages
@if exist test.log exit 1
# TODO: find a way to avoid changing the distributed files.
fixff:
-$(VIMPROG) -u dos.vim $(NO_INITS) "+argdo set ff=dos|upd" +q *.in *.ok
-$(VIMPROG) -u dos.vim $(NO_INITS) "+argdo set ff=unix|upd" +q \
dotest.in
# Delete files that may interfere with running tests. This includes some files
# that may result from working on the tests, not only from running them.
clean:
-@if exist *.out $(DEL) *.out
-@if exist *.failed $(DEL) *.failed
-@if exist *.res $(DEL) *.res
-@if exist $(DOSTMP) rd /s /q $(DOSTMP)
-@if exist test.in $(DEL) test.in
-@if exist test.ok $(DEL) test.ok
-@if exist small.vim $(DEL) small.vim
-@if exist tiny.vim $(DEL) tiny.vim
-@if exist mbyte.vim $(DEL) mbyte.vim
-@if exist mzscheme.vim $(DEL) mzscheme.vim
-@if exist Xdir1 $(DELDIR) Xdir1
-@if exist Xfind $(DELDIR) Xfind
-@if exist XfakeHOME $(DELDIR) XfakeHOME
-@if exist X* $(DEL) X*
-@for /d %%i in (X*) do @rd /s/q %%i
-@if exist viminfo $(DEL) viminfo
-@if exist test.log $(DEL) test.log
-@if exist test_result.log del test_result.log
-@if exist messages $(DEL) messages
-@if exist benchmark.out del benchmark.out
-@if exist opt_test.vim $(DEL) opt_test.vim
test1.out: test1.in
-@if exist wrongtermsize $(DEL) wrongtermsize
$(VIMPROG) -u dos.vim $(NO_INITS) -s dotest.in test1.in
-@if exist wrongtermsize ( \
echo Vim window too small- must be 80x25 or larger && exit 1 \
)
-@if exist test.out $(DEL) test.out
-@if exist viminfo $(DEL) viminfo
nolog:
-@if exist test.log $(DEL) test.log
-@if exist test_result.log del test_result.log
-@if exist messages $(DEL) messages
test_bench_regexp.res: test_bench_regexp.vim
-$(DEL) benchmark.out
@echo $(VIMPROG) > vimcmd
$(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $*.vim
@$(DEL) vimcmd
$(CAT) benchmark.out
# Tiny tests. Works even without the +eval feature.
tinytests: $(SCRIPTS_TINY_OUT)
# Copy the input files to dostmp, changing the fileformat to dos.
$(DOSTMP)/%.in : %.in
if not exist $(DOSTMP)\nul mkdir $(DOSTMP)
if not exist $@ $(DEL) $@
$(VIMPROG) -u dos.vim $(NO_INITS) "+set ff=dos|f $@|wq" $<
# For each input file dostmp/test99.in run the tests.
# This moves test99.in to test99.in.bak temporarily.
%.out : $(DOSTMP)/%.in
-@if exist test.out $(DEL) test.out
-@if exist $(DOSTMP)\$@ $(DEL) $(DOSTMP)\$@
$(MV) $(notdir $<) $(notdir $<).bak > NUL
$(CP) $(DOSTMP)\$(notdir $<) $(notdir $<) > NUL
$(CP) $(basename $@).ok test.ok > NUL
$(VIMPROG) -u dos.vim $(NO_INITS) -s dotest.in $(notdir $<)
-@if exist test.out $(MV) test.out $(DOSTMP)\$@ > NUL
-@if exist $(notdir $<).bak $(MV) $(notdir $<).bak $(notdir $<) > NUL
-@if exist test.ok $(DEL) test.ok
-@if exist Xdir1 $(DELDIR) /s /q Xdir1
-@if exist Xfind $(DELDIR) Xfind
-@if exist XfakeHOME $(DELDIR) XfakeHOME
-@del X*
-@if exist viminfo del viminfo
$(VIMPROG) -u dos.vim $(NO_INITS) "+set ff=unix|f test.out|wq" \
$(DOSTMP)\$@
@diff test.out $(basename $@).ok & if errorlevel 1 \
( $(MV) test.out $(basename $@).failed > NUL \
& del $(DOSTMP)\$@ \
& echo $(basename $@) FAILED >> test.log ) \
else ( $(MV) test.out $(basename $@).out > NUL )
# New style of tests uses Vim script with assert calls. These are easier
# to write and a lot easier to read and debug.
# Limitation: Only works with the +eval feature.
newtests: $(NEW_TESTS_RES)
newtests: newtestssilent
@if exist messages (findstr "SKIPPED FAILED" messages > nul) && type messages
newtestssilent: $(NEW_TESTS_RES)
.vim.res:
@echo $(VIMPROG) > vimcmd
@@ -118,7 +148,12 @@ test_gui_init.res: test_gui_init.vim
$(VIMPROG) -u gui_preinit.vim -U gui_init.vim $(NO_PLUGINS) -S runtest.vim $<
@$(DEL) vimcmd
test_options.res test_alot.res: opt_test.vim
opt_test.vim: ../optiondefs.h gen_opt_test.vim
$(VIMPROG) -u NONE -S gen_opt_test.vim --noplugin --not-a-term ../optiondefs.h
test_bench_regexp.res: test_bench_regexp.vim
-$(DEL) benchmark.out
@echo $(VIMPROG) > vimcmd
$(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $*.vim
@$(DEL) vimcmd
$(CAT) benchmark.out
+4 -6
View File
@@ -4,7 +4,7 @@
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
#
# Last change: 2020 Jul 03
# Last change: 2020 Aug 13
#
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
# Edit the lines in the Configuration section below to select.
@@ -37,7 +37,9 @@ VIMPROG = <->vim.exe
.SUFFIXES : .out .in
SCRIPT = test1.out test77a.out
SCRIPT = test20.out test21.out test22.out test23.out test24.out \
test25.out test26.out test27.out \
test77a.out
.IFDEF WANT_GUI
GUI_OPTION = -g
@@ -102,9 +104,5 @@ clean :
-@ if "''F$SEARCH("*.*_sw*")'" .NES. "" then delete/noconfirm/nolog *.*_sw*.*
-@ if "''F$SEARCH("*.failed")'" .NES. "" then delete/noconfirm/nolog *.failed.*
-@ if "''F$SEARCH("*.rej")'" .NES. "" then delete/noconfirm/nolog *.rej.*
-@ if "''F$SEARCH("tiny.vim")'" .NES. "" then delete/noconfirm/nolog tiny.vim.*
-@ if "''F$SEARCH("small.vim")'" .NES. "" then delete/noconfirm/nolog small.vim.*
-@ if "''F$SEARCH("mbyte.vim")'" .NES. "" then delete/noconfirm/nolog mbyte.vim.*
-@ if "''F$SEARCH("mzscheme.vim")'" .NES. "" then delete/noconfirm/nolog mzscheme.vim.*
-@ if "''F$SEARCH("viminfo.*")'" .NES. "" then delete/noconfirm/nolog viminfo.*.*
+37 -28
View File
@@ -23,19 +23,19 @@ REDIR_TEST_TO_NULL = --cmd 'au SwapExists * let v:swapchoice = "e"' > /dev/null
default: nongui
# The list of tests is common to all systems.
# This defines SCRIPTS_FIRST, NEW_TESTS and NEW_TESTS_RES
# This defines SCRIPTS_TINY_OUT, NEW_TESTS and NEW_TESTS_RES.
include Make_all.mak
# Explicit dependencies.
test_options.res test_alot.res: opt_test.vim
SCRIPTS_BENCH = test_bench_regexp.res
.SUFFIXES: .in .out .res .vim
nongui: nolog $(SCRIPTS_FIRST) newtests report
nongui: nolog tinytests newtests report
gui: nolog $(SCRIPTS_FIRST) newtests report
gui: nolog tinytests newtests report
tiny: nolog tinytests report
benchmark: $(SCRIPTS_BENCH)
@@ -54,10 +54,7 @@ report:
else echo ALL DONE; \
fi"
$(SCRIPTS_FIRST) $(NEW_TESTS_RES): $(VIMPROG)
# Must run test1 first to create small.vim.
$(NEW_TESTS_RES): $(SCRIPTS_FIRST)
$(SCRIPTS_TINY_OUT) $(NEW_TESTS_RES): $(VIMPROG)
# Execute an individual new style test, e.g.:
@@ -81,7 +78,7 @@ test_vim9:
fi
RM_ON_RUN = test.out X* viminfo
RM_ON_START = tiny.vim small.vim mbyte.vim mzscheme.vim test.ok benchmark.out
RM_ON_START = test.ok benchmark.out
RUN_VIM = VIMRUNTIME=$(SCRIPTSOURCE) $(VALGRIND) $(VIMPROG) -f $(GUI_FLAG) -u unix.vim $(NO_INITS) -s dotest.in
# Delete files that may interfere with running tests. This includes some files
@@ -93,22 +90,34 @@ clean:
-rm -f valgrind.*
-rm -f asan.*
test1.out: test1.in
-rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize
$(RUN_VIM) $*.in $(REDIR_TEST_TO_NULL)
@/bin/sh -c "if test -f wrongtermsize; \
then echo; \
echo test1 FAILED - terminal size must be 80x24 or larger; \
echo; exit 1; \
elif diff test.out $*.ok; \
then mv -f test.out $*.out; \
else echo; \
echo test1 FAILED - Something basic is wrong; \
echo; exit 1; fi"
-rm -rf X* viminfo
nolog:
-rm -f test.log messages
-rm -f test.log test_result.log messages
# Tiny tests. Works even without the +eval feature.
tinytests: $(SCRIPTS_TINY_OUT)
.in.out:
-rm -rf $*.failed test.ok $(RM_ON_RUN)
cp $*.ok test.ok
@# Sleep a moment to avoid that the xterm title is messed up.
@# 200 msec is sufficient, but only modern sleep supports a fraction of
@# a second, fall back to a second if it fails.
@-/bin/sh -c "sleep .2 > /dev/null 2>&1 || sleep 1"
$(RUN_VIM) $*.in $(REDIR_TEST_TO_NULL)
@# Check if the test.out file matches test.ok.
@/bin/sh -c "if test -f test.out; then \
if diff test.out $*.ok; \
then mv -f test.out $*.out; \
else echo $* FAILED >>test.log; mv -f test.out $*.failed; \
fi \
else echo $* NO OUTPUT >>test.log; \
fi"
@/bin/sh -c "if test -f valgrind; then\
mv -f valgrind valgrind.$*; \
fi"
-rm -rf X* test.ok viminfo
# New style of tests uses Vim script with assert calls. These are easier
@@ -148,9 +157,9 @@ test_xxd.res:
test_bench_regexp.res: test_bench_regexp.vim
-rm -rf benchmark.out $(RM_ON_RUN)
# Sleep a moment to avoid that the xterm title is messed up.
# 200 msec is sufficient, but only modern sleep supports a fraction of
# a second, fall back to a second if it fails.
@# Sleep a moment to avoid that the xterm title is messed up.
@# 200 msec is sufficient, but only modern sleep supports a fraction of
@# a second, fall back to a second if it fails.
@-/bin/sh -c "sleep .2 > /dev/null 2>&1 || sleep 1"
$(RUN_VIMTEST) $(NO_INITS) -S runtest.vim $*.vim $(REDIR_TEST_TO_NULL)
@/bin/sh -c "if test -f benchmark.out; then cat benchmark.out; fi"
+3 -1
View File
@@ -46,7 +46,9 @@
" Without the +eval feature we can't run these tests, bail out.
so small.vim
silent! while 0
qa!
silent! endwhile
" In the GUI we can always change the screen size.
if has('gui_running')
+1
View File
@@ -1,3 +1,4 @@
set cpo&vim
if 1
" This is executed only with the eval feature
set nocompatible
-52
View File
@@ -1,52 +0,0 @@
First a simple test to check if the test script works.
If Vim was not compiled with the +eval feature, the small.vim script will be
set to copy the test.ok file to test.out, so that it looks like the test
succeeded. Otherwise an empty small.vim is written. small.vim is sourced by
tests that require the +eval feature or other features that are missing in the
small version.
If Vim was not compiled with the +windows feature, the tiny.vim script will be
set like small.vim above. tiny.vim is sourced by tests that require the
+windows feature or other features that are missing in the tiny version.
If Vim was not compiled with the +multi_byte feature, the mbyte.vim script will
be set like small.vim above. mbyte.vim is sourced by tests that require the
+multi_byte feature.
Similar logic is applied to the +mzscheme feature, using mzscheme.vim.
STARTTEST
:" If columns or lines are too small, create wrongtermsize.
:" (Some tests will fail. When columns and/or lines are small)
:if &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
:"
:" Write a single line to test.out to check if testing works at all.
:%d
athis is a test:w! test.out
:" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.
0D:w! small.vim
:w! tiny.vim
ae! test.ok
w! test.out
qa!
:w! mbyte.vim
:w! mzscheme.vim
:"
:" If +multi_byte feature supported, make mbyte.vim empty.
:if has("multi_byte") | sp another | w! mbyte.vim | q | endif
:"
:" If +mzscheme feature supported, make mzscheme.vim empty.
:if has("mzscheme") | sp another | w! mzscheme.vim | q | endif
:"
:" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
:" Otherwise write small.vim to skip the test.
:if 1 | q! | endif
:w! small.vim
:" If +windows feature not supported :sp will fail and tiny.vim will be
:" written to skip the test.
:sp another
:wq! tiny.vim
:qa!
ENDTEST
-1
View File
@@ -1 +0,0 @@
this is a test
+27
View File
@@ -0,0 +1,27 @@
Tests Blockwise Visual when there are TABs before the text.
First test for undo working properly when executing commands from a register.
Also test this in an empty buffer.
STARTTEST
G0"ay$k@au
:new
@auY:quit!
GP
/start here$
"by$jjlld
/456$
jj"bP
:/56$/,$-1w! test.out
:qa!
ENDTEST
123456
234567
345678
test text test tex start here
some text
test text
test text
OxjAykdd
+10
View File
@@ -0,0 +1,10 @@
123start here56
234start here67
345start here78
test text test tex rt here
somext
tesext
test text
+13
View File
@@ -0,0 +1,13 @@
Tests for file with some lines ending in CTRL-M, some not
STARTTEST
:set ta tx
:e!
:$-3,$w! test.out
:qa!
ENDTEST
this lines ends in a
this one doesn't
this one does
and the last one doesn't
+4
View File
@@ -0,0 +1,4 @@
this lines ends in a
this one doesn't
this one does
and the last one doesn't
+15
View File
@@ -0,0 +1,15 @@
Tests for complicated + argument to :edit command
STARTTEST
:$-1w! Xfile1
:$w! Xfile2
:edit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
:w! test.out
:e Xfile1
:w >> test.out
:qa!
ENDTEST
The result should be in Xfile1: "fooPIPEbar", in Xfile2: "fooSLASHbar"
foo|bar
foo/bar
+2
View File
@@ -0,0 +1,2 @@
fooSLASHbar
fooPIPEbar
Binary file not shown.
+32
View File
@@ -0,0 +1,32 @@
start
test text test text
test text test text
test text test text
test text test text
test text test text
test text test text
test text test text x61
test text test text x60-x64
test text test text x78 5
test text test text o143
test text test text o140-o144
test text test text o41 7
test text test text \%x42
test text test text \%o103
test text test text [\x00]
test text test text [\x00-\x10]
test text test text [\x-z]
test text test text [\u-z]
xx xx a
xx aaaaa xx a
xx aaaaa xx a
xx Aaa xx
xx Aaaa xx
xx Aaa xx
xx foobar xA xx
xx an A xx
XX 9;
YY 77;
xyz
bcd
BB
Binary file not shown.
+2
View File
@@ -0,0 +1,2 @@
sd
map __2 asdsecondsdsd0map __5 asd0fifth
+108
View File
@@ -0,0 +1,108 @@
Test character classes in regexp using regexpengine 0, 1, 2.
STARTTEST
/^start-here/+1
Y:s/\%#=0\d//g
p:s/\%#=1\d//g
p:s/\%#=2\d//g
p:s/\%#=0[0-9]//g
p:s/\%#=1[0-9]//g
p:s/\%#=2[0-9]//g
p:s/\%#=0\D//g
p:s/\%#=1\D//g
p:s/\%#=2\D//g
p:s/\%#=0[^0-9]//g
p:s/\%#=1[^0-9]//g
p:s/\%#=2[^0-9]//g
p:s/\%#=0\o//g
p:s/\%#=1\o//g
p:s/\%#=2\o//g
p:s/\%#=0[0-7]//g
p:s/\%#=1[0-7]//g
p:s/\%#=2[0-7]//g
p:s/\%#=0\O//g
p:s/\%#=1\O//g
p:s/\%#=2\O//g
p:s/\%#=0[^0-7]//g
p:s/\%#=1[^0-7]//g
p:s/\%#=2[^0-7]//g
p:s/\%#=0\x//g
p:s/\%#=1\x//g
p:s/\%#=2\x//g
p:s/\%#=0[0-9A-Fa-f]//g
p:s/\%#=1[0-9A-Fa-f]//g
p:s/\%#=2[0-9A-Fa-f]//g
p:s/\%#=0\X//g
p:s/\%#=1\X//g
p:s/\%#=2\X//g
p:s/\%#=0[^0-9A-Fa-f]//g
p:s/\%#=1[^0-9A-Fa-f]//g
p:s/\%#=2[^0-9A-Fa-f]//g
p:s/\%#=0\w//g
p:s/\%#=1\w//g
p:s/\%#=2\w//g
p:s/\%#=0[0-9A-Za-z_]//g
p:s/\%#=1[0-9A-Za-z_]//g
p:s/\%#=2[0-9A-Za-z_]//g
p:s/\%#=0\W//g
p:s/\%#=1\W//g
p:s/\%#=2\W//g
p:s/\%#=0[^0-9A-Za-z_]//g
p:s/\%#=1[^0-9A-Za-z_]//g
p:s/\%#=2[^0-9A-Za-z_]//g
p:s/\%#=0\h//g
p:s/\%#=1\h//g
p:s/\%#=2\h//g
p:s/\%#=0[A-Za-z_]//g
p:s/\%#=1[A-Za-z_]//g
p:s/\%#=2[A-Za-z_]//g
p:s/\%#=0\H//g
p:s/\%#=1\H//g
p:s/\%#=2\H//g
p:s/\%#=0[^A-Za-z_]//g
p:s/\%#=1[^A-Za-z_]//g
p:s/\%#=2[^A-Za-z_]//g
p:s/\%#=0\a//g
p:s/\%#=1\a//g
p:s/\%#=2\a//g
p:s/\%#=0[A-Za-z]//g
p:s/\%#=1[A-Za-z]//g
p:s/\%#=2[A-Za-z]//g
p:s/\%#=0\A//g
p:s/\%#=1\A//g
p:s/\%#=2\A//g
p:s/\%#=0[^A-Za-z]//g
p:s/\%#=1[^A-Za-z]//g
p:s/\%#=2[^A-Za-z]//g
p:s/\%#=0\l//g
p:s/\%#=1\l//g
p:s/\%#=2\l//g
p:s/\%#=0[a-z]//g
p:s/\%#=1[a-z]//g
p:s/\%#=2[a-z]//g
p:s/\%#=0\L//g
p:s/\%#=1\L//g
p:s/\%#=2\L//g
p:s/\%#=0[^a-z]//g
p:s/\%#=1[^a-z]//g
p:s/\%#=2[^a-z]//g
p:s/\%#=0\u//g
p:s/\%#=1\u//g
p:s/\%#=2\u//g
p:s/\%#=0[A-Z]//g
p:s/\%#=1[A-Z]//g
p:s/\%#=2[A-Z]//g
p:s/\%#=0\U//g
p:s/\%#=1\U//g
p:s/\%#=2\U//g
p:s/\%#=0[^A-Z]//g
p:s/\%#=1[^A-Z]//g
p:s/\%#=2[^A-Z]//g
p:s/\%#=0\%204l^\t...//g
p:s/\%#=1\%205l^\t...//g
p:s/\%#=2\%206l^\t...//g
:/^start-here/+1,$wq! test.out
ENDTEST
start-here
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~€‚›¦±¼ÇÓé
+99
View File
@@ -0,0 +1,99 @@
!"#$%&'()#+'-./:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
0123456789
0123456789
0123456789
0123456789
0123456789
0123456789
!"#$%&'()#+'-./89:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./89:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./89:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./89:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./89:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./89:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
01234567
01234567
01234567
01234567
01234567
01234567
!"#$%&'()#+'-./:;<=>?@GHIXYZ[\]^_`ghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./:;<=>?@GHIXYZ[\]^_`ghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./:;<=>?@GHIXYZ[\]^_`ghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./:;<=>?@GHIXYZ[\]^_`ghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./:;<=>?@GHIXYZ[\]^_`ghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./:;<=>?@GHIXYZ[\]^_`ghiwxyz{|}~Ρ芝嚔
0123456789ABCDEFabcdef
0123456789ABCDEFabcdef
0123456789ABCDEFabcdef
0123456789ABCDEFabcdef
0123456789ABCDEFabcdef
0123456789ABCDEFabcdef
!"#$%&'()#+'-./:;<=>?@[\]^`{|}~Ρ芝嚔
!"#$%&'()#+'-./:;<=>?@[\]^`{|}~Ρ芝嚔
!"#$%&'()#+'-./:;<=>?@[\]^`{|}~Ρ芝嚔
!"#$%&'()#+'-./:;<=>?@[\]^`{|}~Ρ芝嚔
!"#$%&'()#+'-./:;<=>?@[\]^`{|}~Ρ芝嚔
!"#$%&'()#+'-./:;<=>?@[\]^`{|}~Ρ芝嚔
0123456789ABCDEFGHIXYZ_abcdefghiwxyz
0123456789ABCDEFGHIXYZ_abcdefghiwxyz
0123456789ABCDEFGHIXYZ_abcdefghiwxyz
0123456789ABCDEFGHIXYZ_abcdefghiwxyz
0123456789ABCDEFGHIXYZ_abcdefghiwxyz
0123456789ABCDEFGHIXYZ_abcdefghiwxyz
!"#$%&'()#+'-./0123456789:;<=>?@[\]^`{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@[\]^`{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@[\]^`{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@[\]^`{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@[\]^`{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@[\]^`{|}~Ρ芝嚔
ABCDEFGHIXYZ_abcdefghiwxyz
ABCDEFGHIXYZ_abcdefghiwxyz
ABCDEFGHIXYZ_abcdefghiwxyz
ABCDEFGHIXYZ_abcdefghiwxyz
ABCDEFGHIXYZ_abcdefghiwxyz
ABCDEFGHIXYZ_abcdefghiwxyz
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`{|}~Ρ芝嚔
ABCDEFGHIXYZabcdefghiwxyz
ABCDEFGHIXYZabcdefghiwxyz
ABCDEFGHIXYZabcdefghiwxyz
ABCDEFGHIXYZabcdefghiwxyz
ABCDEFGHIXYZabcdefghiwxyz
ABCDEFGHIXYZabcdefghiwxyz
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`{|}~Ρ芝嚔
abcdefghiwxyz
abcdefghiwxyz
abcdefghiwxyz
abcdefghiwxyz
abcdefghiwxyz
abcdefghiwxyz
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
ABCDEFGHIXYZ
ABCDEFGHIXYZ
ABCDEFGHIXYZ
ABCDEFGHIXYZ
ABCDEFGHIXYZ
ABCDEFGHIXYZ
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~Ρ芝嚔
+24
View File
@@ -0,0 +1,24 @@
Test for writing and reading a file of over 100 Kbyte
1 line: "This is the start"
3001 lines: "This is the leader"
1 line: "This is the middle"
3001 lines: "This is the trailer"
1 line: "This is the end"
STARTTEST
:%d
aThis is the start
This is the leader
This is the middle
This is the trailer
This is the endkY3000p2GY3000p
:w! Xtest
:%d
:e! Xtest
:.w! test.out
3003G:.w >>test.out
6005G:.w >>test.out
:qa!
ENDTEST
+3
View File
@@ -0,0 +1,3 @@
This is the start
This is the middle
This is the end
Binary file not shown.
Binary file not shown.
+5 -1
View File
@@ -10,7 +10,11 @@ If it isn't available then the test will be skipped.
VMS does not have CKSUM but has a built in CHECKSUM - it should be used
STARTTEST
:so small.vim
:silent! while 0
: e! test.ok
: w! test.out
: qa!
:silent! endwhile
:if !has("vms")
: e! test.ok
: w! test.out
+5 -5
View File
@@ -242,11 +242,11 @@ endfunc
func Test_args_with_quote()
" Only on Unix can a file name include a double quote.
if has('unix')
args \"foobar
call assert_equal('"foobar', argv(0))
%argdelete
endif
CheckUnix
args \"foobar
call assert_equal('"foobar', argv(0))
%argdelete
endfunc
" Test for 0argadd and 0argedit
+2
View File
@@ -374,3 +374,5 @@ func Test_zz_quit_detected()
" Verify that if a test function ends Vim the test script detects this.
quit
endfunc
" vim: shiftwidth=2 sts=2 expandtab
+2
View File
@@ -24,3 +24,5 @@ func Test_set_filename()
call chdir(cwd)
call delete('samples/Xtest')
endfunc
" vim: shiftwidth=2 sts=2 expandtab
+10 -18
View File
@@ -70,9 +70,7 @@ if has('timers')
endfunc
func Test_cursorhold_insert_with_timer_interrupt()
if !has('job')
return
endif
CheckFeature job
" Need to move the cursor.
call feedkeys("ggG", "xt")
@@ -535,9 +533,7 @@ func s:AutoCommandOptionSet(match)
endfunc
func Test_OptionSet()
if !has("eval") || !exists("+autochdir")
return
endif
CheckOption autochdir
badd test_autocmd.vim
@@ -1778,12 +1774,11 @@ func Test_nocatch_wipe_all_buffers()
endfunc
func Test_nocatch_wipe_dummy_buffer()
if has('quickfix')
" Nasty autocommand: wipe buffer on any event.
au * x bwipe
call assert_fails('lv½ /x', 'E937')
au!
endif
CheckFeature quickfix
" Nasty autocommand: wipe buffer on any event.
au * x bwipe
call assert_fails('lv½ /x', 'E937')
au!
endfunc
function s:Before_test_dirchanged()
@@ -1834,9 +1829,7 @@ function Test_dirchanged_local()
endfunc
function Test_dirchanged_auto()
if !exists('+autochdir')
return
endif
CheckOption autochdir
call s:Before_test_dirchanged()
call test_autochdir()
autocmd test_dirchanged DirChanged auto call add(s:li, "auto:")
@@ -2087,9 +2080,8 @@ endfunc
" - FileReadPost decompress the file
func Test_ReadWrite_Autocmds()
" Run this test only on Unix-like systems and if gzip is available
if !has('unix') || !executable("gzip")
return
endif
CheckUnix
CheckExecutable gzip
" Make $GZIP empty, "-v" would cause trouble.
let $GZIP = ""
+2
View File
@@ -22,3 +22,5 @@ func Test_autoload_vim9script()
call assert_equal('some', auto9#getsome())
call assert_equal(49, auto9#add42(7))
endfunc
" vim: shiftwidth=2 sts=2 expandtab
+2
View File
@@ -64,3 +64,5 @@ func Test_balloon_eval_term_visual()
call StopVimInTerminal(buf)
call delete('XTest_beval_visual')
endfunc
" vim: shiftwidth=2 sts=2 expandtab
+1
View File
@@ -21,3 +21,4 @@ func Test_balloon_show_gui()
endfunc
endif " !has('gui_macvim')
" vim: shiftwidth=2 sts=2 expandtab
+2
View File
@@ -27,3 +27,5 @@ endfunc
func Test_behave_error()
call assert_fails('behave x', 'E475:')
endfunc
" vim: shiftwidth=2 sts=2 expandtab
-1
View File
@@ -1,5 +1,4 @@
" Test for block inserting
"
func Test_blockinsert_indent()
new
+20 -60
View File
@@ -46,9 +46,7 @@ endfunc
func Test_breakindent01_vartabs()
" like 01 but with vartabs feature
if !has("vartabs")
return
endif
CheckFeature vartabs
call s:test_windows('setl briopt=min:0 vts=4')
let lines = s:screen_lines(line('.'),8)
let expect = [
@@ -75,9 +73,7 @@ func Test_breakindent02()
endfunc
func Test_breakindent02_vartabs()
if !has("vartabs")
return
endif
CheckFeature vartabs
" simple breakindent test with showbreak set
call s:test_windows('setl briopt=min:0 sbr=>> vts=4')
let lines = s:screen_lines(line('.'),8)
@@ -106,9 +102,7 @@ endfunc
func Test_breakindent03_vartabs()
" simple breakindent test with showbreak set and briopt including sbr
if !has("vartabs")
return
endif
CheckFeature vartabs
call s:test_windows('setl briopt=sbr,min:0 sbr=++ vts=4')
let lines = s:screen_lines(line('.'),8)
let expect = [
@@ -139,9 +133,7 @@ endfunc
func Test_breakindent04_vartabs()
" breakindent set with min width 18
if !has("vartabs")
return
endif
CheckFeature vartabs
call s:test_windows('setl sbr= briopt=min:18 vts=4')
let lines = s:screen_lines(line('.'),8)
let expect = [
@@ -169,9 +161,7 @@ endfunc
func Test_breakindent05_vartabs()
" breakindent set and shift by 2
if !has("vartabs")
return
endif
CheckFeature vartabs
call s:test_windows('setl briopt=shift:2,min:0 vts=4')
let lines = s:screen_lines(line('.'),8)
let expect = [
@@ -198,9 +188,7 @@ endfunc
func Test_breakindent06_vartabs()
" breakindent set and shift by -1
if !has("vartabs")
return
endif
CheckFeature vartabs
call s:test_windows('setl briopt=shift:-1,min:0 vts=4')
let lines = s:screen_lines(line('.'),8)
let expect = [
@@ -227,9 +215,7 @@ func Test_breakindent07()
endfunc
func Test_breakindent07_vartabs()
if !has("vartabs")
return
endif
CheckFeature vartabs
" breakindent set and shift by 1, Number set sbr=? and briopt:sbr
call s:test_windows('setl briopt=shift:1,sbr,min:0 nu sbr=? nuw=4 cpo+=n vts=4')
let lines = s:screen_lines(line('.'),10)
@@ -258,9 +244,7 @@ func Test_breakindent07a()
endfunc
func Test_breakindent07a_vartabs()
if !has("vartabs")
return
endif
CheckFeature vartabs
" breakindent set and shift by 1, Number set sbr=? and briopt:sbr
call s:test_windows('setl briopt=shift:1,sbr,min:0 nu sbr=? nuw=4 vts=4')
let lines = s:screen_lines(line('.'),10)
@@ -293,9 +277,7 @@ func Test_breakindent08()
endfunc
func Test_breakindent08_vartabs()
if !has("vartabs")
return
endif
CheckFeature vartabs
" breakindent set and shift by 1, Number and list set sbr=# and briopt:sbr
call s:test_windows('setl briopt=shift:1,sbr,min:0 nu nuw=4 sbr=# list cpo+=n ts=4 vts=4')
" make sure, cache is invalidated!
@@ -327,9 +309,7 @@ func Test_breakindent08a()
endfunc
func Test_breakindent08a_vartabs()
if !has("vartabs")
return
endif
CheckFeature vartabs
" breakindent set and shift by 1, Number and list set sbr=# and briopt:sbr
call s:test_windows('setl briopt=shift:1,sbr,min:0 nu nuw=4 sbr=# list vts=4')
let lines = s:screen_lines(line('.'),10)
@@ -356,9 +336,7 @@ func Test_breakindent09()
endfunc
func Test_breakindent09_vartabs()
if !has("vartabs")
return
endif
CheckFeature vartabs
" breakindent set and shift by 1, Number and list set sbr=#
call s:test_windows('setl briopt=shift:1,min:0 nu nuw=4 sbr=# list vts=4')
let lines = s:screen_lines(line('.'),10)
@@ -390,9 +368,7 @@ func Test_breakindent10()
endfunc
func Test_breakindent10_vartabs()
if !has("vartabs")
return
endif
CheckFeature vartabs
" breakindent set, Number set sbr=~
call s:test_windows('setl cpo+=n sbr=~ nu nuw=4 nolist briopt=sbr,min:0 vts=4')
" make sure, cache is invalidated!
@@ -421,9 +397,7 @@ func Test_breakindent11()
endfunc
func Test_breakindent11_vartabs()
if !has("vartabs")
return
endif
CheckFeature vartabs
" test strdisplaywidth()
call s:test_windows('setl cpo-=n sbr=>> nu nuw=4 nolist briopt= ts=4 vts=4')
let text = getline(2)
@@ -447,9 +421,7 @@ func Test_breakindent12()
endfunc
func Test_breakindent12_vartabs()
if !has("vartabs")
return
endif
CheckFeature vartabs
" test breakindent with long indent
let s:input = "\t\t\t\t\t{"
call s:test_windows('setl breakindent linebreak briopt=min:10 nu numberwidth=3 ts=4 list listchars=tab:>- vts=4')
@@ -478,9 +450,7 @@ func Test_breakindent13()
endfunc
func Test_breakindent13_vartabs()
if !has("vartabs")
return
endif
CheckFeature vartabs
let s:input = ""
call s:test_windows('setl breakindent briopt=min:10 ts=8 vts=8')
vert resize 20
@@ -512,9 +482,7 @@ func Test_breakindent14()
endfunc
func Test_breakindent14_vartabs()
if !has("vartabs")
return
endif
CheckFeature vartabs
let s:input = ""
call s:test_windows('setl breakindent briopt= ts=8 vts=8')
vert resize 30
@@ -548,9 +516,7 @@ func Test_breakindent15()
endfunc
func Test_breakindent15_vartabs()
if !has("vartabs")
return
endif
CheckFeature vartabs
let s:input = ""
call s:test_windows('setl breakindent briopt= ts=8 sw=8 vts=8')
vert resize 30
@@ -592,9 +558,7 @@ func Test_breakindent16()
endfunc
func Test_breakindent16_vartabs()
if !has("vartabs")
return
endif
CheckFeature vartabs
" Check that overlong lines are indented correctly.
let s:input = ""
call s:test_windows('setl breakindent briopt=min:0 ts=4 vts=4')
@@ -620,9 +584,7 @@ func Test_breakindent16_vartabs()
endfunc
func Test_breakindent17_vartabs()
if !has("vartabs")
return
endif
CheckFeature vartabs
let s:input = ""
call s:test_windows('setl breakindent list listchars=tab:<-> showbreak=+++')
call setline(1, "\t" . repeat('a', 63))
@@ -640,9 +602,7 @@ func Test_breakindent17_vartabs()
endfunc
func Test_breakindent18_vartabs()
if !has("vartabs")
return
endif
CheckFeature vartabs
let s:input = ""
call s:test_windows('setl breakindent list listchars=tab:<->')
call setline(1, "\t" . repeat('a', 63))
+2
View File
@@ -202,3 +202,5 @@ func Test_appendbufline_redraw()
call StopVimInTerminal(buf)
call delete('XscriptMatchCommon')
endfunc
" vim: shiftwidth=2 sts=2 expandtab
+3
View File
@@ -1,4 +1,5 @@
" Tests for the getbufinfo(), getwininfo() and gettabinfo() functions
source check.vim
func Test_getbufwintabinfo()
@@ -168,3 +169,5 @@ func Test_getbufinfo_lines()
edit Xfoo
bw!
endfunc
" vim: shiftwidth=2 sts=2 expandtab
+2
View File
@@ -191,3 +191,5 @@ func Test_cd_completion()
call delete('XComplDir2', 'd')
call delete('XComplFile')
endfunc
" vim: shiftwidth=2 sts=2 expandtab
+2
View File
@@ -93,3 +93,5 @@ func Test_changedtick_not_incremented_with_write()
bwipe
call delete(fname)
endfunc
" vim: shiftwidth=2 sts=2 expandtab
+3 -3
View File
@@ -1,10 +1,10 @@
" Tests for the changelist functionality
source check.vim
" Tests for the getchangelist() function
func Test_getchangelist()
if !has("jumplist")
return
endif
CheckFeature jumplist
bwipe!
enew
+1 -3
View File
@@ -1348,9 +1348,7 @@ endfunction
" This caused a crash, because messages were handled while peeking for a
" character.
func Test_exit_cb_wipes_buf()
if !has('timers')
return
endif
CheckFeature timers
set cursorline lazyredraw
call test_override('redraw_flag', 1)
new
+2
View File
@@ -102,3 +102,5 @@ func Test_checkpath3()
set include&
set includeexpr&
endfunc
" vim: shiftwidth=2 sts=2 expandtab
-1
View File
@@ -1,5 +1,4 @@
" Test for cinoptions and cindent
"
func Test_cino_hash()
" Test that curbuf->b_ind_hash_comment is correctly reset
+4
View File
@@ -1,3 +1,5 @@
" Test for CJK linebreak
scriptencoding utf-8
func Run_cjk_linebreak_after(rigorous)
@@ -95,3 +97,5 @@ func Test_cjk_linebreak_join_punct()
%d_
endfor
endfunc
" vim: shiftwidth=2 sts=2 expandtab
+1 -1
View File
@@ -36,7 +36,7 @@ endfunc
func Test_client_server()
let cmd = GetVimCommand()
if cmd == ''
return
throw 'GetVimCommand() failed'
endif
call Check_X11_Connection()
+3 -1
View File
@@ -1,5 +1,5 @@
" Tests for :[count]close! command
func Test_close_count()
enew! | only
@@ -172,3 +172,5 @@ func Test_winclose_command()
set nohidden
only!
endfunc
" vim: shiftwidth=2 sts=2 expandtab
+12 -24
View File
@@ -86,9 +86,7 @@ func Test_complete_wildmenu()
endfunc
func Test_map_completion()
if !has('cmdline_compl')
return
endif
CheckFeature cmdline_compl
call feedkeys(":map <unique> <si\<Tab>\<Home>\"\<CR>", 'xt')
call assert_equal('"map <unique> <silent>', getreg(':'))
call feedkeys(":map <script> <un\<Tab>\<Home>\"\<CR>", 'xt')
@@ -164,9 +162,7 @@ func Test_map_completion()
endfunc
func Test_match_completion()
if !has('cmdline_compl')
return
endif
CheckFeature cmdline_compl
hi Aardig ctermfg=green
call feedkeys(":match \<Tab>\<Home>\"\<CR>", 'xt')
call assert_equal('"match Aardig', getreg(':'))
@@ -175,9 +171,7 @@ func Test_match_completion()
endfunc
func Test_highlight_completion()
if !has('cmdline_compl')
return
endif
CheckFeature cmdline_compl
hi Aardig ctermfg=green
call feedkeys(":hi \<Tab>\<Home>\"\<CR>", 'xt')
call assert_equal('"hi Aardig', getreg(':'))
@@ -214,9 +208,7 @@ func Test_highlight_easter_egg()
endfunc
func Test_getcompletion()
if !has('cmdline_compl')
return
endif
CheckFeature cmdline_compl
let groupcount = len(getcompletion('', 'event'))
call assert_true(groupcount > 0)
let matchcount = len('File'->getcompletion('event'))
@@ -527,9 +519,7 @@ func Test_cmdline_remove_char()
endfunc
func Test_cmdline_keymap_ctrl_hat()
if !has('keymap')
return
endif
CheckFeature keymap
set keymap=esperanto
call feedkeys(":\"Jxauxdo \<C-^>Jxauxdo \<C-^>Jxauxdo\<CR>", 'tx')
@@ -596,8 +586,7 @@ func Test_cmdline_complete_user_names()
call feedkeys(':e ~' . first_letter . "\<c-a>\<c-B>\"\<cr>", 'tx')
call assert_match('^"e \~.*\<' . whoami . '\>', @:)
endif
endif
if has('win32')
elseif has('win32')
" Just in case: check that the system has an Administrator account.
let names = system('net user')
if names =~ 'Administrator'
@@ -606,14 +595,15 @@ func Test_cmdline_complete_user_names()
call feedkeys(':e ~A' . "\<c-a>\<c-B>\"\<cr>", 'tx')
call assert_match('^"e \~.*Administrator', @:)
endif
else
throw 'Skipped: does not work on this platform'
endif
endfunc
func Test_cmdline_complete_bang()
if executable('whoami')
call feedkeys(":!whoam\<C-A>\<C-B>\"\<CR>", 'tx')
call assert_match('^".*\<whoami\>', @:)
endif
CheckExecutable whoami
call feedkeys(":!whoam\<C-A>\<C-B>\"\<CR>", 'tx')
call assert_match('^".*\<whoami\>', @:)
endfunc
func Test_cmdline_complete_languages()
@@ -1256,9 +1246,7 @@ endfunc
" Test for the :! command
func Test_cmd_bang()
if !has('unix')
return
endif
CheckUnix
let lines =<< trim [SCRIPT]
" Test for no previous command
+2
View File
@@ -194,3 +194,5 @@ func Test_command_count_4()
tabonly!
bwipe!
endfunc
" vim: shiftwidth=2 sts=2 expandtab

Some files were not shown because too many files have changed in this diff Show More