summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2005-09-25 22:16:38 +0000
committerBram Moolenaar <Bram@vim.org>2005-09-25 22:16:38 +0000
commit1e01546026ce909b5fe56c05867f28e77d1b6eb3 (patch)
tree05ccef65c430097352670acbbeb5520d649ba841 /src
parentbfd8fc0529f46612f7b3efca6c7b3305e70ac374 (diff)
updated for version 7.0150
Diffstat (limited to 'src')
-rw-r--r--src/diff.c9
-rw-r--r--src/edit.c4
-rw-r--r--src/ex_docmd.c4
-rw-r--r--src/ex_getln.c13
-rw-r--r--src/feature.h15
-rw-r--r--src/fileio.c24
-rw-r--r--src/main.aap974
-rw-r--r--src/message.c1
-rw-r--r--src/move.c18
-rw-r--r--src/option.c2
-rw-r--r--src/quickfix.c4
-rw-r--r--src/spell.c32
-rw-r--r--src/testdir/test59.in20
-rw-r--r--src/version.h4
14 files changed, 595 insertions, 529 deletions
diff --git a/src/diff.c b/src/diff.c
index b6f936e8f1..1a382e399a 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -1905,7 +1905,10 @@ ex_diffgetput(eap)
{
/* No argument: Find the other buffer in the list of diff buffers. */
for (idx_other = 0; idx_other < DB_COUNT; ++idx_other)
- if (diffbuf[idx_other] != curbuf && diffbuf[idx_other] != NULL)
+ if (diffbuf[idx_other] != curbuf
+ && diffbuf[idx_other] != NULL
+ && (eap->cmdidx != CMD_diffput
+ || diffbuf[idx_other]->b_p_ma))
break;
if (idx_other == DB_COUNT)
{
@@ -1915,7 +1918,9 @@ ex_diffgetput(eap)
/* Check that there isn't a third buffer in the list */
for (i = idx_other + 1; i < DB_COUNT; ++i)
- if (diffbuf[i] != curbuf && diffbuf[i] != NULL)
+ if (diffbuf[i] != curbuf
+ && diffbuf[i] != NULL
+ && (eap->cmdidx != CMD_diffput || diffbuf[i]->b_p_ma))
{
EMSG(_("E101: More than two buffers in diff mode, don't know which one to use"));
return;
diff --git a/src/edit.c b/src/edit.c
index 5b72461356..d9bfb2fb0f 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -295,6 +295,7 @@ edit(cmdchar, startln, count)
*/
if (cmdchar != 'r' && cmdchar != 'v')
{
+# ifdef FEAT_EVAL
if (cmdchar == 'R')
ptr = (char_u *)"r";
else if (cmdchar == 'V')
@@ -302,6 +303,7 @@ edit(cmdchar, startln, count)
else
ptr = (char_u *)"i";
set_vim_var_string(VV_INSERTMODE, ptr, 1);
+# endif
apply_autocmds(EVENT_INSERTENTER, NULL, NULL, FALSE, curbuf);
}
#endif
@@ -6580,9 +6582,11 @@ ins_insert(replaceState)
#endif
#ifdef FEAT_AUTOCMD
+# ifdef FEAT_EVAL
set_vim_var_string(VV_INSERTMODE,
(char_u *)((State & REPLACE_FLAG) ? "i" :
replaceState == VREPLACE ? "v" : "r"), 1);
+# endif
apply_autocmds(EVENT_INSERTCHANGE, NULL, NULL, FALSE, curbuf);
#endif
if (State & REPLACE_FLAG)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 72ffc18c47..f88fbf815b 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -114,7 +114,6 @@ static int getargopt __ARGS((exarg_T *eap));
# define ex_cc ex_ni
# define ex_cnext ex_ni
# define ex_cfile ex_ni
-# define ex_cexpr ex_ni
# define qf_list ex_ni
# define qf_age ex_ni
# define ex_helpgrep ex_ni
@@ -125,6 +124,9 @@ static int getargopt __ARGS((exarg_T *eap));
# define ex_copen ex_ni
# define ex_cwindow ex_ni
#endif
+#if !defined(FEAT_QUICKFIX) || !defined(FEAT_EVAL)
+# define ex_cexpr ex_ni
+#endif
static int check_more __ARGS((int, int));
static linenr_T get_address __ARGS((char_u **, int skip, int to_other_file));
diff --git a/src/ex_getln.c b/src/ex_getln.c
index b69076fcc6..a3fac10ac7 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -428,13 +428,10 @@ getcmdline(firstc, count, indent)
if (p_wmnu && wild_menu_showing != 0)
{
int skt = KeyTyped;
- int old_RedrawingDisabled;
+ int old_RedrawingDisabled = RedrawingDisabled;
if (ccline.input_fn)
- {
- old_RedrawingDisabled = RedrawingDisabled;
RedrawingDisabled = 0;
- }
if (wild_menu_showing == WM_SCROLLED)
{
@@ -463,10 +460,10 @@ getcmdline(firstc, count, indent)
# endif
redraw_statuslines();
}
- if (ccline.input_fn)
- RedrawingDisabled = old_RedrawingDisabled;
KeyTyped = skt;
wild_menu_showing = 0;
+ if (ccline.input_fn)
+ RedrawingDisabled = old_RedrawingDisabled;
}
#endif
}
@@ -4876,7 +4873,7 @@ set_cmdline_pos(pos)
/*
* Get the current command-line type.
- * Returns ':' or '/' or '?' or '@' or '>'
+ * Returns ':' or '/' or '?' or '@' or '>' or '-'
* Only works when the command line is being edited.
* Returns NUL when something is wrong.
*/
@@ -4887,6 +4884,8 @@ get_cmdline_type()
if (p == NULL)
return NUL;
+ if (p->cmdfirstc == NUL)
+ return (p->input_fn) ? '@' : '-';
return p->cmdfirstc;
}
diff --git a/src/feature.h b/src/feature.h
index 0ab57e93a5..e69fcd9f26 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -202,13 +202,6 @@
#endif
/*
- * +textobjects Text objects: "vaw", "das", etc.
- */
-#ifdef FEAT_NORMAL
-# define FEAT_TEXTOBJ
-#endif
-
-/*
* +visual Visual mode.
* +visualextra Extra features for Visual mode (mostly block operators).
*/
@@ -383,12 +376,20 @@
* +profile Profiling for functions and scripts.
*/
#if defined(FEAT_HUGE) \
+ && defined(FEAT_EVAL) \
&& ((defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H)) \
|| defined(WIN3264))
# define FEAT_PROFILE
#endif
/*
+ * +textobjects Text objects: "vaw", "das", etc.
+ */
+#if defined(FEAT_NORMAL) && defined(FEAT_EVAL)
+# define FEAT_TEXTOBJ
+#endif
+
+/*
* Insert mode completion with 'completefunc'.
*/
#if defined(FEAT_INS_EXPAND) && defined(FEAT_EVAL)
diff --git a/src/fileio.c b/src/fileio.c
index 916fdcb5d9..e74306196b 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -2796,14 +2796,22 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
if (!buf_valid(buf))
buf = NULL;
if (buf == NULL || (buf->b_ml.ml_mfp == NULL && !empty_memline)
- || did_cmd || nofile_err || aborting())
+ || did_cmd || nofile_err
+#ifdef FEAT_EVAL
+ || aborting()
+#endif
+ )
{
--no_wait_return;
msg_scroll = msg_save;
if (nofile_err)
EMSG(_("E676: No matching autocommands for acwrite buffer"));
- if (aborting() || nofile_err)
+ if (nofile_err
+#ifdef FEAT_EVAL
+ || aborting()
+#endif
+ )
/* An aborting error, interrupt or exception in the
* autocommands. */
return FAIL;
@@ -6021,8 +6029,10 @@ buf_check_timestamp(buf, focus)
* Avoid being called recursively by setting "busy".
*/
busy = TRUE;
+# ifdef FEAT_EVAL
set_vim_var_string(VV_FCS_REASON, (char_u *)reason, -1);
set_vim_var_string(VV_FCS_CHOICE, (char_u *)"", -1);
+# endif
n = apply_autocmds(EVENT_FILECHANGEDSHELL,
buf->b_fname, buf->b_fname, FALSE, buf);
busy = FALSE;
@@ -6030,12 +6040,14 @@ buf_check_timestamp(buf, focus)
{
if (!buf_valid(buf))
EMSG(_("E246: FileChangedShell autocommand deleted buffer"));
+# ifdef FEAT_EVAL
s = get_vim_var_str(VV_FCS_CHOICE);
if (STRCMP(s, "reload") == 0 && *reason != 'd')
reload = TRUE;
else if (STRCMP(s, "ask") == 0)
n = FALSE;
else
+# endif
return 2;
}
if (!n)
@@ -7978,12 +7990,18 @@ apply_autocmds_retval(event, fname, fname_io, force, buf, retval)
{
int did_cmd;
+#ifdef FEAT_EVAL
if (should_abort(*retval))
return FALSE;
+#endif
did_cmd = apply_autocmds_group(event, fname, fname_io, force,
AUGROUP_ALL, buf, NULL);
- if (did_cmd && aborting())
+ if (did_cmd
+#ifdef FEAT_EVAL
+ && aborting()
+#endif
+ )
*retval = FAIL;
return did_cmd;
}
diff --git a/src/main.aap b/src/main.aap
index 83a9cd8ed2..f31f929ed6 100644
--- a/src/main.aap
+++ b/src/main.aap
@@ -6,15 +6,15 @@
# explanations.
#
# Optional arguments:
-# PREFIX=dir Overrules the install directory.
-# Can be specified when installing only.
-# Example: aap install PREFIX=$HOME
+# PREFIX=dir Overrules the install directory.
+# Can be specified when installing only.
+# Example: aap install PREFIX=$HOME
#
# Skip the configure stuff when "link.sh" is executing this recipe recursively
# to build pathdef.c or not building something and auto/config.aap does exist.
@if ((_no.TARGETARG != "pathdef" and has_build_target())
-@ or not os.path.exists("auto/config.aap")):
+@ or not os.path.exists("auto/config.aap")):
#
# A U T O C O N F
@@ -25,9 +25,9 @@
# there is no autoconf program skip this (the signature is often the only
# thing that's outdated)
auto/configure {signfile = mysign} : configure.in
- @if not program_path("autoconf"):
- :print Can't find autoconf, using existing configure script.
- @else:
+ @if not program_path("autoconf"):
+ :print Can't find autoconf, using existing configure script.
+ @else:
# Move configure aside, autoconf would overwrite it
:move {exist} configure configure.save
:sys autoconf
@@ -38,37 +38,37 @@
# Change the configure script to produce config.aap instead of config.mk.
auto/configure.aap : auto/configure
- :print Adjusting auto/configure for A-A-P.
- :cat auto/configure | :eval re.sub("config.mk", "config.aap", stdin)
- >! auto/configure.aap
- :chmod 755 auto/configure.aap
+ :print Adjusting auto/configure for A-A-P.
+ :cat auto/configure | :eval re.sub("config.mk", "config.aap", stdin)
+ >! auto/configure.aap
+ :chmod 755 auto/configure.aap
# The configure script uses the directory where it's located, use a link.
configure.aap: {buildcheck=}
- :symlink {f} auto/configure.aap configure.aap
+ :symlink {f} auto/configure.aap configure.aap
# Dependency: run configure.aap to update config.h and config.aap in the
# "auto" directory.
config {virtual} auto/config.h auto/config.aap :
- auto/configure.aap configure.aap
- config.arg config.h.in config.aap.in
- :sys CONFIG_STATUS=auto/config.status
+ auto/configure.aap configure.aap
+ config.arg config.h.in config.aap.in
+ :sys CONFIG_STATUS=auto/config.status
./configure.aap `file2string("config.arg")`
--cache-file=auto/config.cache
# Configure arguments: create an empty "config.arg" file when its missing
config.arg:
- :touch {exist} config.arg
+ :touch {exist} config.arg
# "auto/config.aap" contains a lot of settings, such as the name of the
# executable "Target".
# First update it, forcefully if the "reconfig" target was used.
@if _no.TARGETARG != "comment" and _no.TARGETARG != "make":
- @if "reconfig" in var2list(_no.TARGETARG):
- :del {force} auto/config.cache auto/config.status
- :update {force} auto/config.aap
- @else:
- :update auto/config.aap
+ @if "reconfig" in var2list(_no.TARGETARG):
+ :del {force} auto/config.cache auto/config.status
+ :update {force} auto/config.aap
+ @else:
+ :update auto/config.aap
# Include the recipe that autoconf generated.
:include auto/config.aap
@@ -87,93 +87,93 @@ prefix = `os.path.expanduser(prefix)`
#
:variant GUI
GTK
- GUI_SRC = gui.c gui_gtk.c gui_gtk_x11.c pty.c gui_beval.c
- gui_gtk_f.c
- GUI_OBJ =
- GUI_DEFS = -DFEAT_GUI_GTK $NARROW_PROTO
- GUI_IPATH = $GUI_INC_LOC
- GUI_LIBS_DIR = $GUI_LIB_LOC
- GUI_LIBS1 =
- GUI_LIBS2 = $GTK_LIBNAME
- GUI_TARGETS = installglinks
- GUI_MAN_TARGETS = installghelplinks
- GUI_TESTTARGET = gui
+ GUI_SRC = gui.c gui_gtk.c gui_gtk_x11.c pty.c gui_beval.c
+ gui_gtk_f.c
+ GUI_OBJ =
+ GUI_DEFS = -DFEAT_GUI_GTK $NARROW_PROTO
+ GUI_IPATH = $GUI_INC_LOC
+ GUI_LIBS_DIR = $GUI_LIB_LOC
+ GUI_LIBS1 =
+ GUI_LIBS2 = $GTK_LIBNAME
+ GUI_TARGETS = installglinks
+ GUI_MAN_TARGETS = installghelplinks
+ GUI_TESTTARGET = gui
KDE
- GUI_SRC = gui.c pty.c gui_kde.cc gui_kde_x11.cc
+ GUI_SRC = gui.c pty.c gui_kde.cc gui_kde_x11.cc
gui_kde_wid_moc.cc
kvim_iface_skel.cc
- GUI_OBJ = $BDIR/gui_kde_wid.o
- GUI_DEFS = -DFEAT_GUI_KDE $NARROW_PROTO
- GUI_IPATH = $GUI_INC_LOC
- GUI_LIBS_DIR = $GUI_LIB_LOC
- GUI_LIBS1 =
- GUI_LIBS2 =
- GUI_TARGETS = installglinks installkdeicons
- GUI_MAN_TARGETS = installghelplinks
+ GUI_OBJ = $BDIR/gui_kde_wid.o
+ GUI_DEFS = -DFEAT_GUI_KDE $NARROW_PROTO
+ GUI_IPATH = $GUI_INC_LOC
+ GUI_LIBS_DIR = $GUI_LIB_LOC
+ GUI_LIBS1 =
+ GUI_LIBS2 =
+ GUI_TARGETS = installglinks installkdeicons
+ GUI_MAN_TARGETS = installghelplinks
GUI_TESTTARGET = gui
MOTIF
- GUI_SRC = gui.c gui_motif.c gui_x11.c pty.c gui_beval.c
- gui_xmdlg.c gui_xmebw.c
- GUI_OBJ =
- GUI_DEFS = -DFEAT_GUI_MOTIF $NARROW_PROTO
- GUI_IPATH = $GUI_INC_LOC
- GUI_LIBS_DIR = $GUI_LIB_LOC
- GUI_LIBS1 =
- GUI_LIBS2 = $MOTIF_LIBNAME -lXt
- GUI_TARGETS = installglinks
- GUI_MAN_TARGETS = installghelplinks
- GUI_TESTTARGET = gui
+ GUI_SRC = gui.c gui_motif.c gui_x11.c pty.c gui_beval.c
+ gui_xmdlg.c gui_xmebw.c
+ GUI_OBJ =
+ GUI_DEFS = -DFEAT_GUI_MOTIF $NARROW_PROTO
+ GUI_IPATH = $GUI_INC_LOC
+ GUI_LIBS_DIR = $GUI_LIB_LOC
+ GUI_LIBS1 =
+ GUI_LIBS2 = $MOTIF_LIBNAME -lXt
+ GUI_TARGETS = installglinks
+ GUI_MAN_TARGETS = installghelplinks
+ GUI_TESTTARGET = gui
ATHENA
- # XAW_LIB et al. can be overruled to use Xaw3d widgets
- XAW_LIB ?= -lXaw
- GUI_SRC = gui.c gui_athena.c gui_x11.c pty.c gui_beval.c \
- gui_at_sb.c gui_at_fs.c
- GUI_OBJ =
- GUI_DEFS = -DFEAT_GUI_ATHENA $NARROW_PROTO
- GUI_IPATH = $GUI_INC_LOC
- GUI_LIBS_DIR = $GUI_LIB_LOC
- GUI_LIBS1 = $XAW_LIB
- GUI_LIBS2 = -lXt
- GUI_TARGETS = installglinks
- GUI_MAN_TARGETS = installghelplinks
- GUI_TESTTARGET = gui
+ # XAW_LIB et al. can be overruled to use Xaw3d widgets
+ XAW_LIB ?= -lXaw
+ GUI_SRC = gui.c gui_athena.c gui_x11.c pty.c gui_beval.c \
+ gui_at_sb.c gui_at_fs.c
+ GUI_OBJ =
+ GUI_DEFS = -DFEAT_GUI_ATHENA $NARROW_PROTO
+ GUI_IPATH = $GUI_INC_LOC
+ GUI_LIBS_DIR = $GUI_LIB_LOC
+ GUI_LIBS1 = $XAW_LIB
+ GUI_LIBS2 = -lXt
+ GUI_TARGETS = installglinks
+ GUI_MAN_TARGETS = installghelplinks
+ GUI_TESTTARGET = gui
NEXTAW
- # XAW_LIB et al. can be overruled to use Xaw3d widgets
- XAW_LIB ?= -lXaw
- GUI_SRC = gui.c gui_athena.c gui_x11.c pty.c gui_beval.c
- gui_at_fs.c
- GUI_OBJ =
- GUI_DEFS = -DFEAT_GUI_ATHENA -DFEAT_GUI_NEXTAW $NARROW_PROTO
- GUI_IPATH = $GUI_INC_LOC
- GUI_LIBS_DIR = $GUI_LIB_LOC
- GUI_LIBS1 = $NEXTAW_LIB
- GUI_LIBS2 = -lXt
- GUI_TARGETS = installglinks
- GUI_MAN_TARGETS = installghelplinks
- GUI_TESTTARGET = gui
+ # XAW_LIB et al. can be overruled to use Xaw3d widgets
+ XAW_LIB ?= -lXaw
+ GUI_SRC = gui.c gui_athena.c gui_x11.c pty.c gui_beval.c
+ gui_at_fs.c
+ GUI_OBJ =
+ GUI_DEFS = -DFEAT_GUI_ATHENA -DFEAT_GUI_NEXTAW $NARROW_PROTO
+ GUI_IPATH = $GUI_INC_LOC
+ GUI_LIBS_DIR = $GUI_LIB_LOC
+ GUI_LIBS1 = $NEXTAW_LIB
+ GUI_LIBS2 = -lXt
+ GUI_TARGETS = installglinks
+ GUI_MAN_TARGETS = installghelplinks
+ GUI_TESTTARGET = gui
PHOTONGUI
- GUI_SRC = gui.c gui_photon.c pty.c
- GUI_OBJ =
- GUI_DEFS = -DFEAT_GUI_PHOTON
- GUI_IPATH =
- GUI_LIBS_DIR =
- GUI_LIBS1 = -lph -lphexlib
- GUI_LIBS2 =
- GUI_TARGETS = installglinks
- GUI_MAN_TARGETS = installghelplinks
- GUI_TESTTARGET = gui
+ GUI_SRC = gui.c gui_photon.c pty.c
+ GUI_OBJ =
+ GUI_DEFS = -DFEAT_GUI_PHOTON
+ GUI_IPATH =
+ GUI_LIBS_DIR =
+ GUI_LIBS1 = -lph -lphexlib
+ GUI_LIBS2 =
+ GUI_TARGETS = installglinks
+ GUI_MAN_TARGETS = installghelplinks
+ GUI_TESTTARGET = gui
*
- GUI_SRC =
- GUI_OBJ =
- GUI_DEFS =
- GUI_IPATH =
- GUI_LIBS_DIR =
- GUI_LIBS1 =
- GUI_LIBS2 =
- GUI_TARGETS =
- GUI_MAN_TARGETS =
- GUI_TESTTARGET =
+ GUI_SRC =
+ GUI_OBJ =
+ GUI_DEFS =
+ GUI_IPATH =
+ GUI_LIBS_DIR =
+ GUI_LIBS1 =
+ GUI_LIBS2 =
+ GUI_TARGETS =
+ GUI_MAN_TARGETS =
+ GUI_TESTTARGET =
PRE_DEFS = -Iproto -I. $DEFS $GUI_DEFS $GUI_IPATH $CPPFLAGS $?(EXTRA_IPATHS)
@@ -216,71 +216,71 @@ CLEANFILES += gui_kde_wid_moc.cc kvim_iface_skel.cc *.kidl
# update to a newer version of A-A-P.
@if not has_target("fetch"):
fetch:
- :execute ../main.aap fetch
+ :execute ../main.aap fetch
# All the source files that need to be compiled.
# Some are optional and depend on configure.
# "version.c" is missing, it's always compiled (see below).
Source =
- buffer.c
- charset.c
- diff.c
- digraph.c
- edit.c
- eval.c
- ex_cmds.c
- ex_cmds2.c
- ex_docmd.c
- ex_eval.c
- ex_getln.c
- fileio.c
- fold.c
- getchar.c
+ buffer.c
+ charset.c
+ diff.c
+ digraph.c
+ edit.c
+ eval.c
+ ex_cmds.c
+ ex_cmds2.c
+ ex_docmd.c
+ ex_eval.c
+ ex_getln.c
+ fileio.c
+ fold.c
+ getchar.c
hardcopy.c
- hashtable.c
- if_cscope.c
- if_xcmdsrv.c
- main.c
- mark.c
- memfile.c
- memline.c
- menu.c
- message.c
- misc1.c
- misc2.c
- move.c
- mbyte.c
- normal.c
- ops.c
- option.c
- os_unix.c
- auto/pathdef.c
- quickfix.c
- regexp.c
- screen.c
- search.c
- spell.c
- syntax.c
- tag.c
- term.c
- ui.c
- undo.c
- window.c
- $OS_EXTRA_SRC
- $GUI_SRC
- $HANGULIN_SRC
+ hashtable.c
+ if_cscope.c
+ if_xcmdsrv.c
+ main.c
+ mark.c
+ memfile.c
+ memline.c
+ menu.c
+ message.c
+ misc1.c
+ misc2.c
+ move.c
+ mbyte.c
+ normal.c
+ ops.c
+ option.c
+ os_unix.c
+ auto/pathdef.c
+ quickfix.c
+ regexp.c
+ screen.c
+ search.c
+ spell.c
+ syntax.c
+ tag.c
+ term.c
+ ui.c
+ undo.c
+ window.c
+ $OS_EXTRA_SRC
+ $GUI_SRC
+ $HANGULIN_SRC
$MZSCHEME_SRC
- $PERL_SRC
- $NETBEANS_SRC
- $PYTHON_SRC
- $TCL_SRC
- $RUBY_SRC
- $SNIFF_SRC
- $WORKSHOP_SRC
+ $PERL_SRC
+ $NETBEANS_SRC
+ $PYTHON_SRC
+ $TCL_SRC
+ $RUBY_SRC
+ $SNIFF_SRC
+ $WORKSHOP_SRC
Objects =
- $GUI_OBJ
+ $GUI_OBJ
# TODO: make is still used for subdirectories, need to write a recipe.
MAKE ?= make
@@ -306,48 +306,48 @@ SRCPATH += auto
:program $Target : $Source $Objects
:action build my_prog object
- version_obj = `src2obj("version.c")`
- :do compile {target = $version_obj} version.c
- #:do build {target = $target {filetype = program}} $source $version_obj
- link_sed = $BDIR/link.sed
- @if os.path.exists(link_sed):
- :move {force} $link_sed auto/link.sed
- @else:
- :del {force} auto/link.sed
- :update link2.sh
- :sys LINK="$?(PURIFY) $?(SHRPENV) $CC $LDFLAGS \
- -o $target $source $version_obj $LIBS" \
- MAKE="aap" sh ./link2.sh
- :copy {force} auto/link.sed $BDIR/link.sed
+ version_obj = `src2obj("version.c")`
+ :do compile {target = $version_obj} version.c
+ #:do build {target = $target {filetype = program}} $source $version_obj
+ link_sed = $BDIR/link.sed
+ @if os.path.exists(link_sed):
+ :move {force} $link_sed auto/link.sed
+ @else:
+ :del {force} auto/link.sed
+ :update link2.sh
+ :sys LINK="$?(PURIFY) $?(SHRPENV) $CC $LDFLAGS \
+ -o $target $source $version_obj $LIBS" \
+ MAKE="aap" sh ./link2.sh
+ :copy {force} auto/link.sed $BDIR/link.sed
# "link.sh" must be modified for A-A-P
link2.sh : link.sh
:print Adjusting $-source for A-A-P.
:cat $source | :eval re.sub("objects/pathdef.o", "pathdef", stdin)
- >! $target
+ >! $target
xxd/xxd$EXESUF: xxd/xxd.c
:sys cd xxd; CC="$CC" CFLAGS="$CPPFLAGS $CFLAGS" \
- $MAKE -f Makefile
+ $MAKE -f Makefile
# Build the language specific files if they were unpacked.
# Generate the converted .mo files separately, it's no problem if this fails.
languages {virtual}:
- @if _no.MAKEMO:
- :sys cd $PODIR; CC="$CC" $MAKE prefix=$DESTDIR$prefix
- @try:
- :sys cd $PODIR; CC="$CC" $MAKE prefix=$DESTDIR$prefix converted
- @except:
- :print Generated converted language files failed, continuing
+ @if _no.MAKEMO:
+ :sys cd $PODIR; CC="$CC" $MAKE prefix=$DESTDIR$prefix
+ @try:
+ :sys cd $PODIR; CC="$CC" $MAKE prefix=$DESTDIR$prefix converted
+ @except:
+ :print Generated converted language files failed, continuing
# Update the *.po files for changes in the sources. Only run manually.
update-po {virtual}:
- cd $PODIR; CC="$CC" $MAKE prefix=$DESTDIR$prefix update-po
+ cd $PODIR; CC="$CC" $MAKE prefix=$DESTDIR$prefix update-po
auto/if_perl.c: if_perl.xs
- :sys $PERL -e 'unless ( $$] >= 5.005 ) { for (qw(na defgv errgv)) { print "#define PL_$$_ $$_\n" }}' > $target
- :sys $PERL $PERLLIB/ExtUtils/xsubpp -prototypes -typemap \
- $PERLLIB/ExtUtils/typemap if_perl.xs >> $target
+ :sys $PERL -e 'unless ( $$] >= 5.005 ) { for (qw(na defgv errgv)) { print "#define PL_$$_ $$_\n" }}' > $target
+ :sys $PERL $PERLLIB/ExtUtils/xsubpp -prototypes -typemap \
+ $PERLLIB/ExtUtils/typemap if_perl.xs >> $target
$BDIR/gui_kde_wid.o: gui_kde_wid.cc
:sys $MOC -o gui_kde_wid_moc.cc gui_kde_wid.h
@@ -364,63 +364,63 @@ kvim_iface_skel.cc: $BDIR/gui_kde_wid.o
auto/osdef.h: auto/config.h osdef.sh osdef1.h.in osdef2.h.in
- :sys CC="$CC $CFLAGS" srcdir=$srcdir sh $srcdir/osdef.sh
+ :sys CC="$CC $CFLAGS" srcdir=$srcdir sh $srcdir/osdef.sh
pathdef {virtual} : $BDIR/auto/pathdef$OBJSUF
auto/pathdef.c: auto/config.aap
- :print Creating $target
- :print >! $target /* pathdef.c */
- :print >> $target /* This file is automatically created by main.aap */
- :print >> $target /* DO NOT EDIT! Change main.aap only. */
- :print >> $target $#include "vim.h"
- :print >> $target char_u *default_vim_dir = (char_u *)"$VIMRCLOC";
- :print >> $target char_u *default_vimruntime_dir = (char_u *)"$?VIMRUNTIMEDIR";
- v = $CC -c -I$srcdir $CFLAGS
+ :print Creating $target
+ :print >! $target /* pathdef.c */
+ :print >> $target /* This file is automatically created by main.aap */
+ :print >> $target /* DO NOT EDIT! Change main.aap only. */
+ :print >> $target $#include "vim.h"
+ :print >> $target char_u *default_vim_dir = (char_u *)"$VIMRCLOC";
+ :print >> $target char_u *default_vimruntime_dir = (char_u *)"$?VIMRUNTIMEDIR";
+ v = $CC -c -I$srcdir $CFLAGS
@v = string.replace(v, '"', '\\"')
- :print >> $target char_u *all_cflags = (char_u *)"$v";
- linkcmd = $CC $LDFLAGS -o $VIMTARGET $LIBS
- link_sed = $BDIR/link.sed
- @if os.path.exists(link_sed):
- # filter $linkcmd through $BDIR/link.sed
- :print $linkcmd | :syseval sed -f $link_sed | :eval re.sub("\n", "", stdin) | :assign linkcmd
+ :print >> $target char_u *all_cflags = (char_u *)"$v";
+ linkcmd = $CC $LDFLAGS -o $VIMTARGET $LIBS
+ link_sed = $BDIR/link.sed
+ @if os.path.exists(link_sed):
+ # filter $linkcmd through $BDIR/link.sed
+ :print $linkcmd | :syseval sed -f $link_sed | :eval re.sub("\n", "", stdin) | :assign linkcmd
@linkcmd = string.replace(linkcmd, '"', '\\"')
- :print >> $target char_u *all_lflags = (char_u *)"$linkcmd";
- @if _no.get("COMPILEDBY"):
- who = $COMPILEDBY
- where = ''
- @else:
- :syseval whoami | :eval re.sub("\n", "", stdin) | :assign who
+ :print >> $target char_u *all_lflags = (char_u *)"$linkcmd";
+ @if _no.get("COMPILEDBY"):
+ who = $COMPILEDBY
+ where = ''
+ @else:
+ :syseval whoami | :eval re.sub("\n", "", stdin) | :assign who
- :syseval hostname | :eval re.sub("\n", "", stdin) | :assign where
- :print >> $target char_u *compiled_user = (char_u *)"$who";
- :print >> $target char_u *compiled_sys = (char_u *)"$where";
+ :syseval hostname | :eval re.sub("\n", "", stdin) | :assign where
+ :print >> $target char_u *compiled_user = (char_u *)"$who";
+ :print >> $target char_u *compiled_sys = (char_u *)"$where";
### Names of the programs and targets
-VIMTARGET = $VIMNAME$EXESUF
-EXTARGET = $EXNAME$LNKSUF
-VIEWTARGET = $VIEWNAME$LNKSUF
-GVIMNAME = g$VIMNAME
-GVIMTARGET = $GVIMNAME$LNKSUF
-GVIEWNAME = g$VIEWNAME
-GVIEWTARGET = $GVIEWNAME$LNKSUF
-RVIMNAME = r$VIMNAME
-RVIMTARGET = $RVIMNAME$LNKSUF
-RVIEWNAME = r$VIEWNAME
-RVIEWTARGET = $RVIEWNAME$LNKSUF
-RGVIMNAME = r$GVIMNAME
-RGVIMTARGET = $RGVIMNAME$LNKSUF
-RGVIEWNAME = r$GVIEWNAME
-RGVIEWTARGET = $RGVIEWNAME$LNKSUF
-VIMDIFFNAME = $(VIMNAME)diff
-GVIMDIFFNAME = g$VIMDIFFNAME
-VIMDIFFTARGET = $VIMDIFFNAME$LNKSUF
-GVIMDIFFTARGET = $GVIMDIFFNAME$LNKSUF
-EVIMNAME = e$VIMNAME
-EVIMTARGET = $EVIMNAME$LNKSUF
-EVIEWNAME = e$VIEWNAME
-EVIEWTARGET = $EVIEWNAME$LNKSUF
+VIMTARGET = $VIMNAME$EXESUF
+EXTARGET = $EXNAME$LNKSUF
+VIEWTARGET = $VIEWNAME$LNKSUF
+GVIMNAME = g$VIMNAME
+GVIMTARGET = $GVIMNAME$LNKSUF
+GVIEWNAME = g$VIEWNAME
+GVIEWTARGET = $GVIEWNAME$LNKSUF
+RVIMNAME = r$VIMNAME
+RVIMTARGET = $RVIMNAME$LNKSUF
+RVIEWNAME = r$VIEWNAME
+RVIEWTARGET = $RVIEWNAME$LNKSUF
+RGVIMNAME = r$GVIMNAME
+RGVIMTARGET = $RGVIMNAME$LNKSUF
+RGVIEWNAME = r$GVIEWNAME
+RGVIEWTARGET = $RGVIEWNAME$LNKSUF
+VIMDIFFNAME = $(VIMNAME)diff
+GVIMDIFFNAME = g$VIMDIFFNAME
+VIMDIFFTARGET = $VIMDIFFNAME$LNKSUF
+GVIMDIFFTARGET = $GVIMDIFFNAME$LNKSUF
+EVIMNAME = e$VIMNAME
+EVIMTARGET = $EVIMNAME$LNKSUF
+EVIEWNAME = e$VIEWNAME
+EVIEWTARGET = $EVIEWNAME$LNKSUF
### Names of the tools that are also made
TOOLS = xxd/xxd$EXESUF
@@ -453,67 +453,67 @@ TUTORSUBDIR = /tutor
PRINTSUBDIR = /print
PODIR = po
-### VIMLOC common root of the Vim files (all versions)
-### VIMRTLOC common root of the runtime Vim files (this version)
-### VIMRCLOC compiled-in location for global [g]vimrc files (all versions)
+### VIMLOC common root of the Vim files (all versions)
+### VIMRTLOC common root of the runtime Vim files (this version)
+### VIMRCLOC compiled-in location for global [g]vimrc files (all versions)
### VIMRUNTIMEDIR compiled-in location for runtime files (optional)
-### HELPSUBLOC location for help files
-### COLSUBLOC location for colorscheme files
-### SYNSUBLOC location for syntax files
-### INDSUBLOC location for indent files
-### AUTOSUBLOC location for standard autoload files
-### PLUGSUBLOC location for standard plugin files
+### HELPSUBLOC location for help files
+### COLSUBLOC location for colorscheme files
+### SYNSUBLOC location for syntax files
+### INDSUBLOC location for indent files
+### AUTOSUBLOC location for standard autoload files
+### PLUGSUBLOC location for standard plugin files
### FTPLUGSUBLOC location for ftplugin files
-### LANGSUBLOC location for language files
-### COMPSUBLOC location for compiler files
-### KMAPSUBLOC location for keymap files
-### MACROSUBLOC location for macro files
-### TOOLSSUBLOC location for tools files
-### TUTORSUBLOC location for tutor files
-### PRINTSUBLOC location for print files
-### SCRIPTLOC location for script files (menu.vim, bugreport.vim, ..)
+### LANGSUBLOC location for language files
+### COMPSUBLOC location for compiler files
+### KMAPSUBLOC location for keymap files
+### MACROSUBLOC location for macro files
+### TOOLSSUBLOC location for tools files
+### TUTORSUBLOC location for tutor files
+### PRINTSUBLOC location for print files
+### SCRIPTLOC location for script files (menu.vim, bugreport.vim, ..)
### You can override these if you want to install them somewhere else.
### Edit feature.h for compile-time settings.
-VIMLOC = $DATADIR$VIMDIR
-VIMRTLOC = $DATADIR$VIMDIR$VIMRTDIR
-VIMRCLOC = $VIMLOC
-HELPSUBLOC = $VIMRTLOC$HELPSUBDIR
-COLSUBLOC = $VIMRTLOC$COLSUBDIR
-SYNSUBLOC = $VIMRTLOC$SYNSUBDIR
-INDSUBLOC = $VIMRTLOC$INDSUBDIR
-AUTOSUBLOC = $VIMRTLOC$AUTOSUBDIR
-PLUGSUBLOC = $VIMRTLOC$PLUGSUBDIR
-FTPLUGSUBLOC = $VIMRTLOC$FTPLUGSUBDIR
-LANGSUBLOC = $VIMRTLOC$LANGSUBDIR
-COMPSUBLOC = $VIMRTLOC$COMPSUBDIR
-KMAPSUBLOC = $VIMRTLOC$KMAPSUBDIR
-MACROSUBLOC = $VIMRTLOC$MACROSUBDIR
-TOOLSSUBLOC = $VIMRTLOC$TOOLSSUBDIR
-TUTORSUBLOC = $VIMRTLOC$TUTORSUBDIR
-PRINTSUBLOC = $VIMRTLOC$PRINTSUBDIR
-SCRIPTLOC = $VIMRTLOC
+VIMLOC = $DATADIR$VIMDIR
+VIMRTLOC = $DATADIR$VIMDIR$VIMRTDIR
+VIMRCLOC = $VIMLOC
+HELPSUBLOC = $VIMRTLOC$HELPSUBDIR
+COLSUBLOC = $VIMRTLOC$COLSUBDIR
+SYNSUBLOC = $VIMRTLOC$SYNSUBDIR
+INDSUBLOC = $VIMRTLOC$INDSUBDIR
+AUTOSUBLOC = $VIMRTLOC$AUTOSUBDIR
+PLUGSUBLOC = $VIMRTLOC$PLUGSUBDIR
+FTPLUGSUBLOC = $VIMRTLOC$FTPLUGSUBDIR
+LANGSUBLOC = $VIMRTLOC$LANGSUBDIR
+COMPSUBLOC = $VIMRTLOC$COMPSUBDIR
+KMAPSUBLOC = $VIMRTLOC$KMAPSUBDIR
+MACROSUBLOC = $VIMRTLOC$MACROSUBDIR
+TOOLSSUBLOC = $VIMRTLOC$TOOLSSUBDIR
+TUTORSUBLOC = $VIMRTLOC$TUTORSUBDIR
+PRINTSUBLOC = $VIMRTLOC$PRINTSUBDIR
+SCRIPTLOC = $VIMRTLOC
### Only set VIMRUNTIMEDIR when VIMRTLOC is set to a different location and
### the runtime directory is not below it.
#VIMRUNTIMEDIR = $VIMRTLOC
### Name of the evim file target.
-EVIM_FILE = $DESTDIR$SCRIPTLOC/evim.vim
-MSWIN_FILE = $DESTDIR$SCRIPTLOC/mswin.vim
+EVIM_FILE = $DESTDIR$SCRIPTLOC/evim.vim
+MSWIN_FILE = $DESTDIR$SCRIPTLOC/mswin.vim
### Name of the menu file target.
-SYS_MENU_FILE = $DESTDIR$SCRIPTLOC/menu.vim
+SYS_MENU_FILE = $DESTDIR$SCRIPTLOC/menu.vim
SYS_SYNMENU_FILE = $DESTDIR$SCRIPTLOC/synmenu.vim
SYS_DELMENU_FILE = $DESTDIR$SCRIPTLOC/delmenu.vim
### Name of the bugreport file target.
-SYS_BUGR_FILE = $DESTDIR$SCRIPTLOC/bugreport.vim
+SYS_BUGR_FILE = $DESTDIR$SCRIPTLOC/bugreport.vim
### Name of the file type detection file target.
SYS_FILETYPE_FILE = $DESTDIR$SCRIPTLOC/filetype.vim
### Name of the file type detection file target.
-SYS_FTOFF_FILE = $DESTDIR$SCRIPTLOC/ftoff.vim
+SYS_FTOFF_FILE = $DESTDIR$SCRIPTLOC/ftoff.vim
### Name of the file type detection script file target.
SYS_SCRIPTS_FILE = $DESTDIR$SCRIPTLOC/scripts.vim
@@ -622,9 +622,9 @@ DEST_MAN = $DESTDIR$MANSUBDIR
# These are directories, create them when needed.
:attr {directory = $DIRMOD} $DEST_BIN $DEST_VIM $DEST_RT $DEST_HELP $DEST_COL
- $DEST_SYN $DEST_IND $DEST_AUTO $DEST_PLUG $DEST_FTP $DEST_LANG
- $DEST_COMP $DEST_KMAP $DEST_MACRO $DEST_TOOLS $DEST_TUTOR
- $DEST_SCRIPT $DEST_PRINT $DEST_MAN
+ $DEST_SYN $DEST_IND $DEST_AUTO $DEST_PLUG $DEST_FTP $DEST_LANG
+ $DEST_COMP $DEST_KMAP $DEST_MACRO $DEST_TOOLS $DEST_TUTOR
+ $DEST_SCRIPT $DEST_PRINT $DEST_MAN
#
# I N S T A L L
@@ -640,235 +640,235 @@ install:
:update installvim installtools install-languages install-icons
@else:
# Bin directory is not writable, need to become root.
- :print The destination directory "$DEST_BIN" is not writable.
- :print If this is the wrong directory, use PREFIX to specify another one.
+ :print The destination directory "$DEST_BIN" is not writable.
+ :print If this is the wrong directory, use PREFIX to specify another one.
:print Otherwise, type the root password to continue installing.
:asroot $AAP install
installvim {virtual}: installvimbin installruntime installlinks \
- installhelplinks installmacros installtutor
+ installhelplinks installmacros installtutor
installvimbin {virtual}{force}: $Target $DEST_BIN
- exe = $DEST_BI