]> granicus.if.org Git - vim/commitdiff
patch 8.0.1564: too many #ifdefs v8.0.1564
authorBram Moolenaar <Bram@vim.org>
Sun, 4 Mar 2018 17:08:14 +0000 (18:08 +0100)
committerBram Moolenaar <Bram@vim.org>
Sun, 4 Mar 2018 17:08:14 +0000 (18:08 +0100)
Problem:    Too many #ifdefs.
Solution:   Graduate the +autocmd feature. Takes away 450 #ifdefs and
            increases code size of tiny Vim by only 40 Kbyte.

48 files changed:
src/buffer.c
src/diff.c
src/edit.c
src/eval.c
src/evalfunc.c
src/ex_cmds.c
src/ex_cmds2.c
src/ex_docmd.c
src/ex_getln.c
src/feature.h
src/fileio.c
src/getchar.c
src/globals.h
src/gui.c
src/gui_mac.c
src/if_cscope.c
src/if_xcmdsrv.c
src/main.c
src/mbyte.c
src/memline.c
src/menu.c
src/misc1.c
src/misc2.c
src/move.c
src/netbeans.c
src/normal.c
src/ops.c
src/option.c
src/option.h
src/os_amiga.c
src/os_mswin.c
src/os_unix.c
src/os_win32.c
src/quickfix.c
src/screen.c
src/search.c
src/spell.c
src/structs.h
src/syntax.c
src/tag.c
src/term.c
src/terminal.c
src/ui.c
src/undo.c
src/userfunc.c
src/version.c
src/vim.h
src/window.c

index a3a7e00c47bdce4ff51c977e30aee8828ab5573a..3285577412fc518e8c1c7d01a91ac46d38ad5415 100644 (file)
@@ -63,9 +63,7 @@ static void insert_sign(buf_T *buf, signlist_T *prev, signlist_T *next, int id,
 static char *msg_loclist = N_("[Location List]");
 static char *msg_qflist = N_("[Quickfix List]");
 #endif
-#ifdef FEAT_AUTOCMD
 static char *e_auabort = N_("E855: Autocommands caused command to abort");
-#endif
 
 /* Number of times free_buffer() was called. */
 static int     buf_free_count = 0;
@@ -116,17 +114,15 @@ read_buffer(
        else if (retval == OK)
            unchanged(curbuf, FALSE);
 
-#ifdef FEAT_AUTOCMD
        if (retval == OK)
        {
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
            apply_autocmds_retval(EVENT_STDINREADPOST, NULL, NULL, FALSE,
-                                                       curbuf, &retval);
-# else
+                                                             curbuf, &retval);
+#else
            apply_autocmds(EVENT_STDINREADPOST, NULL, NULL, FALSE, curbuf);
-# endif
-       }
 #endif
+       }
     }
     return retval;
 }
@@ -143,9 +139,7 @@ open_buffer(
     int                flags)              /* extra flags for readfile() */
 {
     int                retval = OK;
-#ifdef FEAT_AUTOCMD
     bufref_T   old_curbuf;
-#endif
 #ifdef FEAT_SYN_HL
     long       old_tw = curbuf->b_p_tw;
 #endif
@@ -188,12 +182,10 @@ open_buffer(
        return FAIL;
     }
 
-#ifdef FEAT_AUTOCMD
     /* The autocommands in readfile() may change the buffer, but only AFTER
      * reading the file. */
     set_bufref(&old_curbuf, curbuf);
     modified_was_set = FALSE;
-#endif
 
     /* mark cursor position as being invalid */
     curwin->w_valid = 0;
@@ -289,11 +281,9 @@ open_buffer(
      * the changed flag.  Unless in readonly mode: "ls | gview -".
      * When interrupted and 'cpoptions' contains 'i' set changed flag. */
     if ((got_int && vim_strchr(p_cpo, CPO_INTMOD) != NULL)
-#ifdef FEAT_AUTOCMD
                || modified_was_set     /* ":set modified" used in autocmd */
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
                || (aborting() && vim_strchr(p_cpo, CPO_INTMOD) != NULL)
-# endif
 #endif
        )
        changed();
@@ -315,25 +305,22 @@ open_buffer(
     foldUpdateAll(curwin);
 #endif
 
-#ifdef FEAT_AUTOCMD
     /* need to set w_topline, unless some autocommand already did that. */
     if (!(curwin->w_valid & VALID_TOPLINE))
     {
        curwin->w_topline = 1;
-# ifdef FEAT_DIFF
+#ifdef FEAT_DIFF
        curwin->w_topfill = 0;
-# endif
+#endif
     }
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
     apply_autocmds_retval(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf, &retval);
-# else
+#else
     apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
-# endif
 #endif
 
     if (retval == OK)
     {
-#ifdef FEAT_AUTOCMD
        /*
         * The autocommands may have changed the current buffer.  Apply the
         * modelines to the correct buffer, if it still exists and is loaded.
@@ -344,22 +331,19 @@ open_buffer(
 
            /* Go to the buffer that was opened. */
            aucmd_prepbuf(&aco, old_curbuf.br_buf);
-#endif
            do_modelines(0);
            curbuf->b_flags &= ~(BF_CHECK_RO | BF_NEVERLOADED);
 
-#ifdef FEAT_AUTOCMD
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
            apply_autocmds_retval(EVENT_BUFWINENTER, NULL, NULL, FALSE, curbuf,
-                                                                   &retval);
-# else
+                                                                     &retval);
+#else
            apply_autocmds(EVENT_BUFWINENTER, NULL, NULL, FALSE, curbuf);
-# endif
+#endif
 
            /* restore curwin/curbuf and a few other things */
            aucmd_restbuf(&aco);
        }
-#endif
     }
 
     return retval;
@@ -454,14 +438,12 @@ close_buffer(
     int                action,
     int                abort_if_last UNUSED)
 {
-#ifdef FEAT_AUTOCMD
     int                is_curbuf;
     int                nwindows;
     bufref_T   bufref;
     int                is_curwin = (curwin != NULL && curwin->w_buffer == buf);
     win_T      *the_curwin = curwin;
     tabpage_T  *the_curtab = curtab;
-#endif
     int                unload_buf = (action != 0);
     int                del_buf = (action == DOBUF_DEL || action == DOBUF_WIPE);
     int                wipe_buf = (action == DOBUF_WIPE);
@@ -510,7 +492,6 @@ close_buffer(
     }
 #endif
 
-#ifdef FEAT_AUTOCMD
     /* Disallow deleting the buffer when it is locked (already being closed or
      * halfway a command that relies on it). Unloading is allowed. */
     if (buf->b_locked > 0 && (del_buf || wipe_buf))
@@ -518,7 +499,6 @@ close_buffer(
        EMSG(_("E937: Attempt to delete a buffer that is in use"));
        return;
     }
-#endif
 
     /* check no autocommands closed the window */
     if (win != NULL && win_valid_any_tab(win))
@@ -534,7 +514,6 @@ close_buffer(
                    win->w_cursor.col, TRUE);
     }
 
-#ifdef FEAT_AUTOCMD
     set_bufref(&bufref, buf);
 
     /* When the buffer is no longer in a window, trigger BufWinLeave */
@@ -570,10 +549,10 @@ aucmd_abort:
                /* Autocommands made this the only window. */
                goto aucmd_abort;
        }
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
        if (aborting())     /* autocmds may abort script processing */
            return;
-# endif
+#endif
     }
 
     /* If the buffer was in curwin and the window has changed, go back to that
@@ -587,7 +566,6 @@ aucmd_abort:
     }
 
     nwindows = buf->b_nwindows;
-#endif
 
     /* decrease the link count from windows (unless not in any window) */
     if (buf->b_nwindows > 0)
@@ -620,23 +598,20 @@ aucmd_abort:
      * Free all things allocated for this buffer.
      * Also calls the "BufDelete" autocommands when del_buf is TRUE.
      */
-#ifdef FEAT_AUTOCMD
     /* Remember if we are closing the current buffer.  Restore the number of
      * windows, so that autocommands in buf_freeall() don't get confused. */
     is_curbuf = (buf == curbuf);
     buf->b_nwindows = nwindows;
-#endif
 
     buf_freeall(buf, (del_buf ? BFA_DEL : 0) + (wipe_buf ? BFA_WIPE : 0));
 
-#ifdef FEAT_AUTOCMD
     /* Autocommands may have deleted the buffer. */
     if (!bufref_valid(&bufref))
        return;
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
     if (aborting())        /* autocmds may abort script processing */
        return;
-# endif
+#endif
 
     /*
      * It's possible that autocommands change curbuf to the one being deleted.
@@ -655,7 +630,6 @@ aucmd_abort:
      * Decrement the count for the close we do here. */
     if (buf->b_nwindows > 0)
        --buf->b_nwindows;
-#endif
 
     /*
      * Remove the buffer from the list.
@@ -732,7 +706,6 @@ buf_clear_file(buf_T *buf)
     void
 buf_freeall(buf_T *buf, int flags)
 {
-#ifdef FEAT_AUTOCMD
     int                is_curbuf = (buf == curbuf);
     bufref_T   bufref;
     int                is_curwin = (curwin != NULL && curwin->w_buffer == buf);
@@ -778,10 +751,10 @@ buf_freeall(buf_T *buf, int flags)
        unblock_autocmds();
     }
 
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
     if (aborting())        /* autocmds may abort script processing */
        return;
-# endif
+#endif
 
     /*
      * It's possible that autocommands change curbuf to the one being deleted.
@@ -791,7 +764,6 @@ buf_freeall(buf_T *buf, int flags)
      */
     if (buf == curbuf && !is_curbuf)
        return;
-#endif
 #ifdef FEAT_DIFF
     diff_buf_delete(buf);          /* Can't use 'diff' for unloaded buffer. */
 #endif
@@ -870,7 +842,6 @@ free_buffer(buf_T *buf)
 
     buf_hashtab_remove(buf);
 
-#ifdef FEAT_AUTOCMD
     aubuflocal_remove(buf);
 
     if (autocmd_busy)
@@ -881,7 +852,6 @@ free_buffer(buf_T *buf)
        au_pending_free_buf = buf;
     }
     else
-#endif
        vim_free(buf);
 }
 
@@ -994,7 +964,7 @@ goto_buffer(
 # if defined(HAS_SWAP_EXISTS_ACTION)
     if (swap_exists_action == SEA_QUIT && *eap->cmd == 's')
     {
-#  if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#  if defined(FEAT_EVAL)
        cleanup_T   cs;
 
        /* Reset the error/interrupt/exception state here so that
@@ -1007,7 +977,7 @@ goto_buffer(
        swap_exists_action = SEA_NONE;
        swap_exists_did_quit = TRUE;
 
-#  if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#  if defined(FEAT_EVAL)
        /* Restore the error/interrupt/exception state if not discarded by a
         * new aborting error, interrupt, or uncaught exception. */
        leave_cleanup(&cs);
@@ -1027,17 +997,17 @@ goto_buffer(
     void
 handle_swap_exists(bufref_T *old_curbuf)
 {
-# if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+# if defined(FEAT_EVAL)
     cleanup_T  cs;
 # endif
-#ifdef FEAT_SYN_HL
+# ifdef FEAT_SYN_HL
     long       old_tw = curbuf->b_p_tw;
-#endif
+# endif
     buf_T      *buf;
 
     if (swap_exists_action == SEA_QUIT)
     {
-# if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+# if defined(FEAT_EVAL)
        /* Reset the error/interrupt/exception state here so that
         * aborting() returns FALSE when closing a buffer. */
        enter_cleanup(&cs);
@@ -1057,14 +1027,14 @@ handle_swap_exists(bufref_T *old_curbuf)
        if (buf != NULL)
        {
            enter_buffer(buf);
-#ifdef FEAT_SYN_HL
+# ifdef FEAT_SYN_HL
            if (old_tw != curbuf->b_p_tw)
                check_colorcolumn(curwin);
-#endif
+# endif
        }
        /* If "old_curbuf" is NULL we are in big trouble here... */
 
-# if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+# if defined(FEAT_EVAL)
        /* Restore the error/interrupt/exception state if not discarded by a
         * new aborting error, interrupt, or uncaught exception. */
        leave_cleanup(&cs);
@@ -1072,7 +1042,7 @@ handle_swap_exists(bufref_T *old_curbuf)
     }
     else if (swap_exists_action == SEA_RECOVER)
     {
-# if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+# if defined(FEAT_EVAL)
        /* Reset the error/interrupt/exception state here so that
         * aborting() returns FALSE when closing a buffer. */
        enter_cleanup(&cs);
@@ -1085,7 +1055,7 @@ handle_swap_exists(bufref_T *old_curbuf)
        cmdline_row = msg_row;
        do_modelines(0);
 
-# if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+# if defined(FEAT_EVAL)
        /* Restore the error/interrupt/exception state if not discarded by a
         * new aborting error, interrupt, or uncaught exception. */
        leave_cleanup(&cs);
@@ -1400,23 +1370,21 @@ do_buffer(
 
        if (!forceit && bufIsChanged(buf))
        {
-#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
+# if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
            if ((p_confirm || cmdmod.confirm) && p_write)
            {
                dialog_changed(buf, FALSE);
-# ifdef FEAT_AUTOCMD
                if (!bufref_valid(&bufref))
                    /* Autocommand deleted buffer, oops!  It's not changed
                     * now. */
                    return FAIL;
-# endif
                /* If it's still changed fail silently, the dialog already
                 * mentioned why it fails. */
                if (bufIsChanged(buf))
                    return FAIL;
            }
            else
-#endif
+# endif
            {
                EMSGN(_("E89: No write since last change for buffer %ld (add ! to override)"),
                                                                 buf->b_fnum);
@@ -1444,9 +1412,7 @@ do_buffer(
         * a window with this buffer.
         */
        while (buf == curbuf
-#ifdef FEAT_AUTOCMD
                   && !(curwin->w_closing || curwin->w_buffer->b_locked > 0)
-#endif
                   && (!ONE_WINDOW || first_tabpage->tp_next != NULL))
        {
            if (win_close(curwin, FALSE) == FAIL)
@@ -1476,15 +1442,10 @@ do_buffer(
         */
        buf = NULL;     /* selected buffer */
        bp = NULL;      /* used when no loaded buffer found */
-#ifdef FEAT_AUTOCMD
        if (au_new_curbuf.br_buf != NULL && bufref_valid(&au_new_curbuf))
            buf = au_new_curbuf.br_buf;
-# ifdef FEAT_JUMPLIST
-       else
-# endif
-#endif
 #ifdef FEAT_JUMPLIST
-           if (curwin->w_jumplistlen > 0)
+       else if (curwin->w_jumplistlen > 0)
        {
            int     jumpidx;
 
@@ -1603,17 +1564,13 @@ do_buffer(
 #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
        if ((p_confirm || cmdmod.confirm) && p_write)
        {
-# ifdef FEAT_AUTOCMD
            bufref_T bufref;
 
            set_bufref(&bufref, buf);
-# endif
            dialog_changed(curbuf, FALSE);
-# ifdef FEAT_AUTOCMD
            if (!bufref_valid(&bufref))
                /* Autocommand deleted buffer, oops! */
                return FAIL;
-# endif
        }
        if (bufIsChanged(curbuf))
 #endif
@@ -1634,7 +1591,7 @@ do_buffer(
     }
 #endif
 
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
     if (aborting())        /* autocmds may abort script processing */
        return FAIL;
 #endif
@@ -1678,17 +1635,15 @@ set_curbuf(buf_T *buf, int action)
     set_bufref(&prevbufref, prevbuf);
     set_bufref(&newbufref, buf);
 
-#ifdef FEAT_AUTOCMD
     /* Autocommands may delete the curren buffer and/or the buffer we wan to go
      * to.  In those cases don't close the buffer. */
     if (!apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf)
            || (bufref_valid(&prevbufref)
                && bufref_valid(&newbufref)
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
                && !aborting()
-# endif
-              ))
 #endif
+              ))
     {
 #ifdef FEAT_SYN_HL
        if (prevbuf == curwin->w_buffer)
@@ -1696,7 +1651,7 @@ set_curbuf(buf_T *buf, int action)
 #endif
        if (unload)
            close_windows(prevbuf, FALSE);
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
        if (bufref_valid(&prevbufref) && !aborting())
 #else
        if (bufref_valid(&prevbufref))
@@ -1714,16 +1669,14 @@ set_curbuf(buf_T *buf, int action)
              curwin = previouswin;
        }
     }
-#ifdef FEAT_AUTOCMD
     /* An autocommand may have deleted "buf", already entered it (e.g., when
      * it did ":bunload") or aborted the script processing.
      * If curwin->w_buffer is null, enter_buffer() will make it valid again */
     if ((buf_valid(buf) && buf != curbuf
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
                && !aborting()
-# endif
-       ) || curwin->w_buffer == NULL)
 #endif
+       ) || curwin->w_buffer == NULL)
     {
        enter_buffer(buf);
 #ifdef FEAT_SYN_HL
@@ -1773,9 +1726,7 @@ enter_buffer(buf_T *buf)
     curwin->w_cursor.coladd = 0;
 #endif
     curwin->w_set_curswant = TRUE;
-#ifdef FEAT_AUTOCMD
     curwin->w_topline_was_set = FALSE;
-#endif
 
     /* mark cursor position as being invalid */
     curwin->w_valid = 0;
@@ -1783,13 +1734,11 @@ enter_buffer(buf_T *buf)
     /* Make sure the buffer is loaded. */
     if (curbuf->b_ml.ml_mfp == NULL)   /* need to load the file */
     {
-#ifdef FEAT_AUTOCMD
        /* If there is no filetype, allow for detecting one.  Esp. useful for
         * ":ball" used in a autocommand.  If there already is a filetype we
         * might prefer to keep it. */
        if (*curbuf->b_p_ft == NUL)
            did_filetype = FALSE;
-#endif
 
        open_buffer(FALSE, NULL, 0);
     }
@@ -1798,14 +1747,12 @@ enter_buffer(buf_T *buf)
        if (!msg_silent)
            need_fileinfo = TRUE;       /* display file info after redraw */
        (void)buf_check_timestamp(curbuf, FALSE); /* check if file changed */
-#ifdef FEAT_AUTOCMD
        curwin->w_topline = 1;
-# ifdef FEAT_DIFF
+#ifdef FEAT_DIFF
        curwin->w_topfill = 0;
-# endif
+#endif
        apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
        apply_autocmds(EVENT_BUFWINENTER, NULL, NULL, FALSE, curbuf);
-#endif
     }
 
     /* If autocommands did not change the cursor position, restore cursor lnum
@@ -1817,10 +1764,8 @@ enter_buffer(buf_T *buf)
 #ifdef FEAT_TITLE
     maketitle();
 #endif
-#ifdef FEAT_AUTOCMD
        /* when autocmds didn't change it */
     if (curwin->w_topline == 1 && !curwin->w_topline_was_set)
-#endif
        scroll_cursor_halfway(FALSE);   /* redisplay at correct position */
 
 #ifdef FEAT_NETBEANS_INTG
@@ -1948,11 +1893,9 @@ buflist_new(
 
        if ((flags & BLN_LISTED) && !buf->b_p_bl)
        {
-#ifdef FEAT_AUTOCMD
            bufref_T bufref;
-#endif
+
            buf->b_p_bl = TRUE;
-#ifdef FEAT_AUTOCMD
            set_bufref(&bufref, buf);
            if (!(flags & BLN_DUMMY))
            {
@@ -1960,7 +1903,6 @@ buflist_new(
                        && !bufref_valid(&bufref))
                    return NULL;
            }
-#endif
        }
        return buf;
     }
@@ -1981,21 +1923,17 @@ buflist_new(
            && (curbuf->b_ml.ml_mfp == NULL || BUFEMPTY()))
     {
        buf = curbuf;
-#ifdef FEAT_AUTOCMD
        /* It's like this buffer is deleted.  Watch out for autocommands that
         * change curbuf!  If that happens, allocate a new buffer anyway. */
        if (curbuf->b_p_bl)
            apply_autocmds(EVENT_BUFDELETE, NULL, NULL, FALSE, curbuf);
        if (buf == curbuf)
            apply_autocmds(EVENT_BUFWIPEOUT, NULL, NULL, FALSE, curbuf);
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
        if (aborting())         /* autocmds may abort script processing */
            return NULL;
-# endif
 #endif
-#ifdef FEAT_AUTOCMD
        if (buf == curbuf)
-#endif
        {
            /* Make sure 'bufhidden' and 'buftype' are empty */
            clear_string_option(&buf->b_p_bh);
@@ -2049,7 +1987,7 @@ buflist_new(
        buf_freeall(buf, 0);
        if (buf != curbuf)       /* autocommands deleted the buffer! */
            return NULL;
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
        if (aborting())         /* autocmds may abort script processing */
            return NULL;
 #endif
@@ -2128,7 +2066,6 @@ buflist_new(
     clrallmarks(buf);                  /* clear marks */
     fmarks_check_names(buf);           /* check file marks for this file */
     buf->b_p_bl = (flags & BLN_LISTED) ? TRUE : FALSE; /* init 'buflisted' */
-#ifdef FEAT_AUTOCMD
     if (!(flags & BLN_DUMMY))
     {
        bufref_T bufref;
@@ -2146,12 +2083,11 @@ buflist_new(
                    && !bufref_valid(&bufref))
                return NULL;
        }
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
        if (aborting())         /* autocmds may abort script processing */
            return NULL;
-# endif
-    }
 #endif
+    }
 
     return buf;
 }
@@ -2230,9 +2166,7 @@ free_buf_options(
 #ifdef FEAT_SEARCHPATH
     clear_string_option(&buf->b_p_sua);
 #endif
-#ifdef FEAT_AUTOCMD
     clear_string_option(&buf->b_p_ft);
-#endif
 #ifdef FEAT_CINDENT
     clear_string_option(&buf->b_p_cink);
     clear_string_option(&buf->b_p_cino);
@@ -2315,10 +2249,8 @@ buflist_getfile(
        text_locked_msg();
        return FAIL;
     }
-#ifdef FEAT_AUTOCMD
     if (curbuf_locked())
        return FAIL;
-#endif
 
     /* altfpos may be changed by getfile(), get it now */
     if (lnum == 0)
@@ -4368,7 +4300,6 @@ build_stl_str_hl(
                                                               : _("[Help]"));
            break;
 
-#ifdef FEAT_AUTOCMD
        case STL_FILETYPE:
            if (*wp->w_buffer->b_p_ft != NUL
                    && STRLEN(wp->w_buffer->b_p_ft) < TMPLEN - 3)
@@ -4391,7 +4322,6 @@ build_stl_str_hl(
                str = tmp;
            }
            break;
-#endif
 
 #if defined(FEAT_QUICKFIX)
        case STL_PREVIEWFLAG:
@@ -5013,20 +4943,18 @@ do_arg_all(
                    if (!buf_hide(buf) && buf->b_nwindows <= 1
                                                         && bufIsChanged(buf))
                    {
-#ifdef FEAT_AUTOCMD
                        bufref_T    bufref;
 
                        set_bufref(&bufref, buf);
-#endif
+
                        (void)autowrite(buf, FALSE);
-#ifdef FEAT_AUTOCMD
+
                        /* check if autocommands removed the window */
                        if (!win_valid(wp) || !bufref_valid(&bufref))
                        {
                            wpnext = firstwin;  /* start all over... */
                            continue;
                        }
-#endif
                    }
                    /* don't close last window */
                    if (ONE_WINDOW
@@ -5035,11 +4963,10 @@ do_arg_all(
                    else
                    {
                        win_close(wp, !buf_hide(buf) && !bufIsChanged(buf));
-#ifdef FEAT_AUTOCMD
+
                        /* check if autocommands removed the next window */
                        if (!win_valid(wpnext))
                            wpnext = firstwin;  /* start all over... */
-#endif
                    }
                }
            }
@@ -5049,11 +4976,10 @@ do_arg_all(
        if (had_tab == 0 || tpnext == NULL)
            break;
 
-# ifdef FEAT_AUTOCMD
        /* check if autocommands removed the next tab page */
        if (!valid_tabpage(tpnext))
            tpnext = first_tabpage;     /* start all over...*/
-# endif
+
        goto_tabpage_tp(tpnext, TRUE, TRUE);
     }
 
@@ -5064,11 +4990,9 @@ do_arg_all(
     if (count > opened_len || count <= 0)
        count = opened_len;
 
-#ifdef FEAT_AUTOCMD
     /* Don't execute Win/Buf Enter/Leave autocommands here. */
     ++autocmd_no_enter;
     ++autocmd_no_leave;
-#endif
     last_curwin = curwin;
     last_curtab = curtab;
     win_enter(lastwin, FALSE);
@@ -5114,10 +5038,8 @@ do_arg_all(
                if (split_ret == FAIL)
                    continue;
            }
-#ifdef FEAT_AUTOCMD
            else    /* first window: do autocmd for leaving this buffer */
                --autocmd_no_leave;
-#endif
 
            /*
             * edit file "i"
@@ -5133,10 +5055,8 @@ do_arg_all(
                      ((buf_hide(curwin->w_buffer)
                           || bufIsChanged(curwin->w_buffer)) ? ECMD_HIDE : 0)
                                                       + ECMD_OLDBUF, curwin);
-#ifdef FEAT_AUTOCMD
            if (use_firstwin)
                ++autocmd_no_leave;
-#endif
            use_firstwin = FALSE;
        }
        ui_breakcheck();
@@ -5149,9 +5069,8 @@ do_arg_all(
     /* Remove the "lock" on the argument list. */
     alist_unlink(alist);
 
-#ifdef FEAT_AUTOCMD
     --autocmd_no_enter;
-#endif
+
     /* restore last referenced tabpage's curwin */
     if (last_curtab != new_curtab)
     {
@@ -5166,9 +5085,7 @@ do_arg_all(
     if (win_valid(new_curwin))
        win_enter(new_curwin, FALSE);
 
-#ifdef FEAT_AUTOCMD
     --autocmd_no_leave;
-#endif
     vim_free(opened);
 }
 
@@ -5223,18 +5140,13 @@ ex_buffer_all(exarg_T *eap)
                                                            - tabline_height()
                        : wp->w_width != Columns)
                    || (had_tab > 0 && wp != firstwin)) && !ONE_WINDOW
-#ifdef FEAT_AUTOCMD
-                   && !(wp->w_closing || wp->w_buffer->b_locked > 0)
-#endif
-                   )
+                            && !(wp->w_closing || wp->w_buffer->b_locked > 0))
            {
                win_close(wp, FALSE);
-#ifdef FEAT_AUTOCMD
                wpnext = firstwin;      /* just in case an autocommand does
                                           something strange with windows */
                tpnext = first_tabpage; /* start all over...*/
                open_wins = 0;
-#endif
            }
            else
                ++open_wins;
@@ -5251,14 +5163,10 @@ ex_buffer_all(exarg_T *eap)
      * open one.  Otherwise move the window to the right position.
      * Watch out for autocommands that delete buffers or windows!
      */
-#ifdef FEAT_AUTOCMD
     /* Don't execute Win/Buf Enter/Leave autocommands here. */
     ++autocmd_no_enter;
-#endif
     win_enter(lastwin, FALSE);
-#ifdef FEAT_AUTOCMD
     ++autocmd_no_leave;
-#endif
     for (buf = firstbuf; buf != NULL && open_wins < count; buf = buf->b_next)
     {
        /* Check if this buffer needs a window */
@@ -5286,11 +5194,10 @@ ex_buffer_all(exarg_T *eap)
 
        if (wp == NULL && split_ret == OK)
        {
-#ifdef FEAT_AUTOCMD
            bufref_T    bufref;
 
            set_bufref(&bufref, buf);
-#endif
+
            /* Split the window and put the buffer in it */
            p_ea_save = p_ea;
            p_ea = TRUE;                /* use space from all windows */
@@ -5305,20 +5212,18 @@ ex_buffer_all(exarg_T *eap)
            swap_exists_action = SEA_DIALOG;
 #endif
            set_curbuf(buf, DOBUF_GOTO);
-#ifdef FEAT_AUTOCMD
            if (!bufref_valid(&bufref))
            {
                /* autocommands deleted the buffer!!! */
 #if defined(HAS_SWAP_EXISTS_ACTION)
                swap_exists_action = SEA_NONE;
-# endif
+#endif
                break;
            }
-#endif
 #if defined(HAS_SWAP_EXISTS_ACTION)
            if (swap_exists_action == SEA_QUIT)
            {
-# if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+# if defined(FEAT_EVAL)
                cleanup_T   cs;
 
                /* Reset the error/interrupt/exception state here so that
@@ -5332,7 +5237,7 @@ ex_buffer_all(exarg_T *eap)
                swap_exists_action = SEA_NONE;
                swap_exists_did_quit = TRUE;
 
-# if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+# if defined(FEAT_EVAL)
                /* Restore the error/interrupt/exception state if not
                 * discarded by a new aborting error, interrupt, or uncaught
                 * exception. */
@@ -5359,13 +5264,9 @@ ex_buffer_all(exarg_T *eap)
        if (had_tab > 0 && tabpage_index(NULL) <= p_tpm)
            cmdmod.tab = 9999;
     }
-#ifdef FEAT_AUTOCMD
     --autocmd_no_enter;
-#endif
     win_enter(firstwin, FALSE);                /* back to first window */
-#ifdef FEAT_AUTOCMD
     --autocmd_no_leave;
-#endif
 
     /*
      * Close superfluous windows.
@@ -5374,15 +5275,12 @@ ex_buffer_all(exarg_T *eap)
     {
        r = (buf_hide(wp->w_buffer) || !bufIsChanged(wp->w_buffer)
                                     || autowrite(wp->w_buffer, FALSE) == OK);
-#ifdef FEAT_AUTOCMD
        if (!win_valid(wp))
        {
            /* BufWrite Autocommands made the window invalid, start over */
            wp = lastwin;
        }
-       else
-#endif
-           if (r)
+       else if (r)
        {
            win_close(wp, !buf_hide(wp->w_buffer));
            --open_wins;
@@ -6233,12 +6131,10 @@ set_buflisted(int on)
     if (on != curbuf->b_p_bl)
     {
        curbuf->b_p_bl = on;
-#ifdef FEAT_AUTOCMD
        if (on)
            apply_autocmds(EVENT_BUFADD, NULL, NULL, FALSE, curbuf);
        else
            apply_autocmds(EVENT_BUFDELETE, NULL, NULL, FALSE, curbuf);
-#endif
     }
 }
 
@@ -6311,13 +6207,11 @@ wipe_buffer(
     if (buf->b_fnum == top_file_num - 1)
        --top_file_num;
 
-#ifdef FEAT_AUTOCMD
     if (!aucmd)                    /* Don't trigger BufDelete autocommands here. */
        block_autocmds();
-#endif
+
     close_buffer(NULL, buf, DOBUF_WIPE, FALSE);
-#ifdef FEAT_AUTOCMD
+
     if (!aucmd)
        unblock_autocmds();
-#endif
 }
index 2f5b38c7b329bf44286da05d9f516c68d98d274c..6f3c99b9ad80d889a249391b8f36f58725aed668 100644 (file)
@@ -872,13 +872,9 @@ diff_file(
                    (diff_flags & DIFF_ICASE) ? "-i " : "",
                    tmp_orig, tmp_new);
            append_redir(cmd, (int)len, p_srr, tmp_diff);
-#ifdef FEAT_AUTOCMD
            block_autocmds();   /* Avoid ShellCmdPost stuff */
-#endif
            (void)call_shell(cmd, SHELL_FILTER|SHELL_SILENT|SHELL_DOOUT);
-#ifdef FEAT_AUTOCMD
            unblock_autocmds();
-#endif
            vim_free(cmd);
        }
     }
@@ -984,13 +980,9 @@ ex_diffpatch(exarg_T *eap)
         * cooked mode to allow the user to respond to prompts. */
        vim_snprintf((char *)buf, buflen, "patch -o %s %s < %s",
                                                  tmp_new, tmp_orig, esc_name);
-#ifdef FEAT_AUTOCMD
        block_autocmds();       /* Avoid ShellCmdPost stuff */
-#endif
        (void)call_shell(buf, SHELL_FILTER | SHELL_COOKED);
-#ifdef FEAT_AUTOCMD
        unblock_autocmds();
-#endif
     }
 
 #ifdef UNIX
@@ -1052,11 +1044,9 @@ ex_diffpatch(exarg_T *eap)
                    eap->arg = newname;
                    ex_file(eap);
 
-#ifdef FEAT_AUTOCMD
                    /* Do filetype detection with the new name. */
                    if (au_has_group((char_u *)"filetypedetect"))
                        do_cmdline_cmd((char_u *)":doau filetypedetect BufRead");
-#endif
                }
            }
        }
index f0e5c5185c4a8534d0f3710b989bdc53d9b934a9..e20857df6d8ddf6e900cdd3a3c1fbf50588c21f7 100644 (file)
@@ -273,7 +273,7 @@ static int  ins_ctrl_ey(int tc);
 static void ins_try_si(int c);
 #endif
 static colnr_T get_nolist_virtcol(void);
-#ifdef FEAT_AUTOCMD
+#if defined(FEAT_EVAL)
 static char_u *do_insert_char_pre(int c);
 #endif
 
@@ -388,7 +388,6 @@ edit(
     ins_compl_clear();     /* clear stuff for CTRL-X mode */
 #endif
 
-#ifdef FEAT_AUTOCMD
     /*
      * Trigger InsertEnter autocommands.  Do not do this for "r<CR>" or "grx".
      */
@@ -396,7 +395,7 @@ edit(
     {
        pos_T   save_cursor = curwin->w_cursor;
 
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
        if (cmdchar == 'R')
            ptr = (char_u *)"r";
        else if (cmdchar == 'V')
@@ -405,7 +404,7 @@ edit(
            ptr = (char_u *)"i";
        set_vim_var_string(VV_INSERTMODE, ptr, 1);
        set_vim_var_string(VV_CHAR, NULL, -1);  /* clear v:char */
-# endif
+#endif
        apply_autocmds(EVENT_INSERTENTER, NULL, NULL, FALSE, curbuf);
 
        /* Make sure the cursor didn't move.  Do call check_cursor_col() in
@@ -415,9 +414,9 @@ edit(
         * line number is still valid (lines may have been deleted).
         * Do not restore if v:char was set to a non-empty string. */
        if (!EQUAL_POS(curwin->w_cursor, save_cursor)
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
                && *get_vim_var_str(VV_CHAR) == NUL
-# endif
+#endif
                && save_cursor.lnum <= curbuf->b_ml.ml_line_count)
        {
            int save_state = State;
@@ -428,7 +427,6 @@ edit(
            State = save_state;
        }
     }
-#endif
 
 #ifdef FEAT_CONCEAL
     /* Check if the cursor line needs redrawing before changing State.  If
@@ -521,7 +519,7 @@ edit(
      */
     if (curbuf->b_p_iminsert == B_IMODE_LMAP)
        State |= LANGMAP;
-#ifdef FEAT_MBYTE
+#ifdef HAVE_INPUT_METHOD
     im_set_active(curbuf->b_p_iminsert == B_IMODE_IM);
 #endif
 
@@ -805,10 +803,8 @@ edit(
                c = safe_vgetc();
            } while (c == K_IGNORE || c == K_NOP);
 
-#ifdef FEAT_AUTOCMD
        /* Don't want K_CURSORHOLD for the second key, e.g., after CTRL-V. */
        did_cursorhold = TRUE;
-#endif
 
 #ifdef FEAT_RIGHTLEFT
        if (p_hkmap && KeyTyped)
@@ -856,7 +852,7 @@ edit(
                 * completion: Add to "compl_leader". */
                if (ins_compl_accept_char(c))
                {
-#ifdef FEAT_AUTOCMD
+#if defined(FEAT_EVAL)
                    /* Trigger InsertCharPre. */
                    char_u *str = do_insert_char_pre(c);
                    char_u *p;
@@ -1030,12 +1026,10 @@ doESCkey:
 
            if (ins_esc(&count, cmdchar, nomove))
            {
-#ifdef FEAT_AUTOCMD
                if (cmdchar != 'r' && cmdchar != 'v')
                    apply_autocmds(EVENT_INSERTLEAVE, NULL, NULL,
                                                               FALSE, curbuf);
                did_cursorhold = FALSE;
-#endif
                return (c == Ctrl_O);
            }
            continue;
@@ -1234,12 +1228,10 @@ doESCkey:
        case K_IGNORE:  /* Something mapped to nothing */
            break;
 
-#ifdef FEAT_AUTOCMD
        case K_CURSORHOLD:      /* Didn't type something for a while. */
            apply_autocmds(EVENT_CURSORHOLDI, NULL, NULL, FALSE, curbuf);
            did_cursorhold = TRUE;
            break;
-#endif
 
 #ifdef FEAT_GUI_W32
            /* On Win32 ignore <M-F4>, we get it when closing the window was
@@ -1488,7 +1480,7 @@ normalchar:
            /*
             * Insert a normal character.
             */
-#ifdef FEAT_AUTOCMD
+#if defined(FEAT_EVAL)
            if (!p_paste)
            {
                /* Trigger InsertCharPre. */
@@ -1565,16 +1557,14 @@ normalchar:
            break;
        }   /* end of switch (c) */
 
-#ifdef FEAT_AUTOCMD
        /* If typed something may trigger CursorHoldI again. */
        if (c != K_CURSORHOLD
-# ifdef FEAT_COMPL_FUNC
+#ifdef FEAT_COMPL_FUNC
                /* but not in CTRL-X mode, a script can't restore the state */
                && ctrl_x_mode == CTRL_X_NORMAL
-# endif
+#endif
               )
            did_cursorhold = FALSE;
-#endif
 
        /* If the cursor was moved we didn't just insert a space */
        if (arrow_used)
@@ -1624,25 +1614,17 @@ ins_redraw(
     if (char_avail())
        return;
 
-#if defined(FEAT_AUTOCMD) || defined(FEAT_CONCEAL)
+#if defined(FEAT_CONCEAL)
     /* Trigger CursorMoved if the cursor moved.  Not when the popup menu is
      * visible, the command might delete it. */
-    if (ready && (
-# ifdef FEAT_AUTOCMD
-               has_cursormovedI()
-# endif
-# if defined(FEAT_AUTOCMD) && defined(FEAT_CONCEAL)
-               ||
-# endif
-# ifdef FEAT_CONCEAL
-               curwin->w_p_cole > 0
+    if (ready && (has_cursormovedI()
+# if defined(FEAT_CONCEAL)
+               || curwin->w_p_cole > 0
 # endif
                )
-# ifdef FEAT_AUTOCMD
-       && !EQUAL_POS(last_cursormoved, curwin->w_cursor)
-# endif
+           && !EQUAL_POS(last_cursormoved, curwin->w_cursor)
 # ifdef FEAT_INS_EXPAND
-       && !pum_visible()
+           && !pum_visible()
 # endif
        )
     {
@@ -1654,7 +1636,6 @@ ins_redraw(
        if (syntax_present(curwin) && must_redraw)
            update_screen(0);
 # endif
-# ifdef FEAT_AUTOCMD
        if (has_cursormovedI())
        {
            /* Make sure curswant is correct, an autocommand may call
@@ -1662,37 +1643,31 @@ ins_redraw(
            update_curswant();
            apply_autocmds(EVENT_CURSORMOVEDI, NULL, NULL, FALSE, curbuf);
        }
-# endif
 # ifdef FEAT_CONCEAL
        if (curwin->w_p_cole > 0)
        {
-#  ifdef FEAT_AUTOCMD
            conceal_old_cursor_line = last_cursormoved.lnum;
-#  endif
            conceal_new_cursor_line = curwin->w_cursor.lnum;
            conceal_update_lines = TRUE;
        }
 # endif
-# ifdef FEAT_AUTOCMD
        last_cursormoved = curwin->w_cursor;
-# endif
     }
 #endif
 
-#ifdef FEAT_AUTOCMD
     /* Trigger TextChangedI if b_changedtick differs. */
     if (ready && has_textchangedI()
            && curbuf->b_last_changedtick != CHANGEDTICK(curbuf)
-# ifdef FEAT_INS_EXPAND
+#ifdef FEAT_INS_EXPAND
            && !pum_visible()
-# endif
+#endif
            )
     {
        apply_autocmds(EVENT_TEXTCHANGEDI, NULL, NULL, FALSE, curbuf);
        curbuf->b_last_changedtick = CHANGEDTICK(curbuf);
     }
 
-# ifdef FEAT_INS_EXPAND
+#ifdef FEAT_INS_EXPAND
     /* Trigger TextChangedP if b_changedtick differs. When the popupmenu closes
      * TextChangedI will need to trigger for backwards compatibility, thus use
      * different b_last_changedtick* variables. */
@@ -1703,7 +1678,6 @@ ins_redraw(
        apply_autocmds(EVENT_TEXTCHANGEDP, NULL, NULL, FALSE, curbuf);
        curbuf->b_last_changedtick_pum = CHANGEDTICK(curbuf);
     }
-# endif
 #endif
 
     if (must_redraw)
@@ -4001,19 +3975,15 @@ ins_compl_prep(int c)
            if (want_cindent && in_cinkeys(KEY_COMPLETE, ' ', inindent(0)))
                do_c_expr_indent();
 #endif
-#ifdef FEAT_AUTOCMD
            /* Trigger the CompleteDone event to give scripts a chance to act
             * upon the completion. */
            apply_autocmds(EVENT_COMPLETEDONE, NULL, NULL, FALSE, curbuf);
-#endif
        }
     }
-#ifdef FEAT_AUTOCMD
     else if (ctrl_x_mode == CTRL_X_LOCAL_MSG)
        /* Trigger the CompleteDone event to give scripts a chance to act
         * upon the (possibly failed) completion. */
        apply_autocmds(EVENT_COMPLETEDONE, NULL, NULL, FALSE, curbuf);
-#endif
 
     /* reset continue_* if we left expansion-mode, if we stay they'll be
      * (re)set properly in ins_complete() */
@@ -6224,10 +6194,7 @@ insertchar(
 #ifdef FEAT_RIGHTLEFT
            && !p_ri
 #endif
-#ifdef FEAT_AUTOCMD
-           && !has_insertcharpre()
-#endif
-              )
+           && !has_insertcharpre())
     {
 #define INPUT_BUFLEN 100
        char_u          buf[INPUT_BUFLEN + 1];
@@ -8404,7 +8371,7 @@ ins_reg(void)
     ++no_u_sync;
     if (regname == '=')
     {
-# ifdef FEAT_MBYTE
+# ifdef HAVE_INPUT_METHOD
        int     im_on = im_get_status();
 # endif
        /* Sync undo when evaluating the expression calls setline() or
@@ -8412,7 +8379,7 @@ ins_reg(void)
        u_sync_once = 2;
 
        regname = get_expr_register();
-# ifdef FEAT_MBYTE
+# ifdef HAVE_INPUT_METHOD
        /* Restore the Input Method. */
        if (im_on)
            im_set_active(TRUE);
@@ -8541,12 +8508,12 @@ ins_ctrl_hat(void)
        {
            curbuf->b_p_iminsert = B_IMODE_LMAP;
            State |= LANGMAP;
-#ifdef FEAT_MBYTE
+#ifdef HAVE_INPUT_METHOD
            im_set_active(FALSE);
 #endif
        }
     }
-#ifdef FEAT_MBYTE
+#ifdef HAVE_INPUT_METHOD
     else
     {
        /* There are no ":lmap" mappings, toggle IM */
@@ -8693,7 +8660,7 @@ ins_esc(
        }
     }
 
-#ifdef FEAT_MBYTE
+#ifdef HAVE_INPUT_METHOD
     /* Disable IM to allow typing English directly for Normal mode commands.
      * When ":lmap" is enabled don't change 'iminsert' (IM can be enabled as
      * well). */
@@ -8843,7 +8810,6 @@ ins_insert(int replaceState)
     }
 #endif
 
-#ifdef FEAT_AUTOCMD
 # ifdef FEAT_EVAL
     set_vim_var_string(VV_INSERTMODE,
                   (char_u *)((State & REPLACE_FLAG) ? "i" :
@@ -8853,7 +8819,6 @@ ins_insert(int replaceState)
                            "r"), 1);
 # endif
     apply_autocmds(EVENT_INSERTCHANGE, NULL, NULL, FALSE, curbuf);
-#endif
     if (State & REPLACE_FLAG)
        State = INSERT | (State & LANGMAP);
     else
@@ -10573,7 +10538,7 @@ get_nolist_virtcol(void)
     return curwin->w_virtcol;
 }
 
-#ifdef FEAT_AUTOCMD
+#if defined(FEAT_EVAL)
 /*
  * Handle the InsertCharPre autocommand.
  * "c" is the character that was typed.
@@ -10590,11 +10555,11 @@ do_insert_char_pre(int c)
     if (!has_insertcharpre())
        return NULL;
 
-#ifdef FEAT_MBYTE
+# ifdef FEAT_MBYTE
     if (has_mbyte)
        buf[(*mb_char2bytes)(c, buf)] = NUL;
     else
-#endif
+# endif
     {
        buf[0] = c;
        buf[1] = NUL;
index 98288d6b033832b18bfd78f1ec5b0f3115c98517..2da56a47afb305b009eb96940d2b7ae95af71fa6 100644 (file)
@@ -5125,11 +5125,9 @@ garbage_collect(int testing)
     FOR_ALL_TAB_WINDOWS(tp, wp)
        abort = abort || set_ref_in_item(&wp->w_winvar.di_tv, copyID,
                                                                  NULL, NULL);
-#ifdef FEAT_AUTOCMD
     if (aucmd_win != NULL)
        abort = abort || set_ref_in_item(&aucmd_win->w_winvar.di_tv, copyID,
                                                                  NULL, NULL);
-#endif
 
     /* tabpage-local variables */
     FOR_ALL_TABPAGES(tp)
@@ -6560,7 +6558,6 @@ v_throwpoint(char_u *oldval)
     return NULL;
 }
 
-#if defined(FEAT_AUTOCMD) || defined(PROTO)
 /*
  * Set v:cmdarg.
  * If "eap" != NULL, use "eap" to generate the value and return the old value.
@@ -6618,7 +6615,7 @@ set_cmdarg(exarg_T *eap, char_u *oldarg)
     if (eap->force_ff != 0)
        sprintf((char *)newval + STRLEN(newval), " ++ff=%s",
                                                eap->cmd + eap->force_ff);
-# ifdef FEAT_MBYTE
+#ifdef FEAT_MBYTE
     if (eap->force_enc != 0)
        sprintf((char *)newval + STRLEN(newval), " ++enc=%s",
                                               eap->cmd + eap->force_enc);
@@ -6628,11 +6625,10 @@ set_cmdarg(exarg_T *eap, char_u *oldarg)
        STRCPY(newval + STRLEN(newval), " ++bad=drop");
     else if (eap->bad_char != 0)
        sprintf((char *)newval + STRLEN(newval), " ++bad=%c", eap->bad_char);
-# endif
+#endif
     vimvars[VV_CMDARG].vv_str = newval;
     return oldval;
 }
-#endif
 
 /*
  * Get the value of internal variable "name".
index b02c956132523f13244244f3283dae860ff33ef2..48eac573773870ba0f6a8d9b48de1a0e40c1727f 100644 (file)
@@ -2668,9 +2668,7 @@ f_delete(typval_T *argvars, typval_T *rettv)
     static void
 f_did_filetype(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
 {
-#ifdef FEAT_AUTOCMD
     rettv->vval.v_number = did_filetype;
-#endif
 }
 
 /*
@@ -3053,12 +3051,10 @@ f_exists(typval_T *argvars, typval_T *rettv)
     }
     else if (*p == '#')
     {
-#ifdef FEAT_AUTOCMD
        if (p[1] == '#')
            n = autocmd_supported(p + 2);
        else
            n = au_exists(p + 1);
-#endif
     }
     else                               /* internal variable */
     {
@@ -5797,9 +5793,7 @@ f_has(typval_T *argvars, typval_T *rettv)
 #ifdef FEAT_ARABIC
        "arabic",
 #endif
-#ifdef FEAT_AUTOCMD
        "autocmd",
-#endif
 #ifdef FEAT_AUTOSERVERNAME
        "autoservername",
 #endif
index 5b8e2d52262fd890bc047ccc87c69ca312aba28f..23930ca2a0c016093dc72244c3f1e9c80d64c3dc 100644 (file)
@@ -28,9 +28,7 @@ static int read_viminfo_up_to_marks(vir_T *virp, int forceit, int writing);
 #endif
 
 static int check_readonly(int *forceit, buf_T *buf);
-#ifdef FEAT_AUTOCMD
 static void delbuf_msg(char_u *name);
-#endif
 static int
 #ifdef __BORLANDC__
     _RTLENTRYF
@@ -1148,9 +1146,7 @@ do_bang(
        /* Careful: This may recursively call do_bang() again! (because of
         * autocommands) */
        do_filter(line1, line2, eap, newcmd, do_in, do_out);
-#ifdef FEAT_AUTOCMD
        apply_autocmds(EVENT_SHELLFILTERPOST, NULL, NULL, FALSE, curbuf);
-#endif
     }
     if (free_newcmd)
        vim_free(newcmd);
@@ -1186,9 +1182,7 @@ do_filter(
     linenr_T   read_linecount;
     pos_T      cursor_save;
     char_u     *cmd_buf;
-#ifdef FEAT_AUTOCMD
     buf_T      *old_curbuf = curbuf;
-#endif
     int                shell_flags = 0;
 
     if (*cmd == NUL)       /* no filter command */
@@ -1259,16 +1253,14 @@ do_filter(
     {
        msg_putchar('\n');              /* keep message from buf_write() */
        --no_wait_return;
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
        if (!aborting())
 #endif
            (void)EMSG2(_(e_notcreate), itmp);  /* will call wait_return */
        goto filterend;
     }
-#ifdef FEAT_AUTOCMD
     if (curbuf != old_curbuf)
        goto filterend;
-#endif
 
     if (!do_out)
        msg_putchar('\n');
@@ -1334,7 +1326,7 @@ do_filter(
            if (readfile(otmp, NULL, line2, (linenr_T)0, (linenr_T)MAXLNUM,
                                                    eap, READ_FILTER) != OK)
            {
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
                if (!aborting())
 #endif
                {
@@ -1343,10 +1335,8 @@ do_filter(
                }
                goto error;
            }
-#ifdef FEAT_AUTOCMD
            if (curbuf != old_curbuf)
                goto filterend;
-#endif
        }
 
        read_linecount = curbuf->b_ml.ml_line_count - read_linecount;
@@ -1426,13 +1416,11 @@ error:
 
 filterend:
 
-#ifdef FEAT_AUTOCMD
     if (curbuf != old_curbuf)
     {
        --no_wait_return;
        EMSG(_("E135: *Filter* Autocommands must not change current buffer"));
     }
-#endif
     if (itmp != NULL)
        mch_remove(itmp);
     if (otmp != NULL)
@@ -1482,9 +1470,7 @@ do_shell(
      * avoid having to type return below.
      */
     msg_putchar('\r');                 /* put cursor at start of line */
-#ifdef FEAT_AUTOCMD
     if (!autocmd_busy)
-#endif
     {
 #ifdef MSWIN
        if (!winstart)
@@ -1497,11 +1483,7 @@ do_shell(
        msg_putchar('\n');              /* may shift screen one line up */
 
     /* warning message before calling the shell */
-    if (p_warn
-#ifdef FEAT_AUTOCMD
-               && !autocmd_busy
-#endif
-               && msg_silent == 0)
+    if (p_warn && !autocmd_busy && msg_silent == 0)
        FOR_ALL_BUFFERS(buf)
            if (bufIsChangedNotTerm(buf))
            {
@@ -1536,14 +1518,12 @@ do_shell(
        msg_col = 0;
     }
 
-#ifdef FEAT_AUTOCMD
     if (autocmd_busy)
     {
        if (msg_silent == 0)
            redraw_later_clear();
     }
     else
-#endif
     {
        /*
         * For ":sh" there is no need to call wait_return(), just redraw.
@@ -1612,9 +1592,7 @@ do_shell(
     /* display any error messages now */
     display_errors();
 
-#ifdef FEAT_AUTOCMD
     apply_autocmds(EVENT_SHELLCMDPOST, NULL, NULL, FALSE, curbuf);
-#endif
 }
 
 /*
@@ -2979,16 +2957,14 @@ rename_buffer(char_u *new_fname)
     char_u     *fname, *sfname, *xfname;
     buf_T      *buf;
 
-#ifdef FEAT_AUTOCMD
     buf = curbuf;
     apply_autocmds(EVENT_BUFFILEPRE, NULL, NULL, FALSE, curbuf);
     /* buffer changed, don't change name now */
     if (buf != curbuf)
        return FAIL;
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
     if (aborting())        /* autocmds may abort script processing */
        return FAIL;
-# endif
 #endif
     /*
      * The name of the current buffer will be changed.
@@ -3017,9 +2993,8 @@ rename_buffer(char_u *new_fname)
     }
     vim_free(fname);
     vim_free(sfname);
-#ifdef FEAT_AUTOCMD
     apply_autocmds(EVENT_BUFFILEPOST, NULL, NULL, FALSE, curbuf);
-#endif
+
     /* Change directories when the 'acd' option is set. */
     DO_AUTOCHDIR
     return OK;
@@ -3198,22 +3173,20 @@ do_write(exarg_T *eap)
     {
        if (eap->cmdidx == CMD_saveas && alt_buf != NULL)
        {
-#ifdef FEAT_AUTOCMD
            buf_T       *was_curbuf = curbuf;
 
            apply_autocmds(EVENT_BUFFILEPRE, NULL, NULL, FALSE, curbuf);
            apply_autocmds(EVENT_BUFFILEPRE, NULL, NULL, FALSE, alt_buf);
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
            if (curbuf != was_curbuf || aborting())
-# else
+#else
            if (curbuf != was_curbuf)
-# endif
+#endif
            {
                /* buffer changed, don't change name now */
                retval = FAIL;
                goto theend;
            }
-#endif
            /* Exchange the file names for the current and the alternate
             * buffer.  This makes it look like we are now editing the buffer
             * under the new name.  Must be done before buf_write(), because
@@ -3229,7 +3202,7 @@ do_write(exarg_T *eap)
            alt_buf->b_sfname = curbuf->b_sfname;
            curbuf->b_sfname = fname;
            buf_name_changed(curbuf);
-#ifdef FEAT_AUTOCMD
+
            apply_autocmds(EVENT_BUFFILEPOST, NULL, NULL, FALSE, curbuf);
            apply_autocmds(EVENT_BUFFILEPOST, NULL, NULL, FALSE, alt_buf);
            if (!alt_buf->b_p_bl)
@@ -3237,11 +3210,11 @@ do_write(exarg_T *eap)
                alt_buf->b_p_bl = TRUE;
                apply_autocmds(EVENT_BUFADD, NULL, NULL, FALSE, alt_buf);
            }
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
            if (curbuf != was_curbuf || aborting())
-# else
+#else
            if (curbuf != was_curbuf)
-# endif
+#endif
            {
                /* buffer changed, don't write the file */
                retval = FAIL;
@@ -3260,7 +3233,6 @@ do_write(exarg_T *eap)
            /* Autocommands may have changed buffer names, esp. when
             * 'autochdir' is set. */
            fname = curbuf->b_sfname;
-#endif
        }
 
        name_was_missing = curbuf->b_ffname == NULL;
@@ -3489,18 +3461,14 @@ do_wqall(exarg_T *eap)
            }
            else
            {
-#ifdef FEAT_AUTOCMD
                bufref_T bufref;
 
                set_bufref(&bufref, buf);
-#endif
                if (buf_write_all(buf, eap->forceit) == FAIL)
                    ++error;
-#ifdef FEAT_AUTOCMD
                /* an autocommand may have deleted the buffer */
                if (!bufref_valid(&bufref))
                    buf = firstbuf;
-#endif
            }
            eap->forceit = save_forceit;    /* check_overwrite() may set it */
        }
@@ -3604,10 +3572,8 @@ getfile(
 
     if (text_locked())
        return GETFILE_ERROR;
-#ifdef FEAT_AUTOCMD
     if (curbuf_locked())
        return GETFILE_ERROR;
-#endif
 
     if (fnum == 0)
     {
@@ -3702,17 +3668,15 @@ do_ecmd(
 {
     int                other_file;             /* TRUE if editing another file */
     int                oldbuf;                 /* TRUE if using existing buffer */
-#ifdef FEAT_AUTOCMD
     int                auto_buf = FALSE;       /* TRUE if autocommands brought us
                                           into the buffer unexpectedly */
     char_u     *new_name = NULL;
+#if defined(FEAT_EVAL)
     int                did_set_swapcommand = FALSE;
 #endif
     buf_T      *buf;
     bufref_T   bufref;
-#if defined(FEAT_AUTOCMD) || defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
     bufref_T   old_curbuf;
-#endif
     char_u     *free_fname = NULL;
 #ifdef FEAT_BROWSE
     char_u     *browse_file = NULL;
@@ -3736,9 +3700,7 @@ do_ecmd(
 
     if (eap != NULL)
        command = eap->do_ecmd_cmd;
-#if defined(FEAT_AUTOCMD) || defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
     set_bufref(&old_curbuf, curbuf);
-#endif
 
     if (fnum != 0)
     {
@@ -3751,11 +3713,10 @@ do_ecmd(
 #ifdef FEAT_BROWSE
        if (cmdmod.browse)
        {
-# ifdef FEAT_AUTOCMD
            if (
-#  ifdef FEAT_GUI
+# ifdef FEAT_GUI
                !gui.in_use &&
-#  endif
+# endif
                    au_has_group((char_u *)"FileExplorer"))
            {
                /* No browsing supported but we do have the file explorer:
@@ -3764,7 +3725,6 @@ do_ecmd(
                    ffname = (char_u *)".";
            }
            else
-# endif
            {
                browse_file = do_browse(0, (char_u *)_("Edit File"), ffname,
                                                    NULL, NULL, NULL, curbuf);
@@ -3838,7 +3798,7 @@ do_ecmd(
      */
     reset_VIsual();
 
-#ifdef FEAT_AUTOCMD
+#if defined(FEAT_EVAL)
     if ((command != NULL || newlnum > (linenr_T)0)
            && *get_vim_var_str(VV_SWAPCOMMAND) == NUL)
     {
@@ -3901,12 +3861,11 @@ do_ecmd(
 #endif
            buf = buflist_new(ffname, sfname, 0L,
                    BLN_CURBUF | ((flags & ECMD_SET_HELP) ? 0 : BLN_LISTED));
-#ifdef FEAT_AUTOCMD
+
            /* autocommands may change curwin and curbuf */
            if (oldwin != NULL)
                oldwin = curwin;
            set_bufref(&old_curbuf, curbuf);
-#endif
        }
        if (buf == NULL)
            goto theend;
@@ -3921,11 +3880,7 @@ do_ecmd(
            (void)buf_check_timestamp(buf, FALSE);
            /* Check if autocommands made the buffer invalid or changed the
             * current buffer. */
-           if (!bufref_valid(&bufref)
-#ifdef FEAT_AUTOCMD
-                   || curbuf != old_curbuf.br_buf
-#endif
-                   )
+           if (!bufref_valid(&bufref) || curbuf != old_curbuf.br_buf)
                goto theend;
 #ifdef FEAT_EVAL
            if (aborting())         /* autocmds may abort script processing */
@@ -3950,7 +3905,6 @@ do_ecmd(
         */
        if (buf != curbuf)
        {
-#ifdef FEAT_AUTOCMD
            /*
             * Be careful: The autocommands may delete any buffer and change
             * the current buffer.
@@ -3971,13 +3925,13 @@ do_ecmd(
                delbuf_msg(new_name);   /* frees new_name */
                goto theend;
            }
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
            if (aborting())         /* autocmds may abort script processing */
            {
                vim_free(new_name);
                goto theend;
            }
-# endif
+#endif
            if (buf == curbuf)          /* already in new buffer */
                auto_buf = TRUE;
            else
@@ -3990,7 +3944,6 @@ do_ecmd(
                ++buf->b_locked;
 
                if (curbuf == old_curbuf.br_buf)
-#endif
                    buf_copy_options(buf, BCO_ENTER);
 
                /* Close the link to the current buffer. This will set
@@ -3999,18 +3952,17 @@ do_ecmd(
                close_buffer(oldwin, curbuf,
                               (flags & ECMD_HIDE) ? 0 : DOBUF_UNLOAD, FALSE);
 
-#ifdef FEAT_AUTOCMD
                the_curwin->w_closing = FALSE;
                --buf->b_locked;
 
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
                /* autocmds may abort script processing */
                if (aborting() && curwin->w_buffer != NULL)
                {
                    vim_free(new_name);
                    goto theend;
                }
-# endif
+#endif
                /* Be careful again, like above. */
                if (!bufref_valid(&au_new_curbuf))
                {
@@ -4021,7 +3973,6 @@ do_ecmd(
                if (buf == curbuf)              /* already in new buffer */
                    auto_buf = TRUE;
                else
-#endif
                {
 #ifdef FEAT_SYN_HL
                    /*
@@ -4054,13 +4005,10 @@ do_ecmd(
 #ifdef FEAT_SPELL
                did_get_winopts = TRUE;
 #endif
-
-#ifdef FEAT_AUTOCMD
            }
            vim_free(new_name);
            au_new_curbuf.br_buf = NULL;
            au_new_curbuf.br_buf_free_count = 0;
-#endif
        }
 
        curwin->w_pcmark.lnum = 1;
@@ -4083,9 +4031,7 @@ do_ecmd(
     ++RedrawingDisabled;
     did_inc_redrawing_disabled = TRUE;
 
-#ifdef FEAT_AUTOCMD
     buf = curbuf;
-#endif
     if ((flags & ECMD_SET_HELP) || keep_help_flag)
     {
        prepare_help_buffer();
@@ -4098,21 +4044,19 @@ do_ecmd(
            set_buflisted(TRUE);
     }
 
-#ifdef FEAT_AUTOCMD
     /* If autocommands change buffers under our fingers, forget about
      * editing the file. */
     if (buf != curbuf)
        goto theend;
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
     if (aborting())        /* autocmds may abort script processing */
        goto theend;
-# endif
+#endif
 
     /* Since we are starting to edit a file, consider the filetype to be
      * unset.  Helps for when an autocommand changes files and expects syntax
      * highlighting to work in the other file. */
     did_filetype = FALSE;
-#endif
 
 /*
  * other_file  oldbuf
@@ -4129,14 +4073,13 @@ do_ecmd(
            newlnum = curwin->w_cursor.lnum;
            solcol = curwin->w_cursor.col;
        }
-#ifdef FEAT_AUTOCMD
        buf = curbuf;
        if (buf->b_fname != NULL)
            new_name = vim_strsave(buf->b_fname);
        else
            new_name = NULL;
        set_bufref(&bufref, buf);
-#endif
+
        if (p_ur < 0 || curbuf->b_ml.ml_line_count <= p_ur)
        {
            /* Save all the text, so that the reload can be undone.
@@ -4145,9 +4088,7 @@ do_ecmd(
            if (u_savecommon(0, curbuf->b_ml.ml_line_count + 1, 0, TRUE)
                                                                     == FAIL)
            {
-#ifdef FEAT_AUTOCMD
                vim_free(new_name);
-#endif
                goto theend;
            }
            u_unchanged(curbuf);
@@ -4158,7 +4099,7 @@ do_ecmd(
        }
        else
            buf_freeall(curbuf, 0);   /* free all things for buffer */
-#ifdef FEAT_AUTOCMD
+
        /* If autocommands deleted the buffer we were going to re-edit, give
         * up and jump to the end. */
        if (!bufref_valid(&bufref))
@@ -4173,10 +4114,9 @@ do_ecmd(
         * the autocommands changed the buffer... */
        if (buf != curbuf)
            goto theend;
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
        if (aborting())     /* autocmds may abort script processing */
            goto theend;
-# endif
 #endif
        buf_clear_file(curbuf);
        curbuf->b_op_start.lnum = 0;    /* clear '[ and '] marks */
@@ -4194,9 +4134,7 @@ do_ecmd(
      */
     check_arg_idx(curwin);
 
-#ifdef FEAT_AUTOCMD
     if (!auto_buf)
-#endif
     {
        /*
         * Set cursor and init window before reading the file and executing
@@ -4237,7 +4175,7 @@ do_ecmd(
            /*
             * Open the buffer and read the file.
             */
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
            if (should_abort(open_buffer(FALSE, eap, readfile_flags)))
                retval = FAIL;
 #else
@@ -4250,7 +4188,6 @@ do_ecmd(
            handle_swap_exists(&old_curbuf);
 #endif
        }
-#ifdef FEAT_AUTOCMD
        else
        {
            /* Read the modelines, but only to set window-local options.  Any
@@ -4264,7 +4201,6 @@ do_ecmd(
                                                                    &retval);
        }
        check_arg_idx(curwin);
-#endif
 
        /* If autocommands change the cursor position or topline, we should
         * keep it.  Also when it moves within a line. */
@@ -4342,11 +4278,7 @@ do_ecmd(
      * Did not read the file, need to show some info about the file.
      * Do this after setting the cursor.
      */
-    if (oldbuf
-#ifdef FEAT_AUTOCMD
-               && !auto_buf
-#endif
-                           )
+    if (oldbuf && !auto_buf)
     {
        int     msg_scroll_save = msg_scroll;
 
@@ -4430,7 +4362,7 @@ do_ecmd(
 theend:
     if (did_inc_redrawing_disabled)
        --RedrawingDisabled;
-#ifdef FEAT_AUTOCMD
+#if defined(FEAT_EVAL)
     if (did_set_swapcommand)
        set_vim_var_string(VV_SWAPCOMMAND, NULL, -1);
 #endif
@@ -4441,7 +4373,6 @@ theend:
     return retval;
 }
 
-#ifdef FEAT_AUTOCMD
     static void
 delbuf_msg(char_u *name)
 {
@@ -4451,7 +4382,6 @@ delbuf_msg(char_u *name)
     au_new_curbuf.br_buf = NULL;
     au_new_curbuf.br_buf_free_count = 0;
 }
-#endif
 
 static int append_indent = 0;      /* autoindent for first line */
 
@@ -5156,7 +5086,7 @@ do_sub(exarg_T *eap)
      */
     line2 = eap->line2;
     for (lnum = eap->line1; lnum <= line2 && !(got_quit
-#if defined(FEAT_EVAL) && defined(FEAT_AUTOCMD)
+#if defined(FEAT_EVAL)
                || aborting()
 #endif
                ); ++lnum)
@@ -6870,7 +6800,6 @@ fix_help_buffer(void)
     char_u     *rt;
     int                mustfree;
 
-#ifdef FEAT_AUTOCMD
     /* Set filetype to "help" if still needed. */
     if (STRCMP(curbuf->b_p_ft, "help") != 0)
     {
@@ -6878,7 +6807,6 @@ fix_help_buffer(void)
        set_option_value((char_u *)"ft", 0L, (char_u *)"help", OPT_LOCAL);
        --curbuf_lock;
     }
-#endif
 
 #ifdef FEAT_SYN_HL
     if (!syntax_present(curwin))
index 805e8c4587628650f13b180f7824a7e5e535e6c0..b1f80f9b91e2142d3a84d00a1192e0aa2c9281e1 100644 (file)
@@ -2045,17 +2045,15 @@ autowrite_all(void)
     FOR_ALL_BUFFERS(buf)
        if (bufIsChanged(buf) && !buf->b_p_ro)
        {
-#ifdef FEAT_AUTOCMD
            bufref_T    bufref;
 
            set_bufref(&bufref, buf);
-#endif
+
            (void)buf_write_all(buf, FALSE);
-#ifdef FEAT_AUTOCMD
+
            /* an autocommand may have deleted the buffer */
            if (!bufref_valid(&bufref))
                buf = firstbuf;
-#endif
        }
 }
 
@@ -2067,11 +2065,9 @@ autowrite_all(void)
 check_changed(buf_T *buf, int flags)
 {
     int                forceit = (flags & CCGD_FORCEIT);
-#ifdef FEAT_AUTOCMD
     bufref_T   bufref;
 
     set_bufref(&bufref, buf);
-#endif
 
     if (       !forceit
            && bufIsChanged(buf)
@@ -2093,17 +2089,15 @@ check_changed(buf_T *buf, int flags)
 # endif
                                        ))
                        ++count;
-# ifdef FEAT_AUTOCMD
            if (!bufref_valid(&bufref))
                /* Autocommand deleted buffer, oops!  It's not changed now. */
                return FALSE;
-# endif
+
            dialog_changed(buf, count > 1);
-# ifdef FEAT_AUTOCMD
+
            if (!bufref_valid(&bufref))
                /* Autocommand deleted buffer, oops!  It's not changed now. */
                return FALSE;
-# endif
            return bufIsChanged(buf);
        }
 #endif
@@ -2197,11 +2191,9 @@ dialog_changed(
                        )
                    && !buf2->b_p_ro)
            {
-#ifdef FEAT_AUTOCMD
                bufref_T bufref;
 
                set_bufref(&bufref, buf2);
-#endif
 #ifdef FEAT_BROWSE
                /* May get file name, when there is none */
                browse_save_fname(buf2);
@@ -2210,11 +2202,10 @@ dialog_changed(
                                  buf2->b_fname, buf2->b_ffname, FALSE) == OK)
                    /* didn't hit Cancel */
                    (void)buf_write_all(buf2, FALSE);
-#ifdef FEAT_AUTOCMD
+
                /* an autocommand may have deleted the buffer */
                if (!bufref_valid(&bufref))
                    buf2 = firstbuf;
-#endif
            }
        }
     }
@@ -2370,19 +2361,15 @@ check_changed_any(
        FOR_ALL_TAB_WINDOWS(tp, wp)
            if (wp->w_buffer == buf)
            {
-#ifdef FEAT_AUTOCMD
                bufref_T bufref;
 
                set_bufref(&bufref, buf);
-#endif
+
                goto_tabpage_win(tp, wp);
-#ifdef FEAT_AUTOCMD
+
                /* Paranoia: did autocms wipe out the buffer with changes? */
                if (!bufref_valid(&bufref))
-               {
                    goto theend;
-               }
-#endif
                goto buf_found;
            }
 buf_found:
@@ -2420,20 +2407,16 @@ check_fname(void)
 buf_write_all(buf_T *buf, int forceit)
 {
     int            retval;
-#ifdef FEAT_AUTOCMD
     buf_T      *old_curbuf = curbuf;
-#endif
 
     retval = (buf_write(buf, buf->b_ffname, buf->b_fname,
                                   (linenr_T)1, buf->b_ml.ml_line_count, NULL,
                                                  FALSE, forceit, TRUE, FALSE));
-#ifdef FEAT_AUTOCMD
     if (curbuf != old_curbuf)
     {
        msg_source(HL_ATTR(HLF_W));
        MSG(_("Warning: Entered other buffer unexpectedly (check autocommands)"));
     }
-#endif
     return retval;
 }
 
@@ -3053,7 +3036,7 @@ ex_listdo(exarg_T *eap)
     tabpage_T  *tp;
     buf_T      *buf = curbuf;
     int                next_fnum = 0;
-#if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
+#if defined(FEAT_SYN_HL)
     char_u     *save_ei = NULL;
 #endif
     char_u     *p_shm_save;
@@ -3071,7 +3054,7 @@ ex_listdo(exarg_T *eap)
     }
 #endif
 
-#if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
+#if defined(FEAT_SYN_HL)
     if (eap->cmdidx != CMD_windo && eap->cmdidx != CMD_tabdo)
        /* Don't do syntax HL autocommands.  Skipping the syntax file is a
         * great speed improvement. */
@@ -3265,7 +3248,7 @@ ex_listdo(exarg_T *eap)
        listcmd_busy = FALSE;
     }
 
-#if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
+#if defined(FEAT_SYN_HL)
     if (save_ei != NULL)
     {
        au_event_restore(save_ei);
@@ -3660,6 +3643,8 @@ source_in_path(char_u *path, char_u *name, int flags)
 }
 
 
+#if defined(FEAT_EVAL) || defined(PROTO)
+
 /*
  * Expand wildcards in "pat" and invoke do_source() for each match.
  */
@@ -3800,7 +3785,6 @@ load_pack_plugin(char_u *fname)
     vim_snprintf((char *)pat, len, plugpat, ffname);
     source_all_matches(pat);
 
-#ifdef FEAT_AUTOCMD
     {
        char_u *cmd = vim_strsave((char_u *)"g:did_load_filetypes");
 
@@ -3815,7 +3799,6 @@ load_pack_plugin(char_u *fname)
        }
        vim_free(cmd);
     }
-#endif
     vim_free(pat);
     retval = OK;
 
@@ -3911,8 +3894,9 @@ ex_packadd(exarg_T *eap)
        vim_free(pat);
     }
 }
+#endif
 
-#if defined(FEAT_EVAL) && defined(FEAT_AUTOCMD)
+#if defined(FEAT_EVAL) || defined(PROTO)
 /*
  * ":options"
  */
@@ -4308,23 +4292,21 @@ do_source(
        goto theend;
     }
 
-#ifdef FEAT_AUTOCMD
     /* Apply SourceCmd autocommands, they should get the file and source it. */
     if (has_autocmd(EVENT_SOURCECMD, fname_exp, NULL)
            && apply_autocmds(EVENT_SOURCECMD, fname_exp, fname_exp,
                                                               FALSE, curbuf))
     {
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
        retval = aborting() ? FAIL : OK;
-# else
+#else
        retval = OK;
-# endif
+#endif
        goto theend;
     }
 
     /* Apply SourcePre autocommands, they may get the file. */
     apply_autocmds(EVENT_SOURCEPRE, fname_exp, fname_exp, FALSE, curbuf);
-#endif
 
 #ifdef USE_FOPEN_NOINH
     cookie.fp = fopen_noinh_readbin((char *)fname_exp);
index b923980e354dfeae0a4394d859b6dbf373e54f4e..c0eed2d5f46a40d4df4f8587a34a64d808f91d57 100644 (file)
@@ -81,14 +81,8 @@ static void  ex_abclear(exarg_T *eap);
 # define ex_menu               ex_ni
 # define ex_menutranslate      ex_ni
 #endif
-#ifdef FEAT_AUTOCMD
 static void    ex_autocmd(exarg_T *eap);
 static void    ex_doautocmd(exarg_T *eap);
-#else
-# define ex_autocmd            ex_ni
-# define ex_doautocmd          ex_ni
-# define ex_doautoall          ex_ni
-#endif
 #ifdef FEAT_LISTCMDS
 static void    ex_bunload(exarg_T *eap);
 static void    ex_buffer(exarg_T *eap);
@@ -234,6 +228,10 @@ static void        ex_popup(exarg_T *eap);
 # define ex_syntax             ex_ni
 # define ex_ownsyntax          ex_ni
 #endif
+#ifndef FEAT_EVAL
+# define ex_packadd            ex_ni
+# define ex_packloadall                ex_ni
+#endif
 #if !defined(FEAT_SYN_HL) || !defined(FEAT_PROFILE)
 # define ex_syntime            ex_ni
 #endif
@@ -390,13 +388,8 @@ static void        ex_viminfo(exarg_T *eap);
 # define ex_viminfo            ex_ni
 #endif
 static void    ex_behave(exarg_T *eap);
-#ifdef FEAT_AUTOCMD
 static void    ex_filetype(exarg_T *eap);
 static void    ex_setfiletype(exarg_T *eap);
-#else
-# define ex_filetype           ex_ni
-# define ex_setfiletype                ex_ni
-#endif
 #ifndef FEAT_DIFF
 # define ex_diffoff            ex_ni
 # define ex_diffpatch          ex_ni
@@ -407,7 +400,7 @@ static void ex_setfiletype(exarg_T *eap);
 #endif
 static void    ex_digraphs(exarg_T *eap);
 static void    ex_set(exarg_T *eap);
-#if !defined(FEAT_EVAL) || !defined(FEAT_AUTOCMD)
+#if !defined(FEAT_EVAL)
 # define ex_options            ex_ni
 #endif
 #ifdef FEAT_SEARCH_EXTRA
@@ -1761,11 +1754,8 @@ do_one_cmd(
            /* avoid that a function call in 'statusline' does this */
            && !getline_equal(fgetline, cookie, get_func_line)
 #endif
-#ifdef FEAT_AUTOCMD
            /* avoid that an autocommand, e.g. QuitPre, does this */
-           && !getline_equal(fgetline, cookie, getnextac)
-#endif
-           )
+           && !getline_equal(fgetline, cookie, getnextac))
        --quitmore;
 
     /*
@@ -1912,7 +1902,6 @@ do_one_cmd(
 
            case 'n':   if (checkforcmd(&ea.cmd, "noautocmd", 3))
                        {
-#ifdef FEAT_AUTOCMD
                            if (cmdmod.save_ei == NULL)
                            {
                                /* Set 'eventignore' to "all". Restore the
@@ -1921,7 +1910,6 @@ do_one_cmd(
                                set_string_option_direct((char_u *)"ei", -1,
                                         (char_u *)"all", OPT_FREE, SID_NONE);
                            }
-#endif
                            continue;
                        }
                        if (!checkforcmd(&ea.cmd, "noswapfile", 3))
@@ -2302,7 +2290,6 @@ do_one_cmd(
        goto doend;
     }
 
-#ifdef FEAT_AUTOCMD
     /* If this looks like an undefined user command and there are CmdUndefined
      * autocommands defined, trigger the matching autocommands. */
     if (p != NULL && ea.cmdidx == CMD_SIZE && !ea.skip
@@ -2319,9 +2306,12 @@ do_one_cmd(
        vim_free(p);
        /* If the autocommands did something and didn't cause an error, try
         * finding the command again. */
-       p = (ret && !aborting()) ? find_command(&ea, NULL) : ea.cmd;
-    }
+       p = (ret
+#ifdef FEAT_EVAL
+               && !aborting()
 #endif
+               ) ? find_command(&ea, NULL) : ea.cmd;
+    }
 
 #ifdef FEAT_USR_CMDS
     if (p == NULL)
@@ -2421,7 +2411,6 @@ do_one_cmd(
            errormsg = (char_u *)_(get_text_locked_msg());
            goto doend;
        }
-#ifdef FEAT_AUTOCMD
        /* Disallow editing another buffer when "curbuf_lock" is set.
         * Do allow ":edit" (check for argument later).
         * Do allow ":checktime" (it's postponed). */
@@ -2431,7 +2420,6 @@ do_one_cmd(
                && !IS_USER_CMDIDX(ea.cmdidx)
                && curbuf_locked())
            goto doend;
-#endif
 
        if (!ni && !(ea.argt & RANGE) && ea.addr_count > 0)
        {
@@ -2971,7 +2959,7 @@ doend:
 
     if (verbose_save >= 0)
        p_verbose = verbose_save;
-#ifdef FEAT_AUTOCMD
+
     if (cmdmod.save_ei != NULL)
     {
        /* Restore 'eventignore' to the value before ":noautocmd". */
@@ -2979,7 +2967,7 @@ doend:
                                                          OPT_FREE, SID_NONE);
        free_string_option(cmdmod.save_ei);
     }
-#endif
+
     if (cmdmod.filter_regmatch.regprog != NULL)
        vim_regfree(cmdmod.filter_regmatch.regprog);
 
@@ -4025,14 +4013,12 @@ set_one_cmd_context(
                }
            }
            break;
-#ifdef FEAT_AUTOCMD
+
        case CMD_autocmd:
            return set_context_in_autocmd(xp, arg, FALSE);
-
        case CMD_doautocmd:
        case CMD_doautoall:
            return set_context_in_autocmd(xp, arg, TRUE);
-#endif
        case CMD_set:
            set_context_in_set_cmd(xp, arg, 0);
            break;
@@ -5500,7 +5486,6 @@ ex_abclear(exarg_T *eap)
     map_clear(eap->cmd, eap->arg, TRUE, TRUE);
 }
 
-#if defined(FEAT_AUTOCMD) || defined(PROTO)
     static void
 ex_autocmd(exarg_T *eap)
 {
@@ -5534,7 +5519,6 @@ ex_doautocmd(exarg_T *eap)
     if (call_do_modelines && did_aucmd)
        do_modelines(0);
 }
-#endif
 
 #ifdef FEAT_LISTCMDS
 /*
@@ -7234,7 +7218,6 @@ ex_quit(exarg_T *eap)
     else
        wp = curwin;
 
-#ifdef FEAT_AUTOCMD
     /* Refuse to quit when locked. */
     if (curbuf_locked())
        return;
@@ -7245,7 +7228,6 @@ ex_quit(exarg_T *eap)
     if (!win_valid(wp)
            || (wp->w_buffer->b_nwindows == 1 && wp->w_buffer->b_locked > 0))
        return;
-#endif
 
 #ifdef FEAT_NETBEANS_INTG
     netbeansForcedQuit = eap->forceit;
@@ -7318,13 +7300,11 @@ ex_quit_all(exarg_T *eap)
        text_locked_msg();
        return;
     }
-#ifdef FEAT_AUTOCMD
     apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
     /* Refuse to quit when locked or when the buffer in the last window is
      * being closed (can only happen in autocommands). */
     if (curbuf_locked() || (curbuf->b_nwindows == 1 && curbuf->b_locked > 0))
        return;
-#endif
 
     exiting = TRUE;
     if (eap->forceit || !check_changed_any(FALSE, FALSE))
@@ -7345,11 +7325,7 @@ ex_close(exarg_T *eap)
        cmdwin_result = Ctrl_C;
     else
 #endif
-       if (!text_locked()
-#ifdef FEAT_AUTOCMD
-               && !curbuf_locked()
-#endif
-               )
+       if (!text_locked() && !curbuf_locked())
        {
            if (eap->addr_count == 0)
                ex_win_close(eap->forceit, curwin, NULL);
@@ -7565,11 +7541,7 @@ ex_tabclose(exarg_T *eap)
                    tabpage_close_other(tp, eap->forceit);
                    return;
                }
-               else if (!text_locked()
-#ifdef FEAT_AUTOCMD
-                       && !curbuf_locked()
-#endif
-               )
+               else if (!text_locked() && !curbuf_locked())
                    tabpage_close(eap->forceit);
            }
        }
@@ -7662,9 +7634,7 @@ tabpage_close_other(tabpage_T *tp, int forceit)
            break;
     }
 
-#ifdef FEAT_AUTOCMD
     apply_autocmds(EVENT_TABCLOSED, NULL, NULL, FALSE, curbuf);
-#endif
 
     redraw_tabline = TRUE;
     if (h != tabline_height())
@@ -7790,13 +7760,11 @@ ex_exit(exarg_T *eap)
        text_locked_msg();
        return;
     }
-#ifdef FEAT_AUTOCMD
     apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
     /* Refuse to quit when locked or when the buffer in the last window is
      * being closed (can only happen in autocommands). */
     if (curbuf_locked() || (curbuf->b_nwindows == 1 && curbuf->b_locked > 0))
        return;
-#endif
 
     /*
      * if more files or windows we won't exit
@@ -7901,10 +7869,9 @@ handle_drop(
     /* Postpone this while editing the command line. */
     if (text_locked())
        return;
-#ifdef FEAT_AUTOCMD
     if (curbuf_locked())
        return;
-#endif
+
     /* When the screen is being updated we should not change buffers and
      * windows structures, it may cause freed memory to be used. */
     if (updating_screen)
@@ -8072,9 +8039,7 @@ alist_set(
 
     if (recursive)
     {
-#ifdef FEAT_AUTOCMD
        EMSG(_(e_au_recursive));
-#endif
        return;
     }
     ++recursive;
@@ -8251,11 +8216,10 @@ ex_splitview(exarg_T *eap)
            && eap->cmdidx != CMD_vnew
            && eap->cmdidx != CMD_new)
     {
-# ifdef FEAT_AUTOCMD
        if (
-#  ifdef FEAT_GUI
+# ifdef FEAT_GUI
            !gui.in_use &&
-#  endif
+# endif
                au_has_group((char_u *)"FileExplorer"))
        {
            /* No browsing supported but we do have the file explorer:
@@ -8264,7 +8228,6 @@ ex_splitview(exarg_T *eap)
                eap->arg = (char_u *)".";
        }
        else
-# endif
        {
            fname = do_browse(0, (char_u *)_("Edit File in new window"),
                                          eap->arg, NULL, NULL, NULL, curbuf);
@@ -8668,12 +8631,11 @@ do_exedit(
 #endif
            )
     {
-#ifdef FEAT_AUTOCMD
        /* Can't edit another file when "curbuf_lock" is set.  Only ":edit"
         * can bring us here, others are stopped earlier. */
        if (*eap->arg != NUL && curbuf_locked())
            return;
-#endif
+
        n = readonlymode;
        if (eap->cmdidx == CMD_view || eap->cmdidx == CMD_sview)
            readonlymode = TRUE;
@@ -8702,7 +8664,7 @@ do_exedit(
                need_hide = (curbufIsChanged() && curbuf->b_nwindows <= 1);
                if (!need_hide || buf_hide(curbuf))
                {
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
                    cleanup_T   cs;
 
                    /* Reset the error/interrupt/exception state here so that
@@ -8714,7 +8676,7 @@ do_exedit(
 #endif
                    win_close(curwin, !need_hide && !buf_hide(curbuf));
 
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
                    /* Restore the error/interrupt/exception state if not
                     * discarded by a new aborting error, interrupt, or
                     * uncaught exception. */
@@ -8927,7 +8889,7 @@ ex_read(exarg_T *eap)
        }
        if (i != OK)
        {
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
            if (!aborting())
 #endif
                EMSG2(_(e_notopen), eap->arg);
@@ -9013,10 +8975,8 @@ ex_cd(exarg_T *eap)
     else
 #endif
     {
-#ifdef FEAT_AUTOCMD
        if (allbuf_locked())
            return;
-#endif
        if (vim_strchr(p_cpo, CPO_CHDIR) != NULL && curbufIsChanged()
                                                             && !eap->forceit)
        {
@@ -9073,11 +9033,9 @@ ex_cd(exarg_T *eap)
            /* Echo the new current directory if the command was typed. */
            if (KeyTyped || p_verbose >= 5)
                ex_pwd(eap);
-#ifdef FEAT_AUTOCMD
            apply_autocmds(EVENT_DIRCHANGED,
                    is_local_chdir ? (char_u *)"window" : (char_u *)"global",
                    new_dir, FALSE, curbuf);
-#endif
        }
        vim_free(tofree);
     }
@@ -10588,21 +10546,15 @@ find_cmdline_var(char_u *src, int *usedlen)
 #define SPEC_SFILE  (SPEC_CFILE + 1)
                    "<slnum>",          /* ":so" file line number */
 #define SPEC_SLNUM  (SPEC_SFILE + 1)
-#ifdef FEAT_AUTOCMD
                    "<afile>",          /* autocommand file name */
-# define SPEC_AFILE (SPEC_SLNUM + 1)
+#define SPEC_AFILE (SPEC_SLNUM + 1)
                    "<abuf>",           /* autocommand buffer number */
-# define SPEC_ABUF  (SPEC_AFILE + 1)
+#define SPEC_ABUF  (SPEC_AFILE + 1)
                    "<amatch>",         /* autocommand match name */
-# define SPEC_AMATCH (SPEC_ABUF + 1)
-#endif
+#define SPEC_AMATCH (SPEC_ABUF + 1)
 #ifdef FEAT_CLIENTSERVER
                    "<client>"
-# ifdef FEAT_AUTOCMD
-#  define SPEC_CLIENT (SPEC_AMATCH + 1)
-# else
-#  define SPEC_CLIENT (SPEC_SLNUM + 1)
-# endif
+# define SPEC_CLIENT (SPEC_AMATCH + 1)
 #endif
     };
 
@@ -10801,7 +10753,6 @@ eval_vars(
                break;
 #endif
 
-#ifdef FEAT_AUTOCMD
        case SPEC_AFILE:        /* file name for autocommand */
                result = autocmd_fname;
                if (result != NULL && !autocmd_fname_full)
@@ -10840,7 +10791,6 @@ eval_vars(
                }
                break;
 
-#endif
        case SPEC_SFILE:        /* file name for ":so" command */
                result = sourcing_name;
                if (result == NULL)
@@ -10976,7 +10926,6 @@ arg_all(void)
     return retval;
 }
 
-#if defined(FEAT_AUTOCMD) || defined(PROTO)
 /*
  * Expand the <sfile> string in "arg".
  *
@@ -11038,7 +10987,6 @@ expand_sfile(char_u *arg)
 
     return result;
 }
-#endif
 
 #ifdef FEAT_SESSION
 static int ses_winsizes(FILE *fd, int restore_size,
@@ -12070,7 +12018,6 @@ get_mapclear_arg(expand_T *xp UNUSED, int idx)
     return NULL;
 }
 
-#ifdef FEAT_AUTOCMD
 static int filetype_detect = FALSE;
 static int filetype_plugin = FALSE;
 static int filetype_indent = FALSE;
@@ -12184,7 +12131,6 @@ ex_setfiletype(exarg_T *eap)
            did_filetype = FALSE;
     }
 }
-#endif
 
     static void
 ex_digraphs(exarg_T *eap UNUSED)
@@ -12208,7 +12154,7 @@ ex_set(exarg_T *eap)
        flags = OPT_LOCAL;
     else if (eap->cmdidx == CMD_setglobal)
        flags = OPT_GLOBAL;
-#if defined(FEAT_EVAL) && defined(FEAT_AUTOCMD) && defined(FEAT_BROWSE)
+#if defined(FEAT_EVAL) && defined(FEAT_BROWSE)
     if (cmdmod.browse && flags == 0)
        ex_options(eap);
     else
index f92f1dfedd43dd545ac027de125df8f92527e34c..6119ad216361794447d21b8a169fc4ebe5cc2865 100644 (file)
@@ -146,7 +146,6 @@ static void set_search_match(pos_T *t);
 #endif
 
 
-#ifdef FEAT_AUTOCMD
     static void
 trigger_cmd_autocmd(int typechar, int evt)
 {
@@ -156,7 +155,6 @@ trigger_cmd_autocmd(int typechar, int evt)
     typestr[1] = NUL;
     apply_autocmds(evt, typestr, typestr, FALSE, curbuf);
 }
-#endif
 
 /*
  * Abandon the command line.
@@ -266,9 +264,7 @@ getcmdline(
      * custom status line may invoke ":normal". */
     struct cmdline_info save_ccline;
 #endif
-#ifdef FEAT_AUTOCMD
     int                cmdline_type;
-#endif
 
 #ifdef FEAT_EVAL
     if (firstc == -1)
@@ -376,11 +372,11 @@ getcmdline(
            b_im_ptr = &curbuf->b_p_imsearch;
        if (*b_im_ptr == B_IMODE_LMAP)
            State |= LANGMAP;
-#ifdef FEAT_MBYTE
+#ifdef HAVE_INPUT_METHOD
        im_set_active(*b_im_ptr == B_IMODE_IM);
 #endif
     }
-#ifdef FEAT_MBYTE
+#ifdef HAVE_INPUT_METHOD
     else if (p_imcmdline)
        im_set_active(TRUE);
 #endif
@@ -396,11 +392,9 @@ getcmdline(
      * terminal mode set to cooked.  Need to set raw mode here then. */
     settmode(TMODE_RAW);
 
-#ifdef FEAT_AUTOCMD
     /* Trigger CmdlineEnter autocommands. */
     cmdline_type = firstc == NUL ? '-' : firstc;
     trigger_cmd_autocmd(cmdline_type, EVENT_CMDLINEENTER);
-#endif
 
 #ifdef FEAT_CMDHIST
     init_history();
@@ -1132,7 +1126,7 @@ getcmdline(
                {
                    /* ":lmap" mappings exists, toggle use of mappings. */
                    State ^= LANGMAP;
-#ifdef FEAT_MBYTE
+#ifdef HAVE_INPUT_METHOD
                    im_set_active(FALSE);       /* Disable input method */
 #endif
                    if (b_im_ptr != NULL)
@@ -1143,7 +1137,7 @@ getcmdline(
                            *b_im_ptr = B_IMODE_NONE;
                    }
                }
-#ifdef FEAT_MBYTE
+#ifdef HAVE_INPUT_METHOD
                else
                {
                    /* There are no ":lmap" mappings, toggle IM.  When
@@ -1946,10 +1940,8 @@ cmdline_not_changed:
 #endif
 
 cmdline_changed:
-#ifdef FEAT_AUTOCMD
        /* Trigger CmdlineChanged autocommands. */
        trigger_cmd_autocmd(cmdline_type, EVENT_CMDLINECHANGED);
-#endif
 
 #ifdef FEAT_SEARCH_EXTRA
        /*
@@ -2160,13 +2152,11 @@ returncmd:
     if (some_key_typed)
        need_wait_return = FALSE;
 
-#ifdef FEAT_AUTOCMD
     /* Trigger CmdlineLeave autocommands. */
     trigger_cmd_autocmd(cmdline_type, EVENT_CMDLINELEAVE);
-#endif
 
     State = save_State;
-#ifdef FEAT_MBYTE
+#ifdef HAVE_INPUT_METHOD
     if (b_im_ptr != NULL && *b_im_ptr != B_IMODE_LMAP)
        im_save_status(b_im_ptr);
     im_set_active(FALSE);
@@ -2266,7 +2256,6 @@ get_text_locked_msg(void)
     return e_secure;
 }
 
-#if defined(FEAT_AUTOCMD) || defined(PROTO)
 /*
  * Check if "curbuf_lock" or "allbuf_lock" is set and return TRUE when it is
  * and give an error message.
@@ -2296,7 +2285,6 @@ allbuf_locked(void)
     }
     return FALSE;
 }
-#endif
 
     static int
 cmdline_charsize(int idx)
@@ -4983,10 +4971,8 @@ ExpandFromContext(
            {EXPAND_SYNTIME, get_syntime_arg, TRUE, TRUE},
 #endif
            {EXPAND_HIGHLIGHT, get_highlight_name, TRUE, TRUE},
-#ifdef FEAT_AUTOCMD
            {EXPAND_EVENTS, get_event_name, TRUE, TRUE},
            {EXPAND_AUGROUP, get_augroup_name, TRUE, TRUE},
-#endif
 #ifdef FEAT_CSCOPE
            {EXPAND_CSCOPE, get_cscope_name, TRUE, TRUE},
 #endif
@@ -6930,10 +6916,9 @@ open_cmdwin(void)
     /* Save current window sizes. */
     win_size_save(&winsizes);
 
-# ifdef FEAT_AUTOCMD
     /* Don't execute autocommands while creating the window. */
     block_autocmds();
-# endif
+
     /* don't use a new tab page */
     cmdmod.tab = 0;
     cmdmod.noswapfile = 1;
@@ -6942,9 +6927,7 @@ open_cmdwin(void)
     if (win_split((int)p_cwh, WSP_BOT) == FAIL)
     {
        beep_flush();
-# ifdef FEAT_AUTOCMD
        unblock_autocmds();
-# endif
        return K_IGNORE;
     }
     cmdwin_type = get_cmdline_type();
@@ -6963,12 +6946,10 @@ open_cmdwin(void)
 # endif
     RESET_BINDING(curwin);
 
-# ifdef FEAT_AUTOCMD
     /* Do execute autocommands for setting the filetype (load syntax). */
     unblock_autocmds();
     /* But don't allow switching to another buffer. */
     ++curbuf_lock;
-# endif
 
     /* Showing the prompt may have set need_wait_return, reset it. */
     need_wait_return = FALSE;
@@ -6983,9 +6964,7 @@ open_cmdwin(void)
        }
        set_option_value((char_u *)"ft", 0L, (char_u *)"vim", OPT_LOCAL);
     }
-# ifdef FEAT_AUTOCMD
     --curbuf_lock;
-# endif
 
     /* Reset 'textwidth' after setting 'filetype' (the Vim filetype plugin
      * sets 'textwidth' to 78). */
@@ -7031,12 +7010,10 @@ open_cmdwin(void)
     setmouse();
 # endif
 
-# ifdef FEAT_AUTOCMD
     /* Trigger CmdwinEnter autocommands. */
     trigger_cmd_autocmd(cmdwin_type, EVENT_CMDWINENTER);
     if (restart_edit != 0)     /* autocmd with ":startinsert" */
        stuffcharReadbuff(K_NOP);
-# endif
 
     i = RedrawingDisabled;
     RedrawingDisabled = 0;
@@ -7049,20 +7026,16 @@ open_cmdwin(void)
 
     RedrawingDisabled = i;
 
-# ifdef FEAT_AUTOCMD
-
-#  ifdef FEAT_FOLDING
+# ifdef FEAT_FOLDING
     save_KeyTyped = KeyTyped;
-#  endif
+# endif
 
     /* Trigger CmdwinLeave autocommands. */
     trigger_cmd_autocmd(cmdwin_type, EVENT_CMDWINLEAVE);
 
-#  ifdef FEAT_FOLDING
+# ifdef FEAT_FOLDING
     /* Restore KeyTyped in case it is modified by autocommands */
     KeyTyped = save_KeyTyped;
-#  endif
-
 # endif
 
     /* Restore the command line info. */
@@ -7080,7 +7053,7 @@ open_cmdwin(void)
     }
     else
     {
-# if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+# if defined(FEAT_EVAL)
        /* autocmds may abort script processing */
        if (aborting() && cmdwin_result != K_IGNORE)
            cmdwin_result = Ctrl_C;
@@ -7141,10 +7114,8 @@ open_cmdwin(void)
            }
        }
 
-# ifdef FEAT_AUTOCMD
        /* Don't execute autocommands while deleting the window. */
        block_autocmds();
-# endif
 # ifdef FEAT_CONCEAL
        /* Avoid command-line window first character being concealed. */
        curwin->w_p_cole = 0;
@@ -7162,9 +7133,7 @@ open_cmdwin(void)
        /* Restore window sizes. */
        win_size_restore(&winsizes);
 
-# ifdef FEAT_AUTOCMD
        unblock_autocmds();
-# endif
     }
 
     ga_clear(&winsizes);
index 2d57d6704d8dc0f9e807e3736680ba80a46c98c4..6d35265c2841dc4dd34971cad0ab70411b0b9994 100644 (file)
 # define FEAT_MODIFY_FNAME
 #endif
 
-/*
- * +autocmd            ":autocmd" command
- */
-#ifdef FEAT_NORMAL
-# define FEAT_AUTOCMD
-#endif
-
 /*
  * +diff               Displaying diffs in a nice way.
  *                     Requires +windows and +autocmd.
  */
-#if defined(FEAT_NORMAL) && defined(FEAT_AUTOCMD)
+#if defined(FEAT_NORMAL)
 # define FEAT_DIFF
 #endif
 
index 8798cff1b6c3a71478b0236c91c98f575b56ce3f..7149a227b88cb19c4f45c88362f366577a084135 100644 (file)
@@ -47,14 +47,12 @@ static int msg_add_fileformat(int eol_type);
 static void msg_add_eol(void);
 static int check_mtime(buf_T *buf, stat_T *s);
 static int time_differs(long t1, long t2);
-#ifdef FEAT_AUTOCMD
 static int apply_autocmds_exarg(event_T event, char_u *fname, char_u *fname_io, int force, buf_T *buf, exarg_T *eap);
 static int au_find_group(char_u *name);
 
 # define AUGROUP_DEFAULT    -1     /* default autocmd group */
 # define AUGROUP_ERROR     -2      /* erroneous autocmd group */
 # define AUGROUP_ALL       -3      /* all autocmd groups */
-#endif
 
 #if defined(FEAT_CRYPT) || defined(FEAT_MBYTE)
 # define HAS_BW_FLAGS
@@ -135,11 +133,8 @@ static int move_lines(buf_T *frombuf, buf_T *tobuf);
 #ifdef TEMPDIRNAMES
 static void vim_settempdir(char_u *tempdir);
 #endif
-#ifdef FEAT_AUTOCMD
 static char *e_auchangedbuf = N_("E812: Autocommands changed buffer or buffer name");
-#endif
 
-#ifdef FEAT_AUTOCMD
 /*
  * Set by the apply_autocmds_group function if the given event is equal to
  * EVENT_FILETYPE. Used by the readfile function in order to determine if
@@ -149,7 +144,6 @@ static char *e_auchangedbuf = N_("E812: Autocommands changed buffer or buffer na
  * apply_autocmds_group.
  */
 static int au_did_filetype INIT(= FALSE);
-#endif
 
     void
 filemess(
@@ -307,17 +301,13 @@ readfile(
     char_u     conv_rest[CONV_RESTLEN];
     int                conv_restlen = 0;       /* nr of bytes in conv_rest[] */
 #endif
-#ifdef FEAT_AUTOCMD
     buf_T      *old_curbuf;
     char_u     *old_b_ffname;
     char_u     *old_b_fname;
     int                using_b_ffname;
     int                using_b_fname;
-#endif
 
-#ifdef FEAT_AUTOCMD
     au_did_filetype = FALSE; /* reset before triggering any autocommands */
-#endif
 
     curbuf->b_no_eol_lnum = 0; /* in case it was set by the previous read */
 
@@ -337,7 +327,6 @@ readfile(
            return FAIL;
     }
 
-#ifdef FEAT_AUTOCMD
     /* Remember the initial values of curbuf, curbuf->b_ffname and
      * curbuf->b_fname to detect whether they are altered as a result of
      * executing nasty autocommands.  Also check if "fname" and "sfname"
@@ -348,7 +337,6 @@ readfile(
     using_b_ffname = (fname == curbuf->b_ffname)
                                              || (sfname == curbuf->b_ffname);
     using_b_fname = (fname == curbuf->b_fname) || (sfname == curbuf->b_fname);
-#endif
 
     /* After reading a file the cursor line changes but we don't want to
      * display the line. */
@@ -369,7 +357,6 @@ readfile(
     fname = sfname;
 #endif
 
-#ifdef FEAT_AUTOCMD
     /*
      * The BufReadCmd and FileReadCmd events intercept the reading process by
      * executing the associated commands instead.
@@ -404,7 +391,6 @@ readfile(
 
        curbuf->b_op_start = pos;
     }
-#endif
 
     if ((shortmess(SHM_OVER) || curbuf->b_help) && p_verbose == 0)
        msg_scroll = FALSE;     /* overwrite previous file message */
@@ -613,7 +599,6 @@ readfile(
 #endif
                    {
                        check_need_swap(newfile);
-#ifdef FEAT_AUTOCMD
                        /* SwapExists autocommand may mess things up */
                        if (curbuf != old_curbuf
                                || (using_b_ffname
@@ -624,7 +609,6 @@ readfile(
                            EMSG(_(e_auchangedbuf));
                            return FAIL;
                        }
-#endif
                    }
                    if (dir_of_file_exists(fname))
                        filemess(curbuf, sfname, (char_u *)_("[New File]"), 0);
@@ -641,14 +625,12 @@ readfile(
                    if (eap != NULL)
                        set_forced_fenc(eap);
 #endif
-#ifdef FEAT_AUTOCMD
                    apply_autocmds_exarg(EVENT_BUFNEWFILE, sfname, sfname,
                                                          FALSE, curbuf, eap);
-#endif
                    /* remember the current fileformat */
                    save_file_ff(curbuf);
 
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
                    if (aborting())   /* autocmds may abort script processing */
                        return FAIL;
 #endif
@@ -701,7 +683,6 @@ readfile(
 #endif
     {
        check_need_swap(newfile);
-#ifdef FEAT_AUTOCMD
        if (!read_stdin && (curbuf != old_curbuf
                || (using_b_ffname && (old_b_ffname != curbuf->b_ffname))
                || (using_b_fname && (old_b_fname != curbuf->b_fname))))
@@ -711,7 +692,6 @@ readfile(
                close(fd);
            return FAIL;
        }
-#endif
 #ifdef UNIX
        /* Set swap file protection bits after creating it. */
        if (swap_mode > 0 && curbuf->b_ml.ml_mfp != NULL
@@ -764,7 +744,6 @@ readfile(
     try_dos = (vim_strchr(p_ffs, 'd') != NULL);
     try_unix = (vim_strchr(p_ffs, 'x') != NULL);
 
-#ifdef FEAT_AUTOCMD
     if (!read_buffer)
     {
        int     m = msg_scroll;
@@ -834,7 +813,6 @@ readfile(
            return FAIL;
        }
     }
-#endif /* FEAT_AUTOCMD */
 
     /* Autocommands may add lines to the file, need to check if it is empty */
     wasempty = (curbuf->b_ml.ml_flags & ML_EMPTY);
@@ -2704,7 +2682,6 @@ failed:
     }
 #endif
 
-#ifdef FEAT_AUTOCMD
     if (!read_stdin && !read_fifo && (!read_buffer || sfname != NULL))
     {
        int m = msg_scroll;
@@ -2746,7 +2723,6 @@ failed:
            return FAIL;
 # endif
     }
-#endif
 
     if (recoverymode && error)
        return FAIL;
@@ -3197,9 +3173,7 @@ buf_write(
 #endif
                                        /* writing everything */
     int                    whole = (start == 1 && end == buf->b_ml.ml_line_count);
-#ifdef FEAT_AUTOCMD
     linenr_T       old_line_count = buf->b_ml.ml_line_count;
-#endif
     int                    attr;
     int                    fileformat;
     int                    write_bin;
@@ -3319,7 +3293,6 @@ buf_write(
     buf->b_op_end.lnum = end;
     buf->b_op_end.col = 0;
 
-#ifdef FEAT_AUTOCMD
     {
        aco_save_T      aco;
        int             buf_ffname = FALSE;
@@ -3509,7 +3482,6 @@ buf_write(
        if (buf_fname_s)
            fname = buf->b_sfname;
     }
-#endif
 
 #ifdef FEAT_NETBEANS_INTG
     if (netbeans_active() && isNetbeansBuffer(buf))
@@ -5020,12 +4992,10 @@ restore_backup:
            )
     {
        unchanged(buf, TRUE);
-#ifdef FEAT_AUTOCMD
        /* b:changedtick is always incremented in unchanged() but that
         * should not trigger a TextChanged event. */
        if (buf->b_last_changedtick + 1 == CHANGEDTICK(buf))
            buf->b_last_changedtick = CHANGEDTICK(buf);
-#endif
        u_unchanged(buf);
        u_update_save_nr(buf);
     }
@@ -5194,7 +5164,6 @@ nofail:
     }
 #endif
 
-#ifdef FEAT_AUTOCMD
 #ifdef FEAT_EVAL
     if (!should_abort(retval))
 #else
@@ -5232,7 +5201,6 @@ nofail:
            retval = FALSE;
 #endif
     }
-#endif
 
     got_int |= prev_got_int;
 
@@ -5246,37 +5214,34 @@ nofail:
     static int
 set_rw_fname(char_u *fname, char_u *sfname)
 {
-#ifdef FEAT_AUTOCMD
     buf_T      *buf = curbuf;
 
     /* It's like the unnamed buffer is deleted.... */
     if (curbuf->b_p_bl)
        apply_autocmds(EVENT_BUFDELETE, NULL, NULL, FALSE, curbuf);
     apply_autocmds(EVENT_BUFWIPEOUT, NULL, NULL, FALSE, curbuf);
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
     if (aborting())        /* autocmds may abort script processing */
        return FAIL;
-# endif
+#endif
     if (curbuf != buf)
     {
        /* We are in another buffer now, don't do the renaming. */
        EMSG(_(e_auchangedbuf));
        return FAIL;
     }
-#endif
 
     if (setfname(curbuf, fname, sfname, FALSE) == OK)
        curbuf->b_flags |= BF_NOTEDITED;
 
-#ifdef FEAT_AUTOCMD
     /* ....and a new named one is created */
     apply_autocmds(EVENT_BUFNEW, NULL, NULL, FALSE, curbuf);
     if (curbuf->b_p_bl)
        apply_autocmds(EVENT_BUFADD, NULL, NULL, FALSE, curbuf);
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
     if (aborting())        /* autocmds may abort script processing */
        return FAIL;
-# endif
+#endif
 
     /* Do filetype detection now if 'filetype' is empty. */
     if (*curbuf->b_p_ft == NUL)
@@ -5285,7 +5250,6 @@ set_rw_fname(char_u *fname, char_u *sfname)
            (void)do_doautocmd((char_u *)"filetypedetect BufRead", FALSE, NULL);
        do_modelines(0);
     }
-#endif
 
     return OK;
 }
@@ -6105,8 +6069,6 @@ make_bom(char_u *buf, char_u *name)
 }
 #endif
 
-#if defined(FEAT_VIMINFO) || defined(FEAT_BROWSE) || \
-    defined(FEAT_QUICKFIX) || defined(FEAT_AUTOCMD) || defined(PROTO)
 /*
  * Try to find a shortname by comparing the fullname with the current
  * directory.
@@ -6130,7 +6092,6 @@ shorten_fname1(char_u *full_path)
     vim_free(dirname);
     return p;
 }
-#endif
 
 /*
  * Try to find a shortname by comparing the fullname with the current
@@ -6781,10 +6742,7 @@ check_timestamps(
     }
 
     if (!stuff_empty() || global_busy || !typebuf_typed()
-#ifdef FEAT_AUTOCMD
-                       || autocmd_busy || curbuf_lock > 0 || allbuf_lock > 0
-#endif
-                                       )
+                       || autocmd_busy || curbuf_lock > 0 || allbuf_lock > 0)
        need_check_timestamps = TRUE;           /* check later */
     else
     {
@@ -6898,14 +6856,14 @@ buf_check_timestamp(
 #ifdef FEAT_GUI
     int                save_mouse_correct = need_mouse_correct;
 #endif
-#ifdef FEAT_AUTOCMD
     static int busy = FALSE;
     int                n;
+#ifdef FEAT_EVAL
     char_u     *s;
+#endif
     bufref_T   bufref;
 
     set_bufref(&bufref, buf);
-#endif
 
     /* If there is no file name, the buffer is not loaded, 'buftype' is
      * set, we are in the middle of a save or being called recursively: ignore
@@ -6914,9 +6872,7 @@ buf_check_timestamp(
            || buf->b_ml.ml_mfp == NULL
            || *buf->b_p_bt != NUL
            || buf->b_saving
-#ifdef FEAT_AUTOCMD
            || busy
-#endif
 #ifdef FEAT_NETBEANS_INTG
            || isNetbeansBuffer(buf)
 #endif
@@ -6977,17 +6933,16 @@ buf_check_timestamp(
            else
                reason = "time";
 
-#ifdef FEAT_AUTOCMD
            /*
             * Only give the warning if there are no FileChangedShell
             * autocommands.
             * Avoid being called recursively by setting "busy".
             */
            busy = TRUE;
-# ifdef FEAT_EVAL
+#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
+#endif
            ++allbuf_lock;
            n = apply_autocmds(EVENT_FILECHANGEDSHELL,
                                      buf->b_fname, buf->b_fname, FALSE, buf);
@@ -6997,18 +6952,17 @@ buf_check_timestamp(
            {
                if (!bufref_valid(&bufref))
                    EMSG(_("E246: FileChangedShell autocommand deleted buffer"));
-# ifdef FEAT_EVAL
+#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
+#endif
                    return 2;
            }
            if (!n)
-#endif
            {
                if (*reason == 'd')
                    mesg = _("E211: File \"%s\" no longer available");
@@ -7100,9 +7054,7 @@ buf_check_timestamp(
            }
            else
            {
-# ifdef FEAT_AUTOCMD
                if (!autocmd_busy)
-# endif
                {
                    msg_start();
                    msg_puts_attr(tbuf, HL_ATTR(HLF_E) + MSG_HIST);
@@ -7114,9 +7066,9 @@ buf_check_timestamp(
                    if (emsg_silent == 0)
                    {
                        out_flush();
-# ifdef FEAT_GUI
+#ifdef FEAT_GUI
                        if (!focus)
-# endif
+#endif
                            /* give the user some time to think about it */
                            ui_delay(1000L, TRUE);
 
@@ -7151,12 +7103,10 @@ buf_check_timestamp(
 #endif
     }
 
-#ifdef FEAT_AUTOCMD
     /* Trigger FileChangedShell when the file was changed in any way. */
     if (bufref_valid(&bufref) && retval != 0)
        (void)apply_autocmds(EVENT_FILECHANGEDSHELLPOST,
                                      buf->b_fname, buf->b_fname, FALSE, buf);
-#endif
 #ifdef FEAT_GUI
     /* restore this in case an autocommand has set it; it would break
      * 'mousefocus' */
@@ -7240,14 +7190,12 @@ buf_reload(buf_T *buf, int orig_mode)
        if (saved == OK)
        {
            curbuf->b_flags |= BF_CHECK_RO;     /* check for RO again */
-#ifdef FEAT_AUTOCMD
            keep_filetype = TRUE;               /* don't detect 'filetype' */
-#endif
            if (readfile(buf->b_ffname, buf->b_fname, (linenr_T)0,
                        (linenr_T)0,
                        (linenr_T)MAXLNUM, &ea, flags) != OK)
            {
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
                if (!aborting())
 #endif
                    EMSG2(_("E321: Could not reload \"%s\""), buf->b_fname);
@@ -7296,9 +7244,7 @@ buf_reload(buf_T *buf, int orig_mode)
        curwin->w_cursor = old_cursor;
        check_cursor();
        update_topline();
-#ifdef FEAT_AUTOCMD
        keep_filetype = FALSE;
-#endif
 #ifdef FEAT_FOLDING
        {
            win_T       *wp;
@@ -7672,12 +7618,8 @@ forward_slash(char_u *fname)
 
 /*
  * Code for automatic commands.
- *
- * Only included when "FEAT_AUTOCMD" has been defined.
  */
 
-#if defined(FEAT_AUTOCMD) || defined(PROTO)
-
 /*
  * The autocommands are stored in a list for each event.
  * Autocommands for the same pattern, that are consecutive, are joined
@@ -7914,9 +7856,7 @@ static int au_get_grouparg(char_u **argp);
 static int do_autocmd_event(event_T event, char_u *pat, int nested, char_u *cmd, int forceit, int group);
 static int apply_autocmds_group(event_T event, char_u *fname, char_u *fname_io, int force, int group, buf_T *buf, exarg_T *eap);
 static void auto_next_pat(AutoPatCmd *apc, int stop_at_last);
-#if defined(FEAT_AUTOCMD) || defined(FEAT_WILDIGN)
 static int match_file_pat(char_u *pattern, regprog_T **prog, char_u *fname, char_u *sfname, char_u *tail, int allow_dirs);
-#endif
 
 
 static event_T last_event;
@@ -9014,7 +8954,6 @@ check_nomodeline(char_u **argp)
  * Search for a visible window containing the current buffer.  If there isn't
  * one then use "aucmd_win".
  * Set "curbuf" and "curwin" to match "buf".
- * When FEAT_AUTOCMD is not defined another version is used, see below.
  */
     void
 aucmd_prepbuf(
@@ -9067,7 +9006,9 @@ aucmd_prepbuf(
        aco->use_aucmd_win = TRUE;
        aucmd_win_used = TRUE;
        aucmd_win->w_buffer = buf;
+#if defined(FEAT_SYN_HL) || defined(FEAT_SPELL)
        aucmd_win->w_s = &buf->b_s;
+#endif
        ++buf->b_nwindows;
        win_init_empty(aucmd_win); /* set cursor and topline to safe values */
 
@@ -9108,7 +9049,6 @@ aucmd_prepbuf(
 /*
  * Cleanup after executing autocommands for a (hidden) buffer.
  * Restore the window as it was (if possible).
- * When FEAT_AUTOCMD is not defined another version is used, see below.
  */
     void
 aucmd_restbuf(
@@ -9406,13 +9346,13 @@ has_textyankpost(void)
     static int
 apply_autocmds_group(
     event_T    event,
-    char_u     *fname,     /* NULL or empty means use actual file name */
-    char_u     *fname_io,  /* fname to use for <afile> on cmdline, NULL means
+    char_u     *fname,      /* NULL or empty means use actual file name */
+    char_u     *fname_io,   /* fname to use for <afile> on cmdline, NULL means
                               use fname */
-    int                force,      /* when TRUE, ignore autocmd_busy */
-    int                group,      /* group ID, or AUGROUP_ALL */
-    buf_T      *buf,       /* buffer for <abuf> */
-    exarg_T    *eap)       /* command arguments */
+    int                force,       /* when TRUE, ignore autocmd_busy */
+    int                group,       /* group ID, or AUGROUP_ALL */
+    buf_T      *buf,        /* buffer for <abuf> */
+    exarg_T    *eap UNUSED) /* command arguments */
 {
     char_u     *sfname = NULL; /* short file name */
     char_u     *tail;
@@ -10210,43 +10150,7 @@ theend:
     return retval;
 }
 
-#else  /* FEAT_AUTOCMD */
-
-/*
- * Prepare for executing commands for (hidden) buffer "buf".
- * This is the non-autocommand version, it simply saves "curbuf" and sets
- * "curbuf" and "curwin" to match "buf".
- */
-    void
-aucmd_prepbuf(
-    aco_save_T *aco,           /* structure to save values in */
-    buf_T      *buf)           /* new curbuf */
-{
-    aco->save_curbuf = curbuf;
-    --curbuf->b_nwindows;
-    curbuf = buf;
-    curwin->w_buffer = buf;
-    ++curbuf->b_nwindows;
-}
-
-/*
- * Restore after executing commands for a (hidden) buffer.
- * This is the non-autocommand version.
- */
-    void
-aucmd_restbuf(
-    aco_save_T *aco)           /* structure holding saved values */
-{
-    --curbuf->b_nwindows;
-    curbuf = aco->save_curbuf;
-    curwin->w_buffer = curbuf;
-    ++curbuf->b_nwindows;
-}
-
-#endif /* FEAT_AUTOCMD */
 
-
-#if defined(FEAT_AUTOCMD) || defined(FEAT_WILDIGN) || defined(PROTO)
 /*
  * Try matching a filename with a "pattern" ("prog" is NULL), or use the
  * precompiled regprog "prog" ("pattern" is NULL).  That avoids calling
@@ -10292,7 +10196,6 @@ match_file_pat(
        vim_regfree(regmatch.regprog);
     return result;
 }
-#endif
 
 #if defined(FEAT_WILDIGN) || defined(PROTO)
 /*
index 7025f67337d6100c0d2fbc0f0b7f1cb3d84032f4..285d5d5d06b744b5b3950218366405f1deb6eeb2 100644 (file)
@@ -516,7 +516,6 @@ CancelRedo(void)
     }
 }
 
-#if defined(FEAT_AUTOCMD) || defined(FEAT_EVAL) || defined(PROTO)
 /*
  * Save redobuff and old_redobuff to save_redobuff and save_old_redobuff.
  * Used before executing autocommands and user functions.
@@ -552,7 +551,6 @@ restoreRedobuff(save_redo_T *save_redo)
     free_buff(&old_redobuff);
     old_redobuff = save_redo->sr_old_redobuff;
 }
-#endif
 
 /*
  * Append "s" to the redo buffer.
@@ -2891,7 +2889,7 @@ vgetorpeek(int advance)
                                                     + typebuf.tb_len] != NUL)
                        typebuf.tb_noremap[typebuf.tb_off
                                                 + typebuf.tb_len++] = RM_YES;
-#ifdef FEAT_MBYTE
+#ifdef HAVE_INPUT_METHOD
                    /* Get IM status right after getting keys, not after the
                     * timeout for a mapping (focus may be lost by then). */
                    vgetc_im_active = im_get_status();
@@ -3122,10 +3120,8 @@ fix_input_buffer(char_u *buf, int len)
        else
 #endif
        if (p[0] == NUL || (p[0] == K_SPECIAL
-#ifdef FEAT_AUTOCMD
                    /* timeout may generate K_CURSORHOLD */
                    && (i < 2 || p[1] != KS_EXTRA || p[2] != (int)KE_CURSORHOLD)
-#endif
 #if defined(WIN3264) && !defined(FEAT_GUI)
                    /* Win32 console passes modifiers */
                    && (i < 2 || p[1] != KS_MODIFIER)
index 225e78a6543eddbc5eceb15000e43fa42b44d453..c62e96a2c9a2715f5ea95945d85568c8f74ea6f8 100644 (file)
@@ -385,7 +385,6 @@ EXTERN guicolor_T cterm_normal_bg_gui_color INIT(= INVALCOLOR);
 EXTERN int     is_mac_terminal INIT(= FALSE);  /* recognized Terminal.app */
 #endif
 
-#ifdef FEAT_AUTOCMD
 EXTERN int     autocmd_busy INIT(= FALSE);     /* Is apply_autocmds() busy? */
 EXTERN int     autocmd_no_enter INIT(= FALSE); /* *Enter autocmds disabled */
 EXTERN int     autocmd_no_leave INIT(= FALSE); /* *Leave autocmds disabled */
@@ -405,7 +404,6 @@ EXTERN bufref_T     au_new_curbuf INIT(= {NULL COMMA 0 COMMA 0});
  * Free the buffer/window when autocmd_busy is being set to FALSE. */
 EXTERN buf_T   *au_pending_free_buf INIT(= NULL);
 EXTERN win_T   *au_pending_free_win INIT(= NULL);
-#endif
 
 #ifdef FEAT_MOUSE
 /*
@@ -572,10 +570,8 @@ EXTERN win_T       *prevwin INIT(= NULL);  /* previous window */
 
 EXTERN win_T   *curwin;        /* currently active window */
 
-#ifdef FEAT_AUTOCMD
 EXTERN win_T   *aucmd_win;     /* window used in aucmd_prepbuf() */
 EXTERN int     aucmd_win_used INIT(= FALSE);   /* aucmd_win is being used */
-#endif
 
 /*
  * The window layout is kept in a tree of frames.  topframe points to the top
@@ -639,6 +635,7 @@ EXTERN int  exiting INIT(= FALSE);
 EXTERN int     really_exiting INIT(= FALSE);
                                /* TRUE when we are sure to exit, e.g., after
                                 * a deadly signal */
+EXTERN int     v_dying INIT(= 0); /* internal value of v:dying */
 EXTERN int     stdout_isatty INIT(= TRUE);     /* is stdout a terminal? */
 
 #if defined(FEAT_AUTOCHDIR)
@@ -664,7 +661,6 @@ EXTERN int  textlock INIT(= 0);
                                /* non-zero when changing text and jumping to
                                 * another window or buffer is not allowed */
 
-#ifdef FEAT_AUTOCMD
 EXTERN int     curbuf_lock INIT(= 0);
                                /* non-zero when the current buffer can't be
                                 * changed.  Used for FileChangedRO. */
@@ -673,7 +669,6 @@ EXTERN int  allbuf_lock INIT(= 0);
                                 * changed, no buffer can be deleted and
                                 * current directory can't be changed.
                                 * Used for SwapExists et al. */
-#endif
 #ifdef FEAT_EVAL
 # define HAVE_SANDBOX
 EXTERN int     sandbox INIT(= 0);
@@ -986,15 +981,12 @@ EXTERN int        emsg_silent INIT(= 0);  /* don't print error messages */
 EXTERN int     emsg_noredir INIT(= 0); /* don't redirect error messages */
 EXTERN int     cmd_silent INIT(= FALSE); /* don't echo the command line */
 
-#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) \
-       || defined(FEAT_AUTOCMD)
 # define HAS_SWAP_EXISTS_ACTION
 EXTERN int     swap_exists_action INIT(= SEA_NONE);
                                        /* For dialog when swap file already
                                         * exists. */
 EXTERN int     swap_exists_did_quit INIT(= FALSE);
                                        /* Selected "quit" at the dialog. */
-#endif
 
 EXTERN char_u  *IObuff;                /* sprintf's are done in this buffer,
                                           size is IOSIZE */
@@ -1022,7 +1014,7 @@ EXTERN int        stop_insert_mode;       /* for ":stopinsert" and 'insertmode' */
 
 EXTERN int     KeyTyped;               /* TRUE if user typed current char */
 EXTERN int     KeyStuffed;             /* TRUE if current char from stuffbuf */
-#ifdef FEAT_MBYTE
+#ifdef HAVE_INPUT_METHOD
 EXTERN int     vgetc_im_active;        /* Input Method was active for last
                                           character obtained from vgetc() */
 #endif
@@ -1075,7 +1067,6 @@ EXTERN char_u     *repeat_cmdline INIT(= NULL); /* command line for "." */
 #ifdef FEAT_CMDHIST
 EXTERN char_u  *new_last_cmdline INIT(= NULL); /* new value for last_cmdline */
 #endif
-#ifdef FEAT_AUTOCMD
 EXTERN char_u  *autocmd_fname INIT(= NULL); /* fname for <afile> on cmdline */
 EXTERN int     autocmd_fname_full;          /* autocmd_fname is full path */
 EXTERN int     autocmd_bufnr INIT(= 0);     /* fnum for <abuf> on cmdline */
@@ -1086,7 +1077,6 @@ EXTERN pos_T      last_cursormoved              /* for CursorMoved event */
                        = INIT_POS_T(0, 0, 0)
 # endif
                        ;
-#endif
 
 EXTERN int     postponed_split INIT(= 0);  /* for CTRL-W CTRL-] command */
 EXTERN int     postponed_split_flags INIT(= 0);  /* args for win_split() */
@@ -1595,9 +1585,7 @@ EXTERN char_u e_notset[]  INIT(= N_("E764: Option '%s' is not set"));
 EXTERN char_u e_invalidreg[]    INIT(= N_("E850: Invalid register name"));
 #endif
 EXTERN char_u e_dirnotf[]      INIT(= N_("E919: Directory not found in '%s': \"%s\""));
-#ifdef FEAT_AUTOCMD
 EXTERN char_u e_au_recursive[] INIT(= N_("E952: Autocommand caused recursive behavior"));
-#endif
 
 #ifdef FEAT_GUI_MAC
 EXTERN short disallow_gui      INIT(= FALSE);
index 691153a7a8639684271b45289d33c467d16474c8..607a8fd2a5fd433a3e99ad9a14d8938ee3d1e979 100644 (file)
--- a/src/gui.c
+++ b/src/gui.c
@@ -132,13 +132,11 @@ gui_start(void)
 
     vim_free(old_term);
 
-#ifdef FEAT_AUTOCMD
     /* If the GUI started successfully, trigger the GUIEnter event, otherwise
      * the GUIFailed event. */
     gui_mch_update();
     apply_autocmds(gui.in_use ? EVENT_GUIENTER : EVENT_GUIFAILED,
                                                   NULL, NULL, FALSE, curbuf);
-#endif
     --recursive;
 }
 
@@ -2954,7 +2952,7 @@ gui_wait_for_chars_or_timer(long wtime)
 gui_wait_for_chars(long wtime, int tb_change_cnt)
 {
     int            retval;
-#if defined(ELAPSED_FUNC) && defined(FEAT_AUTOCMD)
+#if defined(ELAPSED_FUNC)
     ELAPSED_TYPE start_tv;
 #endif
 
@@ -2986,7 +2984,7 @@ gui_wait_for_chars(long wtime, int tb_change_cnt)
        return retval;
     }
 
-#if defined(ELAPSED_FUNC) && defined(FEAT_AUTOCMD)
+#if defined(ELAPSED_FUNC)
     ELAPSED_INIT(start_tv);
 #endif
 
@@ -3003,11 +3001,10 @@ gui_wait_for_chars(long wtime, int tb_change_cnt)
      */
     if (gui_wait_for_chars_or_timer(p_ut) == OK)
        retval = OK;
-#ifdef FEAT_AUTOCMD
     else if (trigger_cursorhold()
-# ifdef ELAPSED_FUNC
+#ifdef ELAPSED_FUNC
            && ELAPSED_FUNC(start_tv) >= p_ut
-# endif
+#endif
            && typebuf.tb_change_cnt == tb_change_cnt)
     {
        char_u  buf[3];
@@ -3020,7 +3017,6 @@ gui_wait_for_chars(long wtime, int tb_change_cnt)
 
        retval = OK;
     }
-#endif
 
     if (retval == FAIL && typebuf.tb_change_cnt == tb_change_cnt)
     {
@@ -5131,34 +5127,24 @@ no_console_input(void)
     void
 gui_update_screen(void)
 {
-#ifdef FEAT_CONCEAL
+# ifdef FEAT_CONCEAL
     linenr_T   conceal_old_cursor_line = 0;
     linenr_T   conceal_new_cursor_line = 0;
     int                conceal_update_lines = FALSE;
-#endif
+# endif
 
     update_topline();
     validate_cursor();
 
-#if defined(FEAT_AUTOCMD) || defined(FEAT_CONCEAL)
     /* Trigger CursorMoved if the cursor moved. */
-    if (!finish_op && (
-# ifdef FEAT_AUTOCMD
-               has_cursormoved()
-# endif
-# if defined(FEAT_AUTOCMD) && defined(FEAT_CONCEAL)
-               ||
-# endif
+    if (!finish_op && (has_cursormoved()
 # ifdef FEAT_CONCEAL
-               curwin->w_p_cole > 0
+               || curwin->w_p_cole > 0
 # endif
-               )
-                    && !EQUAL_POS(last_cursormoved, curwin->w_cursor))
+               ) && !EQUAL_POS(last_cursormoved, curwin->w_cursor))
     {
-# ifdef FEAT_AUTOCMD
        if (has_cursormoved())
            apply_autocmds(EVENT_CURSORMOVED, NULL, NULL, FALSE, curbuf);
-# endif
 # ifdef FEAT_CONCEAL
        if (curwin->w_p_cole > 0)
        {
@@ -5169,11 +5155,10 @@ gui_update_screen(void)
 # endif
        last_cursormoved = curwin->w_cursor;
     }
-#endif
 
     update_screen(0);  /* may need to update the screen */
     setcursor();
-# if defined(FEAT_CONCEAL)
+# ifdef FEAT_CONCEAL
     if (conceal_update_lines
            && (conceal_old_cursor_line != conceal_new_cursor_line
                || conceal_cursor_line(curwin)
index 6386b639a6bdd398d1676293fb7977ad84c09ef7..1677d6eab0cf2eb4a79699ba24a027d49731cedc 100644 (file)
@@ -6232,7 +6232,7 @@ char_u *FullPathFromFSSpec_save(FSSpec file)
 #endif
 }
 
-#if (defined(FEAT_MBYTE) || defined(PROTO)) && defined(USE_CARBONKEYHANDLER)
+#if (defined(FEAT_MBYTE) && defined(USE_CARBONKEYHANDLER)) || defined(PROTO)
 /*
  * Input Method Control functions.
  */
index e4bcb51e0071855b7a7b7033a502df972153a2f6..986663d9516c9233a42ebb5cd9d78cfcc9f04a1a 100644 (file)
@@ -1147,17 +1147,15 @@ cs_find_common(
            return FALSE;
        }
 
-# ifdef FEAT_AUTOCMD
        if (*qfpos != '0'
                && apply_autocmds(EVENT_QUICKFIXCMDPRE, (char_u *)"cscope",
                                               curbuf->b_fname, TRUE, curbuf))
        {
-#  ifdef FEAT_EVAL
+# ifdef FEAT_EVAL
            if (aborting())
                return FALSE;
-#  endif
-       }
 # endif
+       }
     }
 #endif
 
@@ -1251,10 +1249,8 @@ cs_find_common(
                    postponed_split = 0;
                }
 
-# ifdef FEAT_AUTOCMD
                apply_autocmds(EVENT_QUICKFIXCMDPOST, (char_u *)"cscope",
                                               curbuf->b_fname, TRUE, curbuf);
-# endif
                if (use_ll)
                    /*
                     * In the location list window, use the displayed location
index af2e672cbc985c830552257280601eeb8dee8132..e911fe50839fe210038f12f4df9d43b6fc5cd145 100644 (file)
@@ -1480,14 +1480,12 @@ server_parse_message(
                ga_concat(&(r->strings), str);
                ga_append(&(r->strings), NUL);
            }
-#ifdef FEAT_AUTOCMD
            {
                char_u  winstr[30];
 
                sprintf((char *)winstr, "0x%x", (unsigned int)win);
                apply_autocmds(EVENT_REMOTEREPLY, winstr, str, TRUE, curbuf);
            }
-#endif
            vim_free(tofree);
        }
        else
index 793d54942c908d3023999b650b385541c2c49479..406635a166fec6f68e06f54857f3a6a0328d615b 100644 (file)
@@ -748,10 +748,8 @@ vim_main2(void)
     if (exmode_active)
        curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count;
 
-#ifdef FEAT_AUTOCMD
     apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
     TIME_MSG("BufEnter autocommands");
-#endif
     setpcmark();
 
 #ifdef FEAT_QUICKFIX
@@ -843,10 +841,8 @@ vim_main2(void)
 #ifdef FEAT_EVAL
     set_vim_var_nr(VV_VIM_DID_ENTER, 1L);
 #endif
-#ifdef FEAT_AUTOCMD
     apply_autocmds(EVENT_VIMENTER, NULL, NULL, FALSE, curbuf);
     TIME_MSG("VimEnter autocommands");
-#endif
 
 #if defined(FEAT_EVAL) && defined(FEAT_CLIPBOARD)
     /* Adjust default register name for "unnamed" in 'clipboard'. Can only be
@@ -1162,50 +1158,33 @@ main_loop(
            skip_redraw = FALSE;
        else if (do_redraw || stuff_empty())
        {
-# ifdef FEAT_GUI
+#ifdef FEAT_GUI
            /* If ui_breakcheck() was used a resize may have been postponed. */
            gui_may_resize_shell();
-# endif
-#if defined(FEAT_AUTOCMD) || defined(FEAT_CONCEAL)
+#endif
            /* Trigger CursorMoved if the cursor moved. */
            if (!finish_op && (
-# ifdef FEAT_AUTOCMD
                        has_cursormoved()
-# endif
-# if defined(FEAT_AUTOCMD) && defined(FEAT_CONCEAL)
-                       ||
-# endif
-# ifdef FEAT_CONCEAL
-                       curwin->w_p_cole > 0
-# endif
+#ifdef FEAT_CONCEAL
+                       || curwin->w_p_cole > 0
+#endif
                        )
-# ifdef FEAT_AUTOCMD
-                && !EQUAL_POS(last_cursormoved, curwin->w_cursor)
-# endif
-                )
+                && !EQUAL_POS(last_cursormoved, curwin->w_cursor))
            {
-# ifdef FEAT_AUTOCMD
                if (has_cursormoved())
                    apply_autocmds(EVENT_CURSORMOVED, NULL, NULL,
                                                               FALSE, curbuf);
-# endif
 # ifdef FEAT_CONCEAL
                if (curwin->w_p_cole > 0)
                {
-#  ifdef FEAT_AUTOCMD
                    conceal_old_cursor_line = last_cursormoved.lnum;
-#  endif
                    conceal_new_cursor_line = curwin->w_cursor.lnum;
                    conceal_update_lines = TRUE;
                }
 # endif
-# ifdef FEAT_AUTOCMD
                last_cursormoved = curwin->w_cursor;
-# endif
            }
-#endif
 
-#ifdef FEAT_AUTOCMD
            /* Trigger TextChanged if b:changedtick differs. */
            if (!finish_op && has_textchanged()
                    && curbuf->b_last_changedtick != CHANGEDTICK(curbuf))
@@ -1213,7 +1192,6 @@ main_loop(
                apply_autocmds(EVENT_TEXTCHANGED, NULL, NULL, FALSE, curbuf);
                curbuf->b_last_changedtick = CHANGEDTICK(curbuf);
            }
-#endif
 
 #if defined(FEAT_DIFF) && defined(FEAT_SCROLLBIND)
            /* Scroll-binding for diff mode may have been postponed until
@@ -1292,7 +1270,7 @@ main_loop(
            may_clear_sb_text();        /* clear scroll-back text on next msg */
            showruler(FALSE);
 
-# if defined(FEAT_CONCEAL)
+#if defined(FEAT_CONCEAL)
            if (conceal_update_lines
                    && (conceal_old_cursor_line != conceal_new_cursor_line
                        || conceal_cursor_line(curwin)
@@ -1307,7 +1285,7 @@ main_loop(
                mch_enable_flush();
                curwin->w_valid &= ~VALID_CROW;
            }
-# endif
+#endif
            setcursor();
            cursor_on();
 
@@ -1405,11 +1383,10 @@ getout_preserve_modified(int exitval)
     void
 getout(int exitval)
 {
-#ifdef FEAT_AUTOCMD
+    tabpage_T  *tp;
+    tabpage_T  *next_tp;
     buf_T      *buf;
     win_T      *wp;
-    tabpage_T  *tp, *next_tp;
-#endif
 
     exiting = TRUE;
 
@@ -1434,8 +1411,7 @@ getout(int exitval)
     msg_didany = FALSE;
 #endif
 
-#ifdef FEAT_AUTOCMD
-    if (get_vim_var_nr(VV_DYING) <= 1)
+    if (v_dying <= 1)
     {
        /* Trigger BufWinLeave for all windows, but only once per buffer. */
        for (tp = first_tabpage; tp != NULL; tp = next_tp)
@@ -1479,7 +1455,6 @@ getout(int exitval)
            }
        apply_autocmds(EVENT_VIMLEAVEPRE, NULL, NULL, FALSE, curbuf);
     }
-#endif
 
 #ifdef FEAT_VIMINFO
     if (*p_viminfo != NUL)
@@ -1487,10 +1462,8 @@ getout(int exitval)
        write_viminfo(NULL, FALSE);
 #endif
 
-#ifdef FEAT_AUTOCMD
-    if (get_vim_var_nr(VV_DYING) <= 1)
+    if (v_dying <= 1)
        apply_autocmds(EVENT_VIMLEAVE, NULL, NULL, FALSE, curbuf);
-#endif
 
 #ifdef FEAT_PROFILE
     profile_dump();
@@ -1507,13 +1480,11 @@ getout(int exitval)
        wait_return(FALSE);
     }
 
-#ifdef FEAT_AUTOCMD
     /* Position the cursor again, the autocommands may have moved it */
-# ifdef FEAT_GUI
+#ifdef FEAT_GUI
     if (!gui.in_use)
-# endif
-       windgoto((int)Rows - 1, 0);
 #endif
+       windgoto((int)Rows - 1, 0);
 
 #ifdef FEAT_JOB_CHANNEL
     job_stop_on_exit();
@@ -2701,13 +2672,11 @@ create_windows(mparm_T *parmp UNUSED)
         * Commands in the .vimrc might have loaded a file or split the window.
         * Watch out for autocommands that delete a window.
         */
-#ifdef FEAT_AUTOCMD
        /*
         * Don't execute Win/Buf Enter/Leave autocommands here
         */
        ++autocmd_no_enter;
        ++autocmd_no_leave;
-#endif
        dorewind = TRUE;
        while (done++ < 1000)
        {
@@ -2767,9 +2736,7 @@ create_windows(mparm_T *parmp UNUSED)
                else
                    handle_swap_exists(NULL);
 #endif
-#ifdef FEAT_AUTOCMD
                dorewind = TRUE;                /* start again */
-#endif
            }
            ui_breakcheck();
            if (got_int)
@@ -2783,10 +2750,8 @@ create_windows(mparm_T *parmp UNUSED)
        else
            curwin = firstwin;
        curbuf = curwin->w_buffer;
-#ifdef FEAT_AUTOCMD
        --autocmd_no_enter;
        --autocmd_no_leave;
-#endif
     }
 }
 
@@ -2804,13 +2769,11 @@ edit_buffers(
     int                advance = TRUE;
     win_T      *win;
 
-# ifdef FEAT_AUTOCMD
     /*
      * Don't execute Win/Buf Enter/Leave autocommands here
      */
     ++autocmd_no_enter;
     ++autocmd_no_leave;
-# endif
 
     /* When w_arg_idx is -1 remove the window (see create_windows()). */
     if (curwin->w_arg_idx == -1)
@@ -2891,9 +2854,7 @@ edit_buffers(
 
     if (parmp->window_layout == WIN_TABS)
        goto_tabpage(1);
-# ifdef FEAT_AUTOCMD
     --autocmd_no_enter;
-# endif
 
     /* make the first window the current window */
     win = firstwin;
@@ -2911,9 +2872,7 @@ edit_buffers(
 #endif
     win_enter(win, FALSE);
 
-#ifdef FEAT_AUTOCMD
     --autocmd_no_leave;
-#endif
     TIME_MSG("editing files in windows");
     if (parmp->window_count > 1 && parmp->window_layout != WIN_TABS)
        win_equal(curwin, FALSE, 'b');  /* adjust heights */
index 9b788b0d5e59ec40df4de6831b9bf702d350c398..cb2d2d93ed3bbf2c200d8505f9b999e93c6b4811 100644 (file)
@@ -799,11 +799,9 @@ codepage_invalid:
        fix_arg_enc();
 #endif
 
-#ifdef FEAT_AUTOCMD
     /* Fire an autocommand to let people do custom font setup. This must be
      * after Vim has been setup for the new encoding. */
     apply_autocmds(EVENT_ENCODINGCHANGED, NULL, (char_u *)"", FALSE, curbuf);
-#endif
 
 #ifdef FEAT_SPELL
     /* Need to reload spell dictionaries */
@@ -4792,7 +4790,8 @@ iconv_end(void)
 # define USE_IMSTATUSFUNC (*p_imsf != NUL)
 #endif
 
-#if defined(FEAT_EVAL) && defined(FEAT_MBYTE)
+#if defined(FEAT_EVAL) && defined(FEAT_MBYTE) \
+       && (defined(FEAT_XIM) || defined(IME_WITHOUT_XIM))
     static void
 call_imactivatefunc(int active)
 {
@@ -4811,11 +4810,7 @@ call_imstatusfunc(void)
     int is_active;
 
     /* FIXME: Don't execute user function in unsafe situation. */
-    if (exiting
-#   ifdef FEAT_AUTOCMD
-           || is_autocmd_blocked()
-#   endif
-           )
+    if (exiting || is_autocmd_blocked())
        return FALSE;
     /* FIXME: :py print 'xxx' is shown duplicate result.
      * Use silent to avoid it. */
@@ -5698,11 +5693,11 @@ im_synthesize_keypress(unsigned int keyval, unsigned int state)
     void
 xim_reset(void)
 {
-#ifdef FEAT_EVAL
+# ifdef FEAT_EVAL
     if (USE_IMACTIVATEFUNC)
        call_imactivatefunc(im_is_active);
     else
-#endif
+# endif
     if (xic != NULL)
     {
        gtk_im_context_reset(xic);
@@ -6482,11 +6477,11 @@ xim_get_status_area_height(void)
 
 #else /* !defined(FEAT_XIM) */
 
-# if !defined(FEAT_GUI_W32) || !(defined(FEAT_MBYTE_IME) || defined(GLOBAL_IME))
+# ifdef IME_WITHOUT_XIM
 static int im_was_set_active = FALSE;
 
     int
-im_get_status()
+im_get_status(void)
 {
 #  if defined(FEAT_MBYTE) && defined(FEAT_EVAL)
     if (USE_IMSTATUSFUNC)
index 7ea94ab8bd76d509d3499004c836517d3d15777c..5ecb32c107c6c187ba0337b0cdc181e66d2ae648 100644 (file)
@@ -1732,13 +1732,11 @@ theend:
     }
     if (serious_error && called_from_main)
        ml_close(curbuf, TRUE);
-#ifdef FEAT_AUTOCMD
     else
     {
        apply_autocmds(EVENT_BUFREADPOST, NULL, curbuf->b_fname, FALSE, curbuf);
        apply_autocmds(EVENT_BUFWINENTER, NULL, curbuf->b_fname, FALSE, curbuf);
     }
-#endif
     return;
 }
 
@@ -4071,7 +4069,7 @@ attention_message(
     --no_wait_return;
 }
 
-#ifdef FEAT_AUTOCMD
+#if defined(FEAT_EVAL)
 static int do_swapexists(buf_T *buf, char_u *fname);
 
 /*
@@ -4450,7 +4448,7 @@ findswapname(
 #if (defined(UNIX) || defined(VMS)) && (defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG))
                    process_still_running = FALSE;
 #endif
-#ifdef FEAT_AUTOCMD
+#if defined(FEAT_EVAL)
                    /*
                     * If there is an SwapExists autocommand and we can handle
                     * the response, trigger it.  It may return 0 to ask the
index e453135ae89c916de99ff4b06d1a9558d1ea97a9..107cabce6c472e5a62389671aa3fdee43647f535 100644 (file)
@@ -1907,7 +1907,6 @@ show_popupmenu(void)
        return;
     mode = menu_mode_chars[mode];
 
-# ifdef FEAT_AUTOCMD
     {
        char_u      ename[2];
 
@@ -1915,7 +1914,6 @@ show_popupmenu(void)
        ename[1] = NUL;
        apply_autocmds(EVENT_MENUPOPUP, ename, NULL, FALSE, curbuf);
     }
-# endif
 
     for (menu = root_menu; menu != NULL; menu = menu->next)
        if (STRNCMP("PopUp", menu->name, 5) == 0 && menu->name[5] == mode)
index 32e3c17ae64c17a95008b9328ee258c2294043d8..135293dd2d64458d0d1cdfb862aa741f40f34e0d 100644 (file)
@@ -3183,12 +3183,10 @@ changed_common(
     if (must_redraw < VALID)
        must_redraw = VALID;
 
-#ifdef FEAT_AUTOCMD
     /* when the cursor line is changed always trigger CursorMoved */
     if (lnum <= curwin->w_cursor.lnum
                 && lnume + (xtra < 0 ? -xtra : xtra) > curwin->w_cursor.lnum)
        last_cursormoved.lnum = 0;
-#endif
 }
 
 /*
@@ -3252,18 +3250,14 @@ change_warning(
 
     if (curbuf->b_did_warn == FALSE
            && curbufIsChanged() == 0
-#ifdef FEAT_AUTOCMD
            && !autocmd_busy
-#endif
            && curbuf->b_p_ro)
     {
-#ifdef FEAT_AUTOCMD
        ++curbuf_lock;
        apply_autocmds(EVENT_FILECHANGEDRO, NULL, NULL, FALSE, curbuf);
        --curbuf_lock;
        if (!curbuf->b_p_ro)
            return;
-#endif
        /*
         * Do what msg() does, but with a column offset if the warning should
         * be after the mode message.
index 1c705932dcc4d72ef1b29c1ff9a5c49a7b393d44..d1484f01fae64e772cc5cd9919b8f983e8b0f136 100644 (file)
@@ -1099,10 +1099,8 @@ free_all_mem(void)
        return;
     entered_free_all_mem = TRUE;
 
-# ifdef FEAT_AUTOCMD
     /* Don't want to trigger autocommands from here on. */
     block_autocmds();
-# endif
 
     /* Close all tabs and windows.  Reset 'equalalways' to avoid redraws. */
     p_ea = FALSE;
@@ -1157,9 +1155,7 @@ free_all_mem(void)
 # endif
 
     /* Obviously named calls. */
-# if defined(FEAT_AUTOCMD)
     free_all_autocmds();
-# endif
     clear_termcodes();
     free_all_marks();
     alist_clear(&global_alist);
@@ -3403,11 +3399,9 @@ vim_chdirfile(char_u *fname, char *trigger_autocmd UNUSED)
     vim_strncpy(dir, fname, MAXPATHL - 1);
     *gettail_sep(dir) = NUL;
     res = mch_chdir((char *)dir) == 0 ? OK : FAIL;
-#ifdef FEAT_AUTOCMD
     if (res == OK && trigger_autocmd != NULL)
        apply_autocmds(EVENT_DIRCHANGED, (char_u *)trigger_autocmd,
                                                           dir, FALSE, curbuf);
-#endif
     return res;
 }
 #endif
index 4e5618d7b797973f6ae06abe9122462f32520192..45f7be4edf3b040df44fc4284b4d9d022e52cfe7 100644 (file)
@@ -538,9 +538,7 @@ set_topline(win_T *wp, linenr_T lnum)
     /* Approximate the value of w_botline */
     wp->w_botline += lnum - wp->w_topline;
     wp->w_topline = lnum;
-#ifdef FEAT_AUTOCMD
     wp->w_topline_was_set = TRUE;
-#endif
 #ifdef FEAT_DIFF
     wp->w_topfill = 0;
 #endif
index bc3b8e680b7d335102fbdfea781284d435c14533..a753a4f9740a63df4193d072d5ac3a8e84b5d49b 100644 (file)
@@ -1581,9 +1581,7 @@ nb_do_cmd(
            do_update = 1;
            buf->initDone = TRUE;
            nb_set_curbuf(buf->bufp);
-#if defined(FEAT_AUTOCMD)
            apply_autocmds(EVENT_BUFREADPOST, 0, 0, FALSE, buf->bufp);
-#endif
 
            /* handle any postponed key commands */
            handle_key_queue();
@@ -2160,17 +2158,13 @@ nb_do_cmd(
 #endif
                        )
                {
-#ifdef FEAT_AUTOCMD
                    bufref_T bufref;
 
                    set_bufref(&bufref, buf->bufp);
-#endif
                    buf_write_all(buf->bufp, FALSE);
-#ifdef FEAT_AUTOCMD
                    /* an autocommand may have deleted the buffer */
                    if (!bufref_valid(&bufref))
                        buf->bufp = NULL;
-#endif
                }
            }
            else
index cea8c9f167562e780ff7630bf223a9d08d67e435..5aa7fe0494cd86b06110e26e9a7b6140b3744e3f 100644 (file)
@@ -169,9 +169,7 @@ static void nv_nbcmd(cmdarg_T *cap);
 #ifdef FEAT_DND
 static void    nv_drop(cmdarg_T *cap);
 #endif
-#ifdef FEAT_AUTOCMD
 static void    nv_cursorhold(cmdarg_T *cap);
-#endif
 static void    get_op_vcol(oparg_T *oap, colnr_T col, int initial);
 
 static char *e_noident = N_("E349: No identifier under cursor");
@@ -424,9 +422,7 @@ static const struct nv_cmd
 #ifdef FEAT_DND
     {K_DROP,   nv_drop,        NV_STS,                 0},
 #endif
-#ifdef FEAT_AUTOCMD
     {K_CURSORHOLD, nv_cursorhold, NV_KEEPREG,          0},
-#endif
     {K_PS,     nv_edit,        0,                      0},
 };
 
@@ -595,7 +591,6 @@ normal_cmd(
 #endif
     }
 
-#ifdef FEAT_AUTOCMD
     /* Restore counts from before receiving K_CURSORHOLD.  This means after
      * typing "3", handling K_CURSORHOLD and then typing "2" we get "32", not
      * "3 * 2". */
@@ -606,7 +601,6 @@ normal_cmd(
        oap->prev_opcount = 0;
        oap->prev_count0 = 0;
     }
-#endif
 
     mapped_len = typebuf_maplen();
 
@@ -737,7 +731,6 @@ getcount:
        }
     }
 
-#ifdef FEAT_AUTOCMD
     if (c == K_CURSORHOLD)
     {
        /* Save the count values so that ca.opcount and ca.count0 are exactly
@@ -745,9 +738,7 @@ getcount:
        oap->prev_opcount = ca.opcount;
        oap->prev_count0 = ca.count0;
     }
-    else
-#endif
-       if (ca.opcount != 0)
+    else if (ca.opcount != 0)
     {
        /*
         * If we're in the middle of an operator (including after entering a
@@ -808,10 +799,8 @@ getcount:
        text_locked_msg();
        goto normal_end;
     }
-#ifdef FEAT_AUTOCMD
     if ((nv_cmds[idx].cmd_flags & NV_NCW) && curbuf_locked())
        goto normal_end;
-#endif
 
     /*
      * In Visual/Select mode, a few keys are handled in a special way.
@@ -892,17 +881,15 @@ getcount:
        int     lit = FALSE;    /* get extra character literally */
        int     langmap_active = FALSE;    /* using :lmap mappings */
        int     lang;           /* getting a text character */
-#ifdef FEAT_MBYTE
+#ifdef HAVE_INPUT_METHOD
        int     save_smd;       /* saved value of p_smd */
 #endif
 
        ++no_mapping;
        ++allow_keys;           /* no mapping for nchar, but allow key codes */
-#ifdef FEAT_AUTOCMD
        /* Don't generate a CursorHold event here, most commands can't handle
         * it, e.g., nv_replace(), nv_csearch(). */
        did_cursorhold = TRUE;
-#endif
        if (ca.cmdchar == 'g')
        {
            /*
@@ -957,7 +944,7 @@ getcount:
                    State = LANGMAP;
                langmap_active = TRUE;
            }
-#ifdef FEAT_MBYTE
+#ifdef HAVE_INPUT_METHOD
            save_smd = p_smd;
            p_smd = FALSE;      /* Don't let the IM code show the mode here */
            if (lang && curbuf->b_p_iminsert == B_IMODE_IM)
@@ -973,7 +960,7 @@ getcount:
                ++allow_keys;
                State = NORMAL_BUSY;
            }
-#ifdef FEAT_MBYTE
+#ifdef HAVE_INPUT_METHOD
            if (lang)
            {
                if (curbuf->b_p_iminsert != B_IMODE_LMAP)
@@ -1102,10 +1089,8 @@ getcount:
     if (need_flushbuf)
        out_flush();
 #endif
-#ifdef FEAT_AUTOCMD
     if (ca.cmdchar != K_IGNORE)
        did_cursorhold = FALSE;
-#endif
 
     State = NORMAL;
 
@@ -1278,10 +1263,7 @@ normal_end:
 
 #ifdef FEAT_CMDL_INFO
     if (oap->op_type == OP_NOP && oap->regname == 0
-# ifdef FEAT_AUTOCMD
-           && ca.cmdchar != K_CURSORHOLD
-# endif
-           )
+           && ca.cmdchar != K_CURSORHOLD)
        clear_showcmd();
 #endif
 
@@ -6264,13 +6246,11 @@ nv_gotofile(cmdarg_T *cap)
        text_locked_msg();
        return;
     }
-#ifdef FEAT_AUTOCMD
     if (curbuf_locked())
     {
        clearop(cap->oap);
        return;
     }
-#endif
 
     ptr = grab_file_name(cap->count1, &lnum);
 
@@ -9597,7 +9577,6 @@ nv_drop(cmdarg_T *cap UNUSED)
 }
 #endif
 
-#ifdef FEAT_AUTOCMD
 /*
  * Trigger CursorHold event.
  * When waiting for a character for 'updatetime' K_CURSORHOLD is put in the
@@ -9610,7 +9589,6 @@ nv_cursorhold(cmdarg_T *cap)
     did_cursorhold = TRUE;
     cap->retval |= CA_COMMAND_BUSY;    /* don't call edit() now */
 }
-#endif
 
 /*
  * Calculate start/end virtual columns for operating in block mode.
index 232dc30a4b1e21103ce66b5e987096693cf7d8e8..2c80c592d942b29e00ad03f227c68c9da3e71c1b 100644 (file)
--- a/src/ops.c
+++ b/src/ops.c
@@ -1651,7 +1651,7 @@ shift_delete_registers()
     y_regs[1].y_array = NULL;          /* set register one to empty */
 }
 
-#ifdef FEAT_AUTOCMD
+#if defined(FEAT_EVAL)
     static void
 yank_do_autocmd(oparg_T *oap, yankreg_T *reg)
 {
@@ -1866,7 +1866,7 @@ op_delete(oparg_T *oap)
            }
        }
 
-#ifdef FEAT_AUTOCMD
+#if defined(FEAT_EVAL)
        if (did_yank && has_textyankpost())
            yank_do_autocmd(oap, y_current);
 #endif
@@ -3350,7 +3350,7 @@ op_yank(oparg_T *oap, int deleting, int mess)
 # endif
 #endif
 
-#ifdef FEAT_AUTOCMD
+#if defined(FEAT_EVAL)
     if (!deleting && has_textyankpost())
        yank_do_autocmd(oap, y_current);
 #endif
@@ -3493,11 +3493,9 @@ do_put(
            return;
     }
 
-#ifdef FEAT_AUTOCMD
     /* Autocommands may be executed when saving lines for undo, which may make
      * y_array invalid.  Start undo now to avoid that. */
     u_save(curwin->w_cursor.lnum, curwin->w_cursor.lnum + 1);
-#endif
 
     if (insert_string != NULL)
     {
index 1b5144709123b794cc197e30155b0d7305215a30..6fb24c536f461c36da5d60f92734a264a2b47da9 100644 (file)
 #define PV_FF          OPT_BUF(BV_FF)
 #define PV_FLP         OPT_BUF(BV_FLP)
 #define PV_FO          OPT_BUF(BV_FO)
-#ifdef FEAT_AUTOCMD
-# define PV_FT         OPT_BUF(BV_FT)
-#endif
+#define PV_FT          OPT_BUF(BV_FT)
 #define PV_IMI         OPT_BUF(BV_IMI)
 #define PV_IMS         OPT_BUF(BV_IMS)
 #if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
@@ -319,9 +317,7 @@ static char_u       *p_fenc;
 static char_u  *p_ff;
 static char_u  *p_fo;
 static char_u  *p_flp;
-#ifdef FEAT_AUTOCMD
 static char_u  *p_ft;
-#endif
 static long    p_iminsert;
 static long    p_imsearch;
 #if defined(FEAT_FIND_ID) && defined(FEAT_EVAL)
@@ -1125,11 +1121,7 @@ static struct vimoption options[] =
                            (char_u *)&p_ek, PV_NONE,
                            {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT},
     {"eventignore", "ei",   P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
-#ifdef FEAT_AUTOCMD
                            (char_u *)&p_ei, PV_NONE,
-#else
-                           (char_u *)NULL, PV_NONE,
-#endif
                            {(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
     {"expandtab",   "et",   P_BOOL|P_VI_DEF|P_VIM,
                            (char_u *)&p_et, PV_ET,
@@ -1174,13 +1166,8 @@ static struct vimoption options[] =
 #endif
                                        (char_u *)0L} SCRIPTID_INIT},
     {"filetype",    "ft",   P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB|P_NFNAME,
-#ifdef FEAT_AUTOCMD
                            (char_u *)&p_ft, PV_FT,
                            {(char_u *)"", (char_u *)0L}
-#else
-                           (char_u *)NULL, PV_NONE,
-                           {(char_u *)0L, (char_u *)0L}
-#endif
                            SCRIPTID_INIT},
     {"fillchars",   "fcs",  P_STRING|P_VI_DEF|P_RALL|P_ONECOMMA|P_NODUP,
                            (char_u *)&p_fcs, PV_NONE,
@@ -3248,11 +3235,7 @@ static char *(p_scbopt_values[]) = {"ver", "hor", "jump", NULL};
 #endif
 static char *(p_debug_values[]) = {"msg", "throw", "beep", NULL};
 static char *(p_ead_values[]) = {"both", "ver", "hor", NULL};
-#ifdef FEAT_AUTOCMD
 static char *(p_buftype_values[]) = {"nofile", "nowrite", "quickfix", "help", "terminal", "acwrite", NULL};
-#else
-static char *(p_buftype_values[]) = {"nofile", "nowrite", "quickfix", "help", "terminal", NULL};
-#endif
 static char *(p_bufhidden_values[]) = {"hide", "unload", "delete", "wipe", NULL};
 static char *(p_bs_values[]) = {"indent", "eol", "start", NULL};
 #ifdef FEAT_FOLDING
@@ -4339,7 +4322,7 @@ set_title_defaults(void)
 }
 #endif
 
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
     static void
 trigger_optionsset_string(
        int     opt_idx,
@@ -4830,7 +4813,7 @@ do_set(
                        char_u    *oldval = NULL; /* previous value if *varp */
                        char_u    *newval;
                        char_u    *origval = NULL;
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
                        char_u    *saved_origval = NULL;
                        char_u    *saved_newval = NULL;
 #endif
@@ -5184,7 +5167,7 @@ do_set(
                         */
                        *(char_u **)(varp) = newval;
 
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
                        if (!starting
 # ifdef FEAT_CRYPT
                                && options[opt_idx].indir != PV_KEY
@@ -5207,7 +5190,7 @@ do_set(
                        errmsg = did_set_string_option(opt_idx, (char_u **)varp,
                                new_value_alloced, oldval, errbuf, opt_flags);
 
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
                        if (errmsg == NULL)
                            trigger_optionsset_string(opt_idx, opt_flags,
                                                  saved_origval, saved_newval);
@@ -5726,9 +5709,7 @@ check_buf_options(buf_T *buf)
     check_string_option(&buf->b_p_cino);
     parse_cino(buf);
 #endif
-#ifdef FEAT_AUTOCMD
     check_string_option(&buf->b_p_ft);
-#endif
 #if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
     check_string_option(&buf->b_p_cinw);
 #endif
@@ -5982,7 +5963,7 @@ set_string_option(
     char_u     *s;
     char_u     **varp;
     char_u     *oldval;
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
     char_u     *saved_oldval = NULL;
     char_u     *saved_newval = NULL;
 #endif
@@ -6002,7 +5983,7 @@ set_string_option(
        oldval = *varp;
        *varp = s;
 
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
        if (!starting
 # ifdef FEAT_CRYPT
                && options[opt_idx].indir != PV_KEY
@@ -6017,7 +5998,7 @@ set_string_option(
                                                           opt_flags)) == NULL)
            did_set_option(opt_idx, opt_flags, TRUE);
 
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
        /* call autocommand after handling side effects */
        if (r == NULL)
            trigger_optionsset_string(opt_idx, opt_flags,
@@ -6029,7 +6010,6 @@ set_string_option(
     return r;
 }
 
-#if defined(FEAT_KEYMAP) || defined(FEAT_AUTOCMD) || defined(FEAT_SYN_HL)
 /*
  * Return TRUE if "val" is a valid 'filetype' name.
  * Also used for 'syntax' and 'keymap'.
@@ -6044,7 +6024,6 @@ valid_filetype(char_u *val)
            return FALSE;
     return TRUE;
 }
-#endif
 
 /*
  * Handle string options that need some action to perform when changed.
@@ -6068,9 +6047,7 @@ did_set_string_option(
     /* set when changing an option that only requires a redraw in the GUI */
     int                redraw_gui_only = FALSE;
 #endif
-#ifdef FEAT_AUTOCMD
     int                ft_changed = FALSE;
-#endif
 
     /* Get the global option to compare with, otherwise we would have to check
      * two values for all local options. */
@@ -6351,14 +6328,12 @@ did_set_string_option(
     }
 #endif
 
-#ifdef FEAT_AUTOCMD
     /* 'eventignore' */
     else if (varp == &p_ei)
     {
        if (check_ei() == FAIL)
            errmsg = e_invarg;
     }
-#endif
 
 #ifdef FEAT_MBYTE
     /* 'encoding', 'fileencoding', 'termencoding' and 'makeencoding' */
@@ -7468,7 +7443,6 @@ did_set_string_option(
     }
 #endif
 
-#ifdef FEAT_AUTOCMD
     else if (gvarp == &p_ft)
     {
        if (!valid_filetype(*varp))
@@ -7476,7 +7450,6 @@ did_set_string_option(
        else
            ft_changed = STRCMP(oldval, *varp) != 0;
     }
-#endif
 
 #ifdef FEAT_SYN_HL
     else if (gvarp == &p_syn)
@@ -7593,18 +7566,17 @@ did_set_string_option(
        else if (!(opt_flags & OPT_LOCAL) && opt_flags != OPT_GLOBAL)
            set_string_option_global(opt_idx, varp);
 
-#ifdef FEAT_AUTOCMD
        /*
         * Trigger the autocommand only after setting the flags.
         */
-# ifdef FEAT_SYN_HL
+#ifdef FEAT_SYN_HL
        /* When 'syntax' is set, load the syntax of that name */
        if (varp == &(curbuf->b_p_syn))
        {
            apply_autocmds(EVENT_SYNTAX, curbuf->b_p_syn,
                                               curbuf->b_fname, TRUE, curbuf);
        }
-# endif
+#endif
        else if (varp == &(curbuf->b_p_ft))
        {
            /* 'filetype' is set, trigger the FileType autocommand.
@@ -7620,7 +7592,6 @@ did_set_string_option(
                    varp = NULL;
            }
        }
-#endif
 #ifdef FEAT_SPELL
        if (varp == &(curwin->w_s->b_p_spl))
        {
@@ -8280,14 +8251,12 @@ set_bool_option(
 #endif
     }
 
-#ifdef FEAT_AUTOCMD
     /* when 'buflisted' changes, trigger autocommands */
     else if ((int *)varp == &curbuf->b_p_bl && old_value != curbuf->b_p_bl)
     {
        apply_autocmds(curbuf->b_p_bl ? EVENT_BUFADD : EVENT_BUFDELETE,
                                                    NULL, NULL, TRUE, curbuf);
     }
-#endif
 
     /* when 'swf' is set, create swapfile, when reset remove swapfile */
     else if ((int *)varp == &curbuf->b_p_swf)
@@ -8433,9 +8402,7 @@ set_bool_option(
 #ifdef FEAT_TITLE
        redraw_titles();
 #endif
-#ifdef FEAT_AUTOCMD
        modified_was_set = value;
-#endif
     }
 
 #ifdef BACKSLASH_IN_FILENAME
@@ -8529,7 +8496,7 @@ set_bool_option(
     }
 #endif
 
-#ifdef FEAT_MBYTE
+#ifdef HAVE_INPUT_METHOD
     /* 'imdisable' */
     else if ((int *)varp == &p_imdisable)
     {
@@ -8739,7 +8706,7 @@ set_bool_option(
 
     options[opt_idx].flags |= P_WAS_SET;
 
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
     if (!starting)
     {
        char_u buf_old[2], buf_new[2], buf_type[7];
@@ -9289,7 +9256,7 @@ set_num_option(
 
     options[opt_idx].flags |= P_WAS_SET;
 
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
     if (!starting && errmsg == NULL)
     {
        char_u buf_old[11], buf_new[11], buf_type[7];
@@ -10139,22 +10106,15 @@ makeset(FILE *fd, int opt_flags, int local_only)
                }
                else    /* P_STRING */
                {
-#if defined(FEAT_SYN_HL) || defined(FEAT_AUTOCMD)
                    int         do_endif = FALSE;
 
                    /* Don't set 'syntax' and 'filetype' again if the value is
                     * already right, avoids reloading the syntax file. */
                    if (
-# if defined(FEAT_SYN_HL)
-                           p->indir == PV_SYN
-#  if defined(FEAT_AUTOCMD)
-                           ||
-#  endif
-# endif
-# if defined(FEAT_AUTOCMD)
-                           p->indir == PV_FT
-# endif
-                           )
+#if defined(FEAT_SYN_HL)
+                           p->indir == PV_SYN ||
+#endif
+                           p->indir == PV_FT)
                    {
                        if (fprintf(fd, "if &%s != '%s'", p->fullname,
                                                       *(char_u **)(varp)) < 0
@@ -10162,17 +10122,14 @@ makeset(FILE *fd, int opt_flags, int local_only)
                            return FAIL;
                        do_endif = TRUE;
                    }
-#endif
                    if (put_setstring(fd, cmd, p->fullname, (char_u **)varp,
                                          (p->flags & P_EXPAND) != 0) == FAIL)
                        return FAIL;
-#if defined(FEAT_SYN_HL) || defined(FEAT_AUTOCMD)
                    if (do_endif)
                    {
                        if (put_line(fd, "endif") == FAIL)
                            return FAIL;
                    }
-#endif
                }
            }
        }
@@ -10783,9 +10740,7 @@ get_varp(struct vimoption *p)
        case PV_FENC:   return (char_u *)&(curbuf->b_p_fenc);
 #endif
        case PV_FF:     return (char_u *)&(curbuf->b_p_ff);
-#ifdef FEAT_AUTOCMD
        case PV_FT:     return (char_u *)&(curbuf->b_p_ft);
-#endif
        case PV_FO:     return (char_u *)&(curbuf->b_p_fo);
        case PV_FLP:    return (char_u *)&(curbuf->b_p_flp);
        case PV_IMI:    return (char_u *)&(curbuf->b_p_iminsert);
@@ -11200,10 +11155,8 @@ buf_copy_options(buf_T *buf, int flags)
            buf->b_p_cink = vim_strsave(p_cink);
            buf->b_p_cino = vim_strsave(p_cino);
 #endif
-#ifdef FEAT_AUTOCMD
            /* Don't copy 'filetype', it must be detected */
            buf->b_p_ft = empty_option;
-#endif
            buf->b_p_pi = p_pi;
 #if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
            buf->b_p_cinw = vim_strsave(p_cinw);
index 5ced8fecd3614117b4dbc42d2d3fee578b13082c..a338ba672d5cfda6a2e0be1f055c74283996928a 100644 (file)
@@ -477,9 +477,7 @@ EXTERN char_u       *p_efm;         /* 'errorformat' */
 EXTERN char_u  *p_gefm;        /* 'grepformat' */
 EXTERN char_u  *p_gp;          /* 'grepprg' */
 #endif
-#ifdef FEAT_AUTOCMD
 EXTERN char_u  *p_ei;          /* 'eventignore' */
-#endif
 EXTERN int     p_ek;           /* 'esckeys' */
 EXTERN int     p_exrc;         /* 'exrc' */
 #ifdef FEAT_MBYTE
@@ -1046,9 +1044,7 @@ enum
     , BV_FF
     , BV_FLP
     , BV_FO
-#ifdef FEAT_AUTOCMD
     , BV_FT
-#endif
     , BV_IMI
     , BV_IMS
 #if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
index a0fb5c0841b2be3c5d3cae4fe536a35a58527dcc..39fb222fdd8fd560d92e6d07e05392ab625bf6a0 100644 (file)
@@ -152,7 +152,6 @@ mch_inchar(
         */
        if (WaitForChar(raw_in, p_ut * 1000L) == 0)
        {
-#ifdef FEAT_AUTOCMD
            if (trigger_cursorhold() && maxlen >= 3)
            {
                buf[0] = K_SPECIAL;
@@ -160,7 +159,6 @@ mch_inchar(
                buf[2] = (int)KE_CURSORHOLD;
                return 3;
            }
-#endif
            before_blocking();
        }
     }
index a41b4c82bcd42ccdcd2c683f284aaebd9e3f3be1..e43d3a8b9f9dcebc35925c124133e4d25bc570b3 100644 (file)
@@ -2163,7 +2163,6 @@ Messaging_WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
                           (data->dwData == COPYDATA_RESULT ? 1 :
                                                              2))) == FAIL)
                    vim_free(str);
-#ifdef FEAT_AUTOCMD
                else if (data->dwData == COPYDATA_REPLY)
                {
                    char_u      winstr[30];
@@ -2172,7 +2171,6 @@ Messaging_WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
                    apply_autocmds(EVENT_REMOTEREPLY, winstr, str,
                                                                TRUE, curbuf);
                }
-#endif
            }
            return 1;
        }
index ac89955f252f71b096c3ad0dc0d7b53aa96a0aab..45fd26176479cb107252541609112fcf9de87793 100644 (file)
@@ -445,7 +445,6 @@ mch_inchar(
                {
                    /* no character available within 'updatetime' */
                    did_start_blocking = TRUE;
-#ifdef FEAT_AUTOCMD
                    if (trigger_cursorhold() && maxlen >= 3
                                            && !typebuf_changed(tb_change_cnt))
                    {
@@ -454,7 +453,6 @@ mch_inchar(
                        buf[2] = (int)KE_CURSORHOLD;
                        return 3;
                    }
-#endif
                    /*
                     * If there is no character available within 'updatetime'
                     * seconds flush all the swap files to disk.
@@ -1133,16 +1131,15 @@ deathtrap SIGDEFARG(sigarg)
     /* Remember how often we have been called. */
     ++entered;
 
-#ifdef FEAT_AUTOCMD
     /* Executing autocommands is likely to use more stack space than we have
      * available in the signal stack. */
     block_autocmds();
-#endif
 
 #ifdef FEAT_EVAL
     /* Set the v:dying variable. */
     set_vim_var_nr(VV_DYING, (long)entered);
 #endif
+    v_dying = entered;
 
 #ifdef HAVE_STACK_LIMIT
     /* Since we are now using the signal stack, need to reset the stack
index 91f453f2e9a9b3db2d84cec77dda7770c19a4c09..be1c4e0a68d8c4525789858b17e527d7718599b8 100644 (file)
@@ -1787,7 +1787,6 @@ mch_inchar(
         */
        if (!WaitForChar(p_ut, FALSE))
        {
-#ifdef FEAT_AUTOCMD
            if (trigger_cursorhold() && maxlen >= 3)
            {
                buf[0] = K_SPECIAL;
@@ -1795,7 +1794,6 @@ mch_inchar(
                buf[2] = (int)KE_CURSORHOLD;
                return 3;
            }
-#endif
            before_blocking();
        }
     }
index 80308103877ea1679a6479412e1ab93287d9ec46..23cb92696ee8c54b33d861b76397ae3e0e97bdd0 100644 (file)
@@ -3626,13 +3626,10 @@ qf_fill_buffer(qf_info_T *qi, buf_T *buf, qfline_T *old_last)
        /* Set the 'filetype' to "qf" each time after filling the buffer.
         * This resembles reading a file into a buffer, it's more logical when
         * using autocommands. */
-#ifdef FEAT_AUTOCMD
        ++curbuf_lock;
-#endif
        set_option_value((char_u *)"ft", 0L, (char_u *)"qf", OPT_LOCAL);
        curbuf->b_p_ma = FALSE;
 
-#ifdef FEAT_AUTOCMD
        keep_filetype = TRUE;           /* don't detect 'filetype' */
        apply_autocmds(EVENT_BUFREADPOST, (char_u *)"quickfix", NULL,
                                                               FALSE, curbuf);
@@ -3640,7 +3637,7 @@ qf_fill_buffer(qf_info_T *qi, buf_T *buf, qfline_T *old_last)
                                                               FALSE, curbuf);
        keep_filetype = FALSE;
        --curbuf_lock;
-#endif
+
        /* make sure it will be redrawn */
        redraw_curbuf_later(NOT_VALID);
     }
@@ -3682,7 +3679,6 @@ ex_make(exarg_T *eap)
     win_T      *wp = NULL;
     qf_info_T  *qi = &ql_info;
     int                res;
-#ifdef FEAT_AUTOCMD
     char_u     *au_name = NULL;
 
     /* Redirect ":grep" to ":vimgrep" if 'grepprg' is "internal". */
@@ -3705,12 +3701,11 @@ ex_make(exarg_T *eap)
     if (au_name != NULL && apply_autocmds(EVENT_QUICKFIXCMDPRE, au_name,
                                               curbuf->b_fname, TRUE, curbuf))
     {
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
        if (aborting())
            return;
-# endif
-    }
 #endif
+    }
 #ifdef FEAT_MBYTE
     enc = (*curbuf->b_p_menc != NUL) ? curbuf->b_p_menc : p_menc;
 #endif
@@ -3766,7 +3761,6 @@ ex_make(exarg_T *eap)
        qi = GET_LOC_LIST(wp);
     if (res >= 0 && qi != NULL)
        qf_list_changed(qi, qi->qf_curlist);
-#ifdef FEAT_AUTOCMD
     if (au_name != NULL)
     {
        apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
@@ -3776,7 +3770,6 @@ ex_make(exarg_T *eap)
        else
            res = 0;
     }
-#endif
     if (res > 0 && !eap->forceit)
        qf_jump(qi, 0, 0, FALSE);               /* display first error */
 
@@ -4105,13 +4098,10 @@ ex_cfile(exarg_T *eap)
     char_u     *enc = NULL;
     win_T      *wp = NULL;
     qf_info_T  *qi = &ql_info;
-#ifdef FEAT_AUTOCMD
     char_u     *au_name = NULL;
     int                save_qfid;
-#endif
     int                res;
 
-#ifdef FEAT_AUTOCMD
     switch (eap->cmdidx)
     {
        case CMD_cfile:     au_name = (char_u *)"cfile"; break;
@@ -4124,7 +4114,6 @@ ex_cfile(exarg_T *eap)
     }
     if (au_name != NULL)
        apply_autocmds(EVENT_QUICKFIXCMDPRE, au_name, NULL, FALSE, curbuf);
-#endif
 #ifdef FEAT_MBYTE
     enc = (*curbuf->b_p_menc != NUL) ? curbuf->b_p_menc : p_menc;
 #endif
@@ -4164,7 +4153,6 @@ ex_cfile(exarg_T *eap)
        qi = GET_LOC_LIST(wp);
     if (res >= 0 && qi != NULL)
        qf_list_changed(qi, qi->qf_curlist);
-#ifdef FEAT_AUTOCMD
     if (qi != NULL)
        save_qfid = qi->qf_lists[qi->qf_curlist].qf_id;
     if (au_name != NULL)
@@ -4174,7 +4162,6 @@ ex_cfile(exarg_T *eap)
      * is still valid. */
     if (qi != NULL && !qflist_valid(wp, save_qfid))
        return;
-#endif
     if (res > 0 && (eap->cmdidx == CMD_cfile || eap->cmdidx == CMD_lfile))
        qf_jump(qi, 0, 0, eap->forceit);        /* display first error */
 }
@@ -4198,11 +4185,9 @@ ex_vimgrep(exarg_T *eap)
     int                fi;
     qf_info_T  *qi = &ql_info;
     int                loclist_cmd = FALSE;
-#ifdef FEAT_AUTOCMD
     int_u      save_qfid;
     qfline_T   *cur_qf_start;
     win_T      *wp;
-#endif
     long       lnum;
     buf_T      *buf;
     int                duplicate_name = FALSE;
@@ -4212,7 +4197,7 @@ ex_vimgrep(exarg_T *eap)
     buf_T      *first_match_buf = NULL;
     time_t     seconds = 0;
     int                save_mls;
-#if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
+#if defined(FEAT_SYN_HL)
     char_u     *save_ei = NULL;
 #endif
     aco_save_T aco;
@@ -4222,7 +4207,6 @@ ex_vimgrep(exarg_T *eap)
     char_u     *dirname_start = NULL;
     char_u     *dirname_now = NULL;
     char_u     *target_dir = NULL;
-#ifdef FEAT_AUTOCMD
     char_u     *au_name =  NULL;
 
     switch (eap->cmdidx)
@@ -4240,12 +4224,11 @@ ex_vimgrep(exarg_T *eap)
     if (au_name != NULL && apply_autocmds(EVENT_QUICKFIXCMDPRE, au_name,
                                               curbuf->b_fname, TRUE, curbuf))
     {
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
        if (aborting())
            return;
-# endif
-    }
 #endif
+    }
 
     if (eap->cmdidx == CMD_lgrep
            || eap->cmdidx == CMD_lvimgrep
@@ -4325,12 +4308,10 @@ ex_vimgrep(exarg_T *eap)
      * ":lcd %:p:h" changes the meaning of short path names. */
     mch_dirname(dirname_start, MAXPATHL);
 
-#ifdef FEAT_AUTOCMD
      /* Remember the current values of the quickfix list and qf_start, so that
       * we can check for autocommands changing the current quickfix list. */
     save_qfid = qi->qf_lists[qi->qf_curlist].qf_id;
     cur_qf_start = qi->qf_lists[qi->qf_curlist].qf_start;
-#endif
 
     seconds = (time_t)0;
     for (fi = 0; fi < fcount && !got_int && tomatch > 0; ++fi)
@@ -4365,7 +4346,7 @@ ex_vimgrep(exarg_T *eap)
            using_dummy = TRUE;
            redraw_for_dummy = TRUE;
 
-#if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
+#if defined(FEAT_SYN_HL)
            /* Don't do Filetype autocommands to avoid loading syntax and
             * indent scripts, a great speed improvement. */
            save_ei = au_event_disable(",Filetype");
@@ -4379,7 +4360,7 @@ ex_vimgrep(exarg_T *eap)
            buf = load_dummy_buffer(fname, dirname_start, dirname_now);
 
            p_mls = save_mls;
-#if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
+#if defined(FEAT_SYN_HL)
            au_event_restore(save_ei);
 #endif
        }
@@ -4387,7 +4368,6 @@ ex_vimgrep(exarg_T *eap)
            /* Use existing, loaded buffer. */
            using_dummy = FALSE;
 
-#ifdef FEAT_AUTOCMD
        if (loclist_cmd)
        {
            /*
@@ -4419,7 +4399,6 @@ ex_vimgrep(exarg_T *eap)
                cur_qf_start = qi->qf_lists[qi->qf_curlist].qf_start;
            }
        }
-#endif
 
        if (buf == NULL)
        {
@@ -4475,9 +4454,7 @@ ex_vimgrep(exarg_T *eap)
                if (got_int)
                    break;
            }
-#ifdef FEAT_AUTOCMD
            cur_qf_start = qi->qf_lists[qi->qf_curlist].qf_start;
-#endif
 
            if (using_dummy)
            {
@@ -4532,7 +4509,7 @@ ex_vimgrep(exarg_T *eap)
                     * need to be done (again).  But not the window-local
                     * options! */
                    aucmd_prepbuf(&aco, buf);
-#if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
+#if defined(FEAT_SYN_HL)
                    apply_autocmds(EVENT_FILETYPE, buf->b_p_ft,
                                                     buf->b_fname, TRUE, buf);
 #endif
@@ -4552,7 +4529,6 @@ ex_vimgrep(exarg_T *eap)
 
     qf_update_buffer(qi, NULL);
 
-#ifdef FEAT_AUTOCMD
     if (au_name != NULL)
        apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
                                               curbuf->b_fname, TRUE, curbuf);
@@ -4563,7 +4539,6 @@ ex_vimgrep(exarg_T *eap)
     wp = loclist_cmd ? curwin : NULL;
     if (!qflist_valid(wp, save_qfid))
        goto theend;
-#endif
 
     /* Jump to first match. */
     if (qi->qf_lists[qi->qf_curlist].qf_count > 0)
@@ -4748,7 +4723,7 @@ wipe_dummy_buffer(buf_T *buf, char_u *dirname_start)
 {
     if (curbuf != buf)         /* safety check */
     {
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
        cleanup_T   cs;
 
        /* Reset the error/interrupt/exception state here so that aborting()
@@ -4759,7 +4734,7 @@ wipe_dummy_buffer(buf_T *buf, char_u *dirname_start)
 
        wipe_buffer(buf, FALSE);
 
-#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
        /* Restore the error/interrupt/exception state if not discarded by a
         * new aborting error, interrupt, or uncaught exception. */
        leave_cleanup(&cs);
@@ -5598,12 +5573,9 @@ ex_cbuffer(exarg_T *eap)
 {
     buf_T      *buf = NULL;
     qf_info_T  *qi = &ql_info;
-#ifdef FEAT_AUTOCMD
     char_u     *au_name = NULL;
-#endif
     int                res;
 
-#ifdef FEAT_AUTOCMD
     switch (eap->cmdidx)
     {
        case CMD_cbuffer:       au_name = (char_u *)"cbuffer"; break;
@@ -5617,12 +5589,11 @@ ex_cbuffer(exarg_T *eap)
     if (au_name != NULL && apply_autocmds(EVENT_QUICKFIXCMDPRE, au_name,
                                               curbuf->b_fname, TRUE, curbuf))
     {
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
        if (aborting())
            return;
-# endif
-    }
 #endif
+    }
 
     /* Must come after autocommands. */
     if (eap->cmdidx == CMD_lbuffer
@@ -5670,11 +5641,9 @@ ex_cbuffer(exarg_T *eap)
                                                   qf_title, NULL);
            if (res >= 0)
                qf_list_changed(qi, qi->qf_curlist);
-#ifdef FEAT_AUTOCMD
            if (au_name != NULL)
                apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
                                                curbuf->b_fname, TRUE, curbuf);
-#endif
            if (res > 0 && (eap->cmdidx == CMD_cbuffer ||
                                                eap->cmdidx == CMD_lbuffer))
                qf_jump(qi, 0, 0, eap->forceit);  /* display first error */
@@ -5692,12 +5661,9 @@ ex_cexpr(exarg_T *eap)
 {
     typval_T   *tv;
     qf_info_T  *qi = &ql_info;
-#ifdef FEAT_AUTOCMD
     char_u     *au_name = NULL;
-#endif
     int                res;
 
-#ifdef FEAT_AUTOCMD
     switch (eap->cmdidx)
     {
        case CMD_cexpr:     au_name = (char_u *)"cexpr"; break;
@@ -5711,12 +5677,11 @@ ex_cexpr(exarg_T *eap)
     if (au_name != NULL && apply_autocmds(EVENT_QUICKFIXCMDPRE, au_name,
                                               curbuf->b_fname, TRUE, curbuf))
     {
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
        if (aborting())
            return;
-# endif
-    }
 #endif
+    }
 
     if (eap->cmdidx == CMD_lexpr
            || eap->cmdidx == CMD_lgetexpr
@@ -5742,11 +5707,9 @@ ex_cexpr(exarg_T *eap)
                                 NULL);
            if (res >= 0)
                qf_list_changed(qi, qi->qf_curlist);
-#ifdef FEAT_AUTOCMD
            if (au_name != NULL)
                apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
                                                curbuf->b_fname, TRUE, curbuf);
-#endif
            if (res > 0 && (eap->cmdidx == CMD_cexpr ||
                                                eap->cmdidx == CMD_lexpr))
                qf_jump(qi, 0, 0, eap->forceit);  /* display first error */
@@ -5779,16 +5742,13 @@ ex_helpgrep(exarg_T *eap)
     qf_info_T  *save_qi;
     int                new_qi = FALSE;
     win_T      *wp;
-#ifdef FEAT_AUTOCMD
     char_u     *au_name =  NULL;
-#endif
 
 #ifdef FEAT_MULTI_LANG
     /* Check for a specified language */
     lang = check_help_lang(eap->arg);
 #endif
 
-#ifdef FEAT_AUTOCMD
     switch (eap->cmdidx)
     {
        case CMD_helpgrep:  au_name = (char_u *)"helpgrep"; break;
@@ -5798,12 +5758,11 @@ ex_helpgrep(exarg_T *eap)
     if (au_name != NULL && apply_autocmds(EVENT_QUICKFIXCMDPRE, au_name,
                                               curbuf->b_fname, TRUE, curbuf))
     {
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
        if (aborting())
            return;
-# endif
-    }
 #endif
+    }
 
     /* Make 'cpoptions' empty, the 'l' flag should not be used here. */
     save_cpo = p_cpo;
@@ -5965,7 +5924,6 @@ ex_helpgrep(exarg_T *eap)
     qf_list_changed(qi, qi->qf_curlist);
     qf_update_buffer(qi, NULL);
 
-#ifdef FEAT_AUTOCMD
     if (au_name != NULL)
     {
        apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
@@ -5974,7 +5932,6 @@ ex_helpgrep(exarg_T *eap)
            /* autocommands made "qi" invalid */
            return;
     }
-#endif
 
     /* Jump to first match. */
     if (qi->qf_lists[qi->qf_curlist].qf_count > 0)
index a7ed60111e375ab27d4ff256b27ef855c3d9550b..935f9810ccd7ac60a4c3349a30747b0c658f2da0 100644 (file)
@@ -8767,11 +8767,9 @@ screenalloc(int doclear)
     tabpage_T      *tp;
     static int     entered = FALSE;            /* avoid recursiveness */
     static int     done_outofmem_msg = FALSE;  /* did outofmem message */
-#ifdef FEAT_AUTOCMD
     int                    retry_count = 0;
 
 retry:
-#endif
     /*
      * Allocation of the screen buffers is done only when the size changes and
      * when Rows and Columns have been set and we have started doing full
@@ -8823,10 +8821,8 @@ retry:
      */
     FOR_ALL_TAB_WINDOWS(tp, wp)
        win_free_lsize(wp);
-#ifdef FEAT_AUTOCMD
     if (aucmd_win != NULL)
        win_free_lsize(aucmd_win);
-#endif
 
     new_ScreenLines = (schar_T *)lalloc((long_u)(
                              (Rows + 1) * Columns * sizeof(schar_T)), FALSE);
@@ -8859,11 +8855,9 @@ retry:
            goto give_up;
        }
     }
-#ifdef FEAT_AUTOCMD
     if (aucmd_win != NULL && aucmd_win->w_lines == NULL
                                        && win_alloc_lines(aucmd_win) == FAIL)
        outofmem = TRUE;
-#endif
 give_up:
 
 #ifdef FEAT_MBYTE
@@ -9032,7 +9026,6 @@ give_up:
     entered = FALSE;
     --RedrawingDisabled;
 
-#ifdef FEAT_AUTOCMD
     /*
      * Do not apply autocommands more than 3 times to avoid an endless loop
      * in case applying autocommands always changes Rows or Columns.
@@ -9044,7 +9037,6 @@ give_up:
         * jump back to check if we need to allocate the screen again. */
        goto retry;
     }
-#endif
 }
 
     void
index d3c6518295ed9fb24f3a41ef7078b3b850ea370c..a4b272224c4e9d5e96e05d612b9f3e2225315f54 100644 (file)
@@ -97,10 +97,8 @@ static char_u        lastc_bytes[MB_MAXBYTES + 1];
 static int     lastc_bytelen = 1;      /* >1 for multi-byte char */
 #endif
 
-#if defined(FEAT_AUTOCMD) || defined(FEAT_EVAL) || defined(PROTO)
 /* copy of spats[], for keeping the search patterns while executing autocmds */
 static struct spat  saved_spats[2];
-#endif
 # ifdef FEAT_SEARCH_EXTRA
 /* copy of spats[RE_SEARCH], for keeping the search patterns while incremental
  * searching */
@@ -300,7 +298,6 @@ save_re_pat(int idx, char_u *pat, int magic)
     }
 }
 
-#if defined(FEAT_AUTOCMD) || defined(FEAT_EVAL) || defined(PROTO)
 /*
  * Save the search patterns, so they can be restored later.
  * Used before/after executing autocommands and user functions.
@@ -318,10 +315,10 @@ save_search_patterns(void)
        saved_spats[1] = spats[1];
        if (spats[1].pat != NULL)
            saved_spats[1].pat = vim_strsave(spats[1].pat);
+#ifdef FEAT_SEARCH_EXTRA
        saved_last_idx = last_idx;
-# ifdef FEAT_SEARCH_EXTRA
        saved_no_hlsearch = no_hlsearch;
-# endif
+#endif
     }
 }
 
@@ -332,18 +329,17 @@ restore_search_patterns(void)
     {
        vim_free(spats[0].pat);
        spats[0] = saved_spats[0];
-# if defined(FEAT_EVAL)
+#if defined(FEAT_EVAL)
        set_vv_searchforward();
-# endif
+#endif
        vim_free(spats[1].pat);
        spats[1] = saved_spats[1];
+#ifdef FEAT_SEARCH_EXTRA
        last_idx = saved_last_idx;
-# ifdef FEAT_SEARCH_EXTRA
        SET_NO_HLSEARCH(saved_no_hlsearch);
-# endif
+#endif
     }
 }
-#endif
 
 #if defined(EXITFREE) || defined(PROTO)
     void
index 0e08e9e7b44acef9833542581f2b30d7a9ed304e..05a9d2cd84013cad820df6f9ea6652ca81f66e4e 100644 (file)
@@ -1849,9 +1849,7 @@ spell_load_lang(char_u *lang)
     char_u     fname_enc[85];
     int                r;
     spelload_T sl;
-#ifdef FEAT_AUTOCMD
     int                round;
-#endif
 
     /* Copy the language name to pass it to spell_load_cb() as a cookie.
      * It's truncated when an error is detected. */
@@ -1859,11 +1857,9 @@ spell_load_lang(char_u *lang)
     sl.sl_slang = NULL;
     sl.sl_nobreak = FALSE;
 
-#ifdef FEAT_AUTOCMD
     /* We may retry when no spell file is found for the language, an
      * autocommand may load it then. */
     for (round = 1; round <= 2; ++round)
-#endif
     {
        /*
         * Find the first spell file for "lang" in 'runtimepath' and load it.
@@ -1889,17 +1885,13 @@ spell_load_lang(char_u *lang)
                                                                        lang);
            r = do_in_runtimepath(fname_enc, 0, spell_load_cb, &sl);
 
-#ifdef FEAT_AUTOCMD
            if (r == FAIL && *sl.sl_lang != NUL && round == 1
                    && apply_autocmds(EVENT_SPELLFILEMISSING, lang,
                                              curbuf->b_fname, FALSE, curbuf))
                continue;
            break;
-#endif
        }
-#ifdef FEAT_AUTOCMD
        break;
-#endif
     }
 
     if (r == FAIL)
@@ -2348,11 +2340,9 @@ did_set_spelllang(win_T *wp)
     static int recursive = FALSE;
     char_u     *ret_msg = NULL;
     char_u     *spl_copy;
-#ifdef FEAT_AUTOCMD
     bufref_T   bufref;
 
     set_bufref(&bufref, wp->w_buffer);
-#endif
 
     /* We don't want to do this recursively.  May happen when a language is
      * not available and the SpellFileMissing autocommand opens a new buffer
@@ -2449,7 +2439,6 @@ did_set_spelllang(win_T *wp)
            else
            {
                spell_load_lang(lang);
-#ifdef FEAT_AUTOCMD
                /* SpellFileMissing autocommands may do anything, including
                 * destroying the buffer we are using... */
                if (!bufref_valid(&bufref))
@@ -2457,7 +2446,6 @@ did_set_spelllang(win_T *wp)
                    ret_msg = (char_u *)N_("E797: SpellFileMissing autocommand deleted buffer");
                    goto theend;
                }
-#endif
            }
        }
 
index fe8c03609b2ef44683a8259f8d4118b9792fa11a..56af7939d87e3892c855ed81f7ee3b1e798b2d61 100644 (file)
@@ -586,9 +586,7 @@ typedef struct
     int                lockmarks;              /* TRUE when ":lockmarks" was used */
     int                keeppatterns;           /* TRUE when ":keeppatterns" was used */
     int                noswapfile;             /* TRUE when ":noswapfile" was used */
-# ifdef FEAT_AUTOCMD
     char_u     *save_ei;               /* saved value of 'eventignore' */
-# endif
     regmatch_T filter_regmatch;        /* set by :filter /pat/ */
     int                filter_force;           /* set for :filter! */
 } cmdmod_T;
@@ -1946,10 +1944,8 @@ struct file_buffer
     int                b_nwindows;     /* nr of windows open on this buffer */
 
     int                b_flags;        /* various BF_ flags */
-#ifdef FEAT_AUTOCMD
     int                b_locked;       /* Buffer is being closed or referenced, don't
                                   let autocommands wipe it out. */
-#endif
 
     /*
      * b_ffname has the full path of the file (NULL for no name).
@@ -1986,13 +1982,11 @@ struct file_buffer
                                   incremented for each change, also for undo */
 #define CHANGEDTICK(buf) ((buf)->b_ct_di.di_tv.vval.v_number)
 
-#ifdef FEAT_AUTOCMD
     varnumber_T        b_last_changedtick; /* b:changedtick when TextChanged or
                                       TextChangedI was last triggered. */
-# ifdef FEAT_INS_EXPAND
+#ifdef FEAT_INS_EXPAND
     varnumber_T        b_last_changedtick_pum; /* b:changedtick when TextChangedP was
                                           last triggered. */
-# endif
 #endif
 
     int                b_saving;       /* Set to TRUE if we are in the middle of
@@ -2171,9 +2165,7 @@ struct file_buffer
     char_u     *b_p_fenc;      /* 'fileencoding' */
 #endif
     char_u     *b_p_ff;        /* 'fileformat' */
-#ifdef FEAT_AUTOCMD
     char_u     *b_p_ft;        /* 'filetype' */
-#endif
     char_u     *b_p_fo;        /* 'formatoptions' */
     char_u     *b_p_flp;       /* 'formatlistpat' */
     int                b_p_inf;        /* 'infercase' */
@@ -2448,12 +2440,8 @@ struct diffblock_S
 #endif
 
 #define SNAP_HELP_IDX  0
-#ifdef FEAT_AUTOCMD
-# define SNAP_AUCMD_IDX 1
-# define SNAP_COUNT    2
-#else
-# define SNAP_COUNT    1
-#endif
+#define SNAP_AUCMD_IDX 1
+#define SNAP_COUNT     2
 
 /*
  * Tab pages point to the top frame of each tab page.
@@ -2642,10 +2630,8 @@ struct window_S
 
     win_T      *w_prev;            /* link to previous window */
     win_T      *w_next;            /* link to next window */
-#ifdef FEAT_AUTOCMD
     int                w_closing;          /* window is being closed, don't let
                                       autocommands close it too. */
-#endif
 
     frame_T    *w_frame;           /* frame containing this window */
 
@@ -2676,10 +2662,8 @@ struct window_S
      */
     linenr_T   w_topline;          /* buffer line number of the line at the
                                       top of the window */
-#ifdef FEAT_AUTOCMD
     char       w_topline_was_set;  /* flag set to TRUE when topline is set,
                                       e.g. by winrestview() */
-#endif
 #ifdef FEAT_DIFF
     int                w_topfill;          /* number of filler lines above w_topline */
     int                w_old_topfill;      /* w_topfill at last redraw */
@@ -2973,10 +2957,8 @@ typedef struct oparg_S
     int                block_mode;     /* current operator is Visual block mode */
     colnr_T    start_vcol;     /* start col for block mode operator */
     colnr_T    end_vcol;       /* end col for block mode operator */
-#ifdef FEAT_AUTOCMD
     long       prev_opcount;   /* ca.opcount saved for K_CURSORHOLD */
     long       prev_count0;    /* ca.count0 saved for K_CURSORHOLD */
-#endif
 } oparg_T;
 
 /*
@@ -3160,18 +3142,16 @@ typedef int vimmenu_T;
 
 /*
  * Struct to save values in before executing autocommands for a buffer that is
- * not the current buffer.  Without FEAT_AUTOCMD only "curbuf" is remembered.
+ * not the current buffer.
  */
 typedef struct
 {
     buf_T      *save_curbuf;   /* saved curbuf */
-#ifdef FEAT_AUTOCMD
     int                use_aucmd_win;  /* using aucmd_win */
     win_T      *save_curwin;   /* saved curwin */
     win_T      *new_curwin;    /* new curwin */
     bufref_T   new_curbuf;     /* new curbuf */
     char_u     *globaldir;     /* saved value of globaldir */
-#endif
 } aco_save_T;
 
 /*
index d0d4515e0e07c95987e5d59a1e2df48c8ea5137b..d09359ab1124d49509e4a2c1514139c714e3f3a6 100644 (file)
@@ -6420,11 +6420,9 @@ ex_ownsyntax(exarg_T *eap)
     if (old_value != NULL)
        old_value = vim_strsave(old_value);
 
-#ifdef FEAT_AUTOCMD
     /* Apply the "syntax" autocommand event, this finds and loads the syntax
      * file. */
     apply_autocmds(EVENT_SYNTAX, eap->arg, curbuf->b_fname, TRUE, curbuf);
-#endif
 
     /* move value of b:current_syntax to w:current_syntax */
     new_value = get_var_value((char_u *)"b:current_syntax");
@@ -6995,10 +6993,8 @@ static char *(highlight_init_light[]) = {
     CENT("Conceal ctermbg=DarkGrey ctermfg=LightGrey",
         "Conceal ctermbg=DarkGrey ctermfg=LightGrey guibg=DarkGrey guifg=LightGrey"),
 #endif
-#ifdef FEAT_AUTOCMD
     CENT("MatchParen term=reverse ctermbg=Cyan",
         "MatchParen term=reverse ctermbg=Cyan guibg=Cyan"),
-#endif
 #ifdef FEAT_GUI
     "Normal gui=NONE",
 #endif
@@ -7089,10 +7085,8 @@ static char *(highlight_init_dark[]) = {
     CENT("ColorColumn term=reverse ctermbg=DarkRed",
         "ColorColumn term=reverse ctermbg=DarkRed guibg=DarkRed"),
 #endif
-#ifdef FEAT_AUTOCMD
     CENT("MatchParen term=reverse ctermbg=DarkCyan",
         "MatchParen term=reverse ctermbg=DarkCyan guibg=DarkCyan"),
-#endif
 #ifdef FEAT_CONCEAL
     CENT("Conceal ctermbg=DarkGrey ctermfg=LightGrey",
         "Conceal ctermbg=DarkGrey ctermfg=LightGrey guibg=DarkGrey guifg=LightGrey"),
@@ -7233,9 +7227,7 @@ load_colors(char_u *name)
        sprintf((char *)buf, "colors/%s.vim", name);
        retval = source_runtime(buf, DIP_START + DIP_OPT);
        vim_free(buf);
-#ifdef FEAT_AUTOCMD
        apply_autocmds(EVENT_COLORSCHEME, name, curbuf->b_fname, FALSE, curbuf);
-#endif
     }
     recursive = FALSE;
 
index 90c3960531a7dac4f81071123f3c9a972d240c8b..ca1f2f365564e73c8c9b705b0413c89629d1624c 100644 (file)
--- a/src/tag.c
+++ b/src/tag.c
@@ -1017,7 +1017,7 @@ do_tag(
                }
            }
 
-#ifdef FEAT_AUTOCMD
+#if defined(FEAT_EVAL)
            /* Let the SwapExists event know what tag we are jumping to. */
            vim_snprintf((char *)IObuff, IOSIZE, ":ta %s\r", name);
            set_vim_var_string(VV_SWAPCOMMAND, IObuff, -1);
@@ -1028,7 +1028,7 @@ do_tag(
             */
            i = jumpto_tag(matches[cur_match], forceit, type != DT_CSCOPE);
 
-#ifdef FEAT_AUTOCMD
+#if defined(FEAT_EVAL)
            set_vim_var_string(VV_SWAPCOMMAND, NULL, -1);
 #endif
 
@@ -3174,11 +3174,7 @@ jumpto_tag(
      * file.  Also accept a file name for which there is a matching BufReadCmd
      * autocommand event (e.g., http://sys/file).
      */
-    if (mch_getperm(fname) < 0
-#ifdef FEAT_AUTOCMD
-           && !has_autocmd(EVENT_BUFREADCMD, fname, NULL)
-#endif
-       )
+    if (mch_getperm(fname) < 0 && !has_autocmd(EVENT_BUFREADCMD, fname, NULL))
     {
        retval = NOTAGFILE;
        vim_free(nofile_fname);
index 7dbbefa49acd61f56087925c420b12fc65fa7bf1..72b68123bc4ec4c7ed911b6791c61cf3b3097cd3 100644 (file)
@@ -1985,7 +1985,6 @@ set_termname(char_u *term)
            scroll_region_reset();              /* In case Rows changed */
        check_map_keycodes();   /* check mappings for terminal codes used */
 
-#ifdef FEAT_AUTOCMD
        {
            bufref_T    old_curbuf;
 
@@ -2003,7 +2002,6 @@ set_termname(char_u *term)
            if (bufref_valid(&old_curbuf))
                curbuf = old_curbuf.br_buf;
        }
-#endif
     }
 
 #ifdef FEAT_TERMRESPONSE
@@ -4515,9 +4513,7 @@ check_termcode(
 
                        LOG_TR("Received U7 status");
                        u7_status = STATUS_GOT;
-# ifdef FEAT_AUTOCMD
                        did_cursorhold = TRUE;
-# endif
                        if (col == 2)
                            aw = "single";
                        else if (col == 3)
@@ -4560,9 +4556,7 @@ check_termcode(
 
                    LOG_TR("Received CRV response");
                    crv_status = STATUS_GOT;
-# ifdef FEAT_AUTOCMD
                    did_cursorhold = TRUE;
-# endif
 
                    /* If this code starts with CSI, you can bet that the
                     * terminal uses 8-bit codes. */
@@ -4702,10 +4696,8 @@ check_termcode(
 # ifdef FEAT_EVAL
                    set_vim_var_string(VV_TERMRESPONSE, tp, slen);
 # endif
-# ifdef FEAT_AUTOCMD
                    apply_autocmds(EVENT_TERMRESPONSE,
                                                   NULL, NULL, FALSE, curbuf);
-# endif
                    key_name[0] = (int)KS_EXTRA;
                    key_name[1] = (int)KE_IGNORE;
                }
index 53591f15c9708068f513d32b3f0a0a96ee31bc81..89fafebb0a9317723ab37edccd166504e098413d 100644 (file)
  * in tl_scrollback are no longer used.
  *
  * TODO:
+ * - What to store in a session file?  Shell at the prompt would be OK to
+ *   restore, but others may not.  Open the window and let the user start the
+ *   command?  Also see #2650.
+ * - Adding WinBar to terminal window doesn't display, text isn't shifted down.
  * - When using 'termguicolors' still use the 16 ANSI colors as-is.  Helps for
  *   a job that uses 16 colors while Vim is using > 256.
  * - in GUI vertical split causes problems.  Cursor is flickering. (Hirohito
  * - after resizing windows overlap. (Boris Staletic, #2164)
  * - Redirecting output does not work on MS-Windows, Test_terminal_redir_file()
  *   is disabled.
+ * - if the job in the terminal does not support the mouse, we can use the
+ *   mouse in the Terminal window for copy/paste and scrolling.
  * - cursor blinks in terminal on widows with a timer. (xtal8, #2142)
- * - What to store in a session file?  Shell at the prompt would be OK to
- *   restore, but others may not.  Open the window and let the user start the
- *   command?  Also see #2650.
  * - When closing gvim with an active terminal buffer, the dialog suggests
  *   saving the buffer.  Should say something else. (Manas Thakur, #2215)
  *   Also: #2223
  * - Termdebug does not work when Vim build with mzscheme.  gdb hangs.
  * - MS-Windows GUI: WinBar has  tearoff item
- * - Adding WinBar to terminal window doesn't display, text isn't shifted down.
  * - MS-Windows GUI: still need to type a key after shell exits?  #1924
  * - After executing a shell command the status line isn't redraw.
  * - implement term_setsize()
  * - add test for giving error for invalid 'termsize' value.
  * - support minimal size when 'termsize' is "rows*cols".
  * - support minimal size when 'termsize' is empty?
- * - if the job in the terminal does not support the mouse, we can use the
- *   mouse in the Terminal window for copy/paste and scrolling.
  * - GUI: when using tabs, focus in terminal, click on tab does not work.
  * - GUI: when 'confirm' is set and trying to exit Vim, dialog offers to save
  *   changes to "!shell".
@@ -506,14 +506,12 @@ term_start(typval_T *argvar, jobopt_T *opt, int without_job, int forceit)
         * a deadlock if the job is waiting for Vim to read. */
        channel_set_nonblock(term->tl_job->jv_channel, PART_IN);
 
-#ifdef FEAT_AUTOCMD
        if (!opt->jo_hidden)
        {
            ++curbuf->b_locked;
            apply_autocmds(EVENT_BUFWINENTER, NULL, NULL, FALSE, curbuf);
            --curbuf->b_locked;
        }
-#endif
 
        if (old_curbuf != NULL)
        {
@@ -938,9 +936,7 @@ term_convert_key(term_T *term, int c, char *buf)
 #ifdef FEAT_DND
        case K_DROP:            return 0;
 #endif
-#ifdef FEAT_AUTOCMD
        case K_CURSORHOLD:      return 0;
-#endif
        case K_PS:              vterm_keyboard_start_paste(vterm);
                                other = TRUE;
                                break;
index f89c14525b28f68d7fe46e7addcd94665de8cbdb..981f07f45a821108d8e8cd1dd738ae53bd3d30b5 100644 (file)
--- a/src/ui.c
+++ b/src/ui.c
@@ -3299,13 +3299,11 @@ ui_focus_change(
        last_time = time(NULL);
     }
 
-#ifdef FEAT_AUTOCMD
     /*
      * Fire the focus gained/lost autocommand.
      */
     need_redraw |= apply_autocmds(in_focus ? EVENT_FOCUSGAINED
                                : EVENT_FOCUSLOST, NULL, NULL, FALSE, curbuf);
-#endif
 
     if (need_redraw)
     {
@@ -3339,7 +3337,7 @@ ui_focus_change(
 }
 #endif
 
-#if defined(FEAT_MBYTE) || defined(PROTO)
+#if defined(HAVE_INPUT_METHOD) || defined(PROTO)
 /*
  * Save current Input Method status to specified place.
  */
index c723eba6cc0c29c9c5a13f8b926229a1b9f8d0a3..09bcc91bef77dae3bd2f040d5b9e0cee51133d4c 100644 (file)
@@ -424,7 +424,6 @@ u_savecommon(
        term_change_in_curbuf();
 #endif
 
-#ifdef FEAT_AUTOCMD
        /*
         * Saving text for undo means we are going to make a change.  Give a
         * warning for a read-only file before making the change, so that the
@@ -439,7 +438,6 @@ u_savecommon(
            EMSG(_("E881: Line count changed unexpectedly"));
            return FAIL;
        }
-#endif
     }
 
 #ifdef U_DEBUG
@@ -2631,11 +2629,9 @@ u_undoredo(int undo)
     int                empty_buffer;               /* buffer became empty */
     u_header_T *curhead = curbuf->b_u_curhead;
 
-#ifdef FEAT_AUTOCMD
     /* Don't want autocommands using the undo structures here, they are
      * invalid till the end. */
     block_autocmds();
-#endif
 
 #ifdef U_DEBUG
     u_check(FALSE);
@@ -2664,9 +2660,7 @@ u_undoredo(int undo)
        if (top > curbuf->b_ml.ml_line_count || top >= bot
                                      || bot > curbuf->b_ml.ml_line_count + 1)
        {
-#ifdef FEAT_AUTOCMD
            unblock_autocmds();
-#endif
            IEMSG(_("E438: u_undo: line numbers wrong"));
            changed();          /* don't want UNCHANGED now */
            return;
@@ -2891,9 +2885,7 @@ u_undoredo(int undo)
      * the undone/redone change. */
     curbuf->b_u_time_cur = curhead->uh_time;
 
-#ifdef FEAT_AUTOCMD
     unblock_autocmds();
-#endif
 #ifdef U_DEBUG
     u_check(FALSE);
 #endif
index 58a6b78aa7cd55c2b1b08acfcb1310264d04371e..f9b0e81923ba13a4bbfd5abaaaba6a948e00c260 100644 (file)
@@ -1372,7 +1372,6 @@ call_func(
            else
                fp = find_func(rfname);
 
-#ifdef FEAT_AUTOCMD
            /* Trigger FuncUndefined event, may load the function. */
            if (fp == NULL
                    && apply_autocmds(EVENT_FUNCUNDEFINED,
@@ -1382,7 +1381,6 @@ call_func(
                /* executed an autocommand, search for the function again */
                fp = find_func(rfname);
            }
-#endif
            /* Try loading a package. */
            if (fp == NULL && script_autoload(rfname, TRUE) && !aborting())
            {
index c780826e659ea6d27e698a9af0751484df2b2dfa..18d50af015b78f34bb362c7ac05a6d2a642531b6 100644 (file)
@@ -78,11 +78,7 @@ static char *(features[]) =
 #else
        "-arabic",
 #endif
-#ifdef FEAT_AUTOCMD
        "+autocmd",
-#else
-       "-autocmd",
-#endif
 #ifdef FEAT_AUTOSERVERNAME
        "+autoservername",
 #else
@@ -778,6 +774,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1564,
 /**/
     1563,
 /**/
index 5e9f7d6d1e498fd0994595b327696682abb855ab..f0d29afd0fa2819cd9c6ca692ab7bf366eddae53 100644 (file)
--- a/src/vim.h
+++ b/src/vim.h
@@ -2118,6 +2118,20 @@ typedef enum {
 # define USE_MCH_ERRMSG
 #endif
 
+/* Whether IME is supported when XIM is not used. */
+# if defined(FEAT_MBYTE_IME) && \
+    (!defined(FEAT_GUI_W32) || !(defined(FEAT_MBYTE_IME) || defined(GLOBAL_IME)))
+# define IME_WITHOUT_XIM
+#endif
+
+#if defined(FEAT_MBYTE) && (defined(FEAT_XIM) \
+       || defined(IME_WITHOUT_XIM) \
+       || defined(FEAT_GUI_W32) \
+       || defined(MACOS_CONVERT))
+/* im_set_active() is available */
+# define HAVE_INPUT_METHOD
+#endif
+
 #ifndef FEAT_MBYTE
 # define after_pathsep(b, p)   vim_ispathsep(*((p) - 1))
 # define transchar_byte(c)     transchar(c)
index 40a4607d0f3c52fe9ca3d252535fbaa8d06eef84..23c324b5b1cf796a7dd2e268704c0f3746acfe63 100644 (file)
@@ -1437,13 +1437,11 @@ make_windows(
     if (count > 1)
        last_status(TRUE);
 
-#ifdef FEAT_AUTOCMD
     /*
      * Don't execute autocommands while creating the windows.  Must do that
      * when putting the buffers in the windows.
      */
     block_autocmds();
-#endif
 
     /* todo is number of windows left to create */
     for (todo = count - 1; todo > 0; --todo)
@@ -1461,9 +1459,7 @@ make_windows(
                break;
        }
 
-#ifdef FEAT_AUTOCMD
     unblock_autocmds();
-#endif
 
     /* return actual number of windows */
     return (count - todo);
@@ -2104,19 +2100,14 @@ close_windows(
     win_T      *wp;
     tabpage_T   *tp, *nexttp;
     int                h = tabline_height();
-#ifdef FEAT_AUTOCMD
     int                count = tabpage_index(NULL);
-#endif
 
     ++RedrawingDisabled;
 
     for (wp = firstwin; wp != NULL && !ONE_WINDOW; )
     {
        if (wp->w_buffer == buf && (!keep_curwin || wp != curwin)
-#ifdef FEAT_AUTOCMD
-               && !(wp->w_closing || wp->w_buffer->b_locked > 0)
-#endif
-               )
+               && !(wp->w_closing || wp->w_buffer->b_locked > 0))
        {
            if (win_close(wp, FALSE) == FAIL)
                /* If closing the window fails give up, to avoid looping
@@ -2137,10 +2128,7 @@ close_windows(
        if (tp != curtab)
            for (wp = tp->tp_firstwin; wp != NULL; wp = wp->w_next)
                if (wp->w_buffer == buf
-#ifdef FEAT_AUTOCMD
-                   && !(wp->w_closing || wp->w_buffer->b_locked > 0)
-#endif
-                   )
+                   && !(wp->w_closing || wp->w_buffer->b_locked > 0))
                {
                    win_close_othertab(wp, FALSE, tp);
 
@@ -2153,10 +2141,8 @@ close_windows(
 
     --RedrawingDisabled;
 
-#ifdef FEAT_AUTOCMD
     if (count != tabpage_index(NULL))
        apply_autocmds(EVENT_TABCLOSED, NULL, NULL, FALSE, curbuf);
-#endif
 
     redraw_tabline = TRUE;
     if (h != tabline_height())
@@ -2181,7 +2167,6 @@ last_window(void)
     int
 one_window(void)
 {
-#ifdef FEAT_AUTOCMD
     win_T      *wp;
     int                seen_one = FALSE;
 
@@ -2195,9 +2180,6 @@ one_window(void)
        }
     }
     return TRUE;
-#else
-    return ONE_WINDOW;
-#endif
 }
 
 /*
@@ -2212,9 +2194,7 @@ close_last_window_tabpage(
 {
     if (ONE_WINDOW)
     {
-#ifdef FEAT_AUTOCMD
        buf_T   *old_curbuf = curbuf;
-#endif
 
        /*
         * Closing the last window in a tab page.  First go to another tab
@@ -2239,13 +2219,11 @@ close_last_window_tabpage(
        }
        /* Since goto_tabpage_tp above did not trigger *Enter autocommands, do
         * that now. */
-#ifdef FEAT_AUTOCMD
        apply_autocmds(EVENT_TABCLOSED, NULL, NULL, FALSE, curbuf);
        apply_autocmds(EVENT_WINENTER, NULL, NULL, FALSE, curbuf);
        apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
        if (old_curbuf != curbuf)
            apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
-#endif
        return TRUE;
     }
     return FALSE;
@@ -2262,9 +2240,7 @@ close_last_window_tabpage(
 win_close(win_T *win, int free_buf)
 {
     win_T      *wp;
-#ifdef FEAT_AUTOCMD
     int                other_buffer = FALSE;
-#endif
     int                close_curwin = FALSE;
     int                dir;
     int                help_window = FALSE;
@@ -2277,7 +2253,6 @@ win_close(win_T *win, int free_buf)
        return FAIL;
     }
 
-#ifdef FEAT_AUTOCMD
     if (win->w_closing || (win->w_buffer != NULL
                                               && win->w_buffer->b_locked > 0))
        return FAIL; /* window is already being closed */
@@ -2291,7 +2266,6 @@ win_close(win_T *win, int free_buf)
        EMSG(_("E814: Cannot close window, only autocmd window would remain"));
        return FAIL;
     }
-#endif
 
     /* When closing the last window in a tab page first go to another tab page
      * and then close the window and the tab page to avoid that curwin and
@@ -2306,7 +2280,6 @@ win_close(win_T *win, int free_buf)
     else
        clear_snapshot(curtab, SNAP_HELP_IDX);
 
-#ifdef FEAT_AUTOCMD
     if (win == curwin)
     {
        /*
@@ -2337,13 +2310,12 @@ win_close(win_T *win, int free_buf)
        win->w_closing = FALSE;
        if (last_window())
            return FAIL;
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
        /* autocmds may abort script processing */
        if (aborting())
            return FAIL;
-# endif
-    }
 #endif
+    }
 
 #ifdef FEAT_GUI
     /* Avoid trouble with scrollbars that are going to be deleted in
@@ -2366,14 +2338,10 @@ win_close(win_T *win, int free_buf)
        bufref_T    bufref;
 
        set_bufref(&bufref, curbuf);
-#ifdef FEAT_AUTOCMD
        win->w_closing = TRUE;
-#endif
        close_buffer(win, win->w_buffer, free_buf ? DOBUF_UNLOAD : 0, TRUE);
-#ifdef FEAT_AUTOCMD
        if (win_valid_any_tab(win))
            win->w_closing = FALSE;
-#endif
        /* Make sure curbuf is valid. It can become invalid if 'bufhidden' is
         * "wipe". */
        if (!bufref_valid(&bufref))
@@ -2455,11 +2423,9 @@ win_close(win_T *win, int free_buf)
     if (close_curwin)
     {
        win_enter_ext(wp, FALSE, TRUE, FALSE, TRUE, TRUE);
-#ifdef FEAT_AUTOCMD
        if (other_buffer)
            /* careful: after this wp and win may be invalid! */
            apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
-#endif
     }
 
     /*
@@ -2498,13 +2464,11 @@ win_close_othertab(win_T *win, int free_buf, tabpage_T *tp)
     tabpage_T   *ptp = NULL;
     int                free_tp = FALSE;
 
-#ifdef FEAT_AUTOCMD
     /* Get here with win->w_buffer == NULL when win_close() detects the tab
      * page changed. */
     if (win->w_closing || (win->w_buffer != NULL
                                               && win->w_buffer->b_locked > 0))
        return; /* window is already being closed */
-#endif
 
     if (win->w_buffer != NULL)
        /* Close the link to the buffer. */
@@ -2586,13 +2550,11 @@ win_free_all(void)
     while (first_tabpage->tp_next != NULL)
        tabpage_close(TRUE);
 
-# ifdef FEAT_AUTOCMD
     if (aucmd_win != NULL)
     {
        (void)win_free_mem(aucmd_win, &dummy, NULL);
        aucmd_win = NULL;
     }
-# endif
 
     while (firstwin != NULL)
        (void)win_free_mem(firstwin, &dummy, NULL);
@@ -3331,11 +3293,7 @@ close_others(
 
     if (one_window())
     {
-       if (message
-#ifdef FEAT_AUTOCMD
-                   && !autocmd_busy
-#endif
-                                   )
+       if (message && !autocmd_busy)
            MSG(_(m_onlyone));
        return;
     }
@@ -3349,26 +3307,22 @@ close_others(
 
            /* Check if it's allowed to abandon this window */
            r = can_abandon(wp->w_buffer, forceit);
-#ifdef FEAT_AUTOCMD
            if (!win_valid(wp))         /* autocommands messed wp up */
            {
                nextwp = firstwin;
                continue;
            }
-#endif
            if (!r)
            {
 #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
                if (message && (p_confirm || cmdmod.confirm) && p_write)
                {
                    dialog_changed(wp->w_buffer, FALSE);
-# ifdef FEAT_AUTOCMD
                    if (!win_valid(wp))         /* autocommands messed wp up */
                    {
                        nextwp = firstwin;
                        continue;
                    }
-# endif
                }
                if (bufIsChanged(wp->w_buffer))
 #endif
@@ -3443,7 +3397,6 @@ win_alloc_first(void)
     return OK;
 }
 
-#if defined(FEAT_AUTOCMD) || defined(PROTO)
 /*
  * Init "aucmd_win".  This can only be done after the first
  * window is fully initialized, thus it can't be in win_alloc_first().
@@ -3459,7 +3412,6 @@ win_alloc_aucmd_win(void)
        new_frame(aucmd_win);
     }
 }
-#endif
 
 /*
  * Allocate the first window or the first window in a new tab page.
@@ -3663,12 +3615,10 @@ win_new_tabpage(int after)
 #endif
 
        redraw_all_later(CLEAR);
-#ifdef FEAT_AUTOCMD
        apply_autocmds(EVENT_WINNEW, NULL, NULL, FALSE, curbuf);
        apply_autocmds(EVENT_WINENTER, NULL, NULL, FALSE, curbuf);
        apply_autocmds(EVENT_TABNEW, NULL, NULL, FALSE, curbuf);
        apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
-#endif
        return OK;
     }
 
@@ -3710,21 +3660,17 @@ make_tabpages(int maxcount)
     if (count > p_tpm)
        count = p_tpm;
 
-#ifdef FEAT_AUTOCMD
     /*
      * Don't execute autocommands while creating the tab pages.  Must do that
      * when putting the buffers in the windows.
      */
     block_autocmds();
-#endif
 
     for (todo = count - 1; todo > 0; --todo)
        if (win_new_tabpage(0) == FAIL)
            break;
 
-#ifdef FEAT_AUTOCMD
     unblock_autocmds();
-#endif
 
     /* return actual number of tab pages */
     return (count - todo);
@@ -3841,7 +3787,6 @@ leave_tabpage(
     tabpage_T  *tp = curtab;
 
     reset_VIsual_and_resel();  /* stop Visual mode */
-#ifdef FEAT_AUTOCMD
     if (trigger_leave_autocmds)
     {
        if (new_curbuf != curbuf)
@@ -3857,7 +3802,6 @@ leave_tabpage(
        if (curtab != tp)
            return FAIL;
     }
-#endif
 #if defined(FEAT_GUI)
     /* Remove the scrollbars.  They may be added back later. */
     if (gui.in_use)
@@ -3929,7 +3873,6 @@ enter_tabpage(
     gui_may_update_scrollbars();
 #endif
 
-#ifdef FEAT_AUTOCMD
     /* Apply autocommands after updating the display, when 'rows' and
      * 'columns' have been set correctly. */
     if (trigger_enter_autocmds)
@@ -3938,7 +3881,6 @@ enter_tabpage(
        if (old_curbuf != curbuf)
            apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
     }
-#endif
 
     redraw_all_later(CLEAR);
 }
@@ -4131,10 +4073,8 @@ win_goto(win_T *wp)
        text_locked_msg();
        return;
     }
-#ifdef FEAT_AUTOCMD
     if (curbuf_locked())
        return;
-#endif
 
     if (wp->w_buffer != curbuf)
        reset_VIsual_and_resel();
@@ -4337,14 +4277,11 @@ win_enter_ext(
     int                trigger_enter_autocmds UNUSED,
     int                trigger_leave_autocmds UNUSED)
 {
-#ifdef FEAT_AUTOCMD
     int                other_buffer = FALSE;
-#endif
 
     if (wp == curwin && !curwin_invalid)       /* nothing to do */
        return;
 
-#ifdef FEAT_AUTOCMD
     if (!curwin_invalid && trigger_leave_autocmds)
     {
        /*
@@ -4360,13 +4297,12 @@ win_enter_ext(
        apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf);
        if (!win_valid(wp))
            return;
-# ifdef FEAT_EVAL
+#ifdef FEAT_EVAL
        /* autocmds may abort script processing */
        if (aborting())
            return;
-# endif
-    }
 #endif
+    }
 
     /* sync undo before leaving the current buffer */
     if (undo_sync && curbuf != wp->w_buffer)
@@ -4417,7 +4353,6 @@ win_enter_ext(
        shorten_fnames(TRUE);
     }
 
-#ifdef FEAT_AUTOCMD
     if (trigger_new_autocmds)
        apply_autocmds(EVENT_WINNEW, NULL, NULL, FALSE, curbuf);
     if (trigger_enter_autocmds)
@@ -4426,7 +4361,6 @@ win_enter_ext(
        if (other_buffer)
            apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
     }
-#endif
 
 #ifdef FEAT_TITLE
     maketitle();
@@ -4544,12 +4478,11 @@ win_alloc(win_T *after UNUSED, int hidden UNUSED)
     init_var_dict(new_wp->w_vars, &new_wp->w_winvar, VAR_SCOPE);
 #endif
 
-#ifdef FEAT_AUTOCMD
     /* Don't execute autocommands while the window is not properly
      * initialized yet.  gui_create_scrollbar() may trigger a FocusGained
      * event. */
     block_autocmds();
-#endif
+
     /*
      * link the window in the window list
      */
@@ -4585,9 +4518,7 @@ win_alloc(win_T *after UNUSED, int hidden UNUSED)
 #ifdef FEAT_FOLDING
     foldInitWin(new_wp);
 #endif
-#ifdef FEAT_AUTOCMD
     unblock_autocmds();
-#endif
 #ifdef FEAT_SEARCH_EXTRA
     new_wp->w_match_head = NULL;
     new_wp->w_next_match_id = 4;
@@ -4614,11 +4545,9 @@ win_free(
     /* reduce the reference count to the argument list. */
     alist_unlink(wp->w_alist);
 
-#ifdef FEAT_AUTOCMD
     /* Don't execute autocommands while the window is halfway being deleted.
      * gui_mch_destroy_scrollbar() may trigger a FocusGained event. */
     block_autocmds();
-#endif
 
 #ifdef FEAT_LUA
     lua_window_free(wp);
@@ -4708,23 +4637,17 @@ win_free(
     vim_free(wp->w_p_cc_cols);
 #endif
 
-#ifdef FEAT_AUTOCMD
     if (wp != aucmd_win)
-#endif
        win_remove(wp, tp);
-#ifdef FEAT_AUTOCMD
     if (autocmd_busy)
     {
        wp->w_next = au_pending_free_win;
        au_pending_free_win = wp;
     }
     else
-#endif
        vim_free(wp);
 
-#ifdef FEAT_AUTOCMD
     unblock_autocmds();
-#endif
 }
 
 /*
@@ -6426,11 +6349,7 @@ only_one_window(void)
 # ifdef FEAT_QUICKFIX
                    || wp->w_p_pvw
 # endif
-            ) || wp == curwin)
-# ifdef FEAT_AUTOCMD
-               && wp != aucmd_win
-# endif
-          )
+            ) || wp == curwin) && wp != aucmd_win)
            ++count;
     return (count <= 1);
 }
@@ -6613,9 +6532,7 @@ switch_win(
     tabpage_T  *tp,
     int                no_display)
 {
-# ifdef FEAT_AUTOCMD
     block_autocmds();
-# endif
     *save_curwin = curwin;
     if (tp != NULL)
     {
@@ -6667,9 +6584,7 @@ restore_win(
        curwin = save_curwin;
        curbuf = curwin->w_buffer;
     }
-# ifdef FEAT_AUTOCMD
     unblock_autocmds();
-# endif
 }
 
 /*
@@ -6679,9 +6594,7 @@ restore_win(
     void
 switch_buffer(bufref_T *save_curbuf, buf_T *buf)
 {
-# ifdef FEAT_AUTOCMD
     block_autocmds();
-# endif
     set_bufref(save_curbuf, curbuf);
     --curbuf->b_nwindows;
     curbuf = buf;
@@ -6695,9 +6608,7 @@ switch_buffer(bufref_T *save_curbuf, buf_T *buf)
     void
 restore_buffer(bufref_T *save_curbuf)
 {
-# ifdef FEAT_AUTOCMD
     unblock_autocmds();
-# endif
     /* Check for valid buffer, just in case. */
     if (bufref_valid(save_curbuf))
     {