changeset 8645:f4819f0fc5ad v7.4.1612

commit https://github.com/vim/vim/commit/d293b2b9d43ee4b7b48ca6974202cbf319438975 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 19 22:29:49 2016 +0100 patch 7.4.1612 Problem: Can't build with small features. Solution: Move code and #ifdefs.
author Christian Brabandt <cb@256bit.org>
date Sat, 19 Mar 2016 22:30:04 +0100
parents 1a10628841db
children 2cebcdc44e20
files src/ex_getln.c src/version.c
diffstat 2 files changed, 94 insertions(+), 90 deletions(-) [+]
line wrap: on
line diff
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -5653,96 +5653,6 @@ get_history_idx(int histype)
     return history[histype][hisidx[histype]].hisnum;
 }
 
-static struct cmdline_info *get_ccline_ptr(void);
-
-/*
- * Get pointer to the command line info to use. cmdline_paste() may clear
- * ccline and put the previous value in prev_ccline.
- */
-    static struct cmdline_info *
-get_ccline_ptr(void)
-{
-    if ((State & CMDLINE) == 0)
-	return NULL;
-    if (ccline.cmdbuff != NULL)
-	return &ccline;
-    if (prev_ccline_used && prev_ccline.cmdbuff != NULL)
-	return &prev_ccline;
-    return NULL;
-}
-
-/*
- * Get the current command line in allocated memory.
- * Only works when the command line is being edited.
- * Returns NULL when something is wrong.
- */
-    char_u *
-get_cmdline_str(void)
-{
-    struct cmdline_info *p = get_ccline_ptr();
-
-    if (p == NULL)
-	return NULL;
-    return vim_strnsave(p->cmdbuff, p->cmdlen);
-}
-
-/*
- * Get the current command line position, counted in bytes.
- * Zero is the first position.
- * Only works when the command line is being edited.
- * Returns -1 when something is wrong.
- */
-    int
-get_cmdline_pos(void)
-{
-    struct cmdline_info *p = get_ccline_ptr();
-
-    if (p == NULL)
-	return -1;
-    return p->cmdpos;
-}
-
-/*
- * Set the command line byte position to "pos".  Zero is the first position.
- * Only works when the command line is being edited.
- * Returns 1 when failed, 0 when OK.
- */
-    int
-set_cmdline_pos(
-    int		pos)
-{
-    struct cmdline_info *p = get_ccline_ptr();
-
-    if (p == NULL)
-	return 1;
-
-    /* The position is not set directly but after CTRL-\ e or CTRL-R = has
-     * changed the command line. */
-    if (pos < 0)
-	new_cmdpos = 0;
-    else
-	new_cmdpos = pos;
-    return 0;
-}
-
-/*
- * Get the current command-line type.
- * Returns ':' or '/' or '?' or '@' or '>' or '-'
- * Only works when the command line is being edited.
- * Returns NUL when something is wrong.
- */
-    int
-get_cmdline_type(void)
-{
-    struct cmdline_info *p = get_ccline_ptr();
-
-    if (p == NULL)
-	return NUL;
-    if (p->cmdfirstc == NUL)
-	return (p->input_fn) ? '@' : '-';
-    return p->cmdfirstc;
-}
-
 /*
  * Calculate history index from a number:
  *   num > 0: seen as identifying number of a history entry
@@ -5951,6 +5861,98 @@ remove_key_from_history(void)
 
 #endif /* FEAT_CMDHIST */
 
+#if defined(FEAT_EVAL) || defined(PROTO)
+/*
+ * Get pointer to the command line info to use. cmdline_paste() may clear
+ * ccline and put the previous value in prev_ccline.
+ */
+    static struct cmdline_info *
+get_ccline_ptr(void)
+{
+    if ((State & CMDLINE) == 0)
+	return NULL;
+    if (ccline.cmdbuff != NULL)
+	return &ccline;
+    if (prev_ccline_used && prev_ccline.cmdbuff != NULL)
+	return &prev_ccline;
+    return NULL;
+}
+
+/*
+ * Get the current command line in allocated memory.
+ * Only works when the command line is being edited.
+ * Returns NULL when something is wrong.
+ */
+    char_u *
+get_cmdline_str(void)
+{
+    struct cmdline_info *p = get_ccline_ptr();
+
+    if (p == NULL)
+	return NULL;
+    return vim_strnsave(p->cmdbuff, p->cmdlen);
+}
+
+/*
+ * Get the current command line position, counted in bytes.
+ * Zero is the first position.
+ * Only works when the command line is being edited.
+ * Returns -1 when something is wrong.
+ */
+    int
+get_cmdline_pos(void)
+{
+    struct cmdline_info *p = get_ccline_ptr();
+
+    if (p == NULL)
+	return -1;
+    return p->cmdpos;
+}
+
+/*
+ * Set the command line byte position to "pos".  Zero is the first position.
+ * Only works when the command line is being edited.
+ * Returns 1 when failed, 0 when OK.
+ */
+    int
+set_cmdline_pos(
+    int		pos)
+{
+    struct cmdline_info *p = get_ccline_ptr();
+
+    if (p == NULL)
+	return 1;
+
+    /* The position is not set directly but after CTRL-\ e or CTRL-R = has
+     * changed the command line. */
+    if (pos < 0)
+	new_cmdpos = 0;
+    else
+	new_cmdpos = pos;
+    return 0;
+}
+#endif
+
+#if defined(FEAT_EVAL) || defined(FEAT_CMDWIN) || defined(PROTO)
+/*
+ * Get the current command-line type.
+ * Returns ':' or '/' or '?' or '@' or '>' or '-'
+ * Only works when the command line is being edited.
+ * Returns NUL when something is wrong.
+ */
+    int
+get_cmdline_type(void)
+{
+    struct cmdline_info *p = get_ccline_ptr();
+
+    if (p == NULL)
+	return NUL;
+    if (p->cmdfirstc == NUL)
+	return (p->input_fn) ? '@' : '-';
+    return p->cmdfirstc;
+}
+#endif
+
 #if defined(FEAT_QUICKFIX) || defined(FEAT_CMDHIST) || defined(PROTO)
 /*
  * Get indices "num1,num2" that specify a range within a list (not a range of
--- a/src/version.c
+++ b/src/version.c
@@ -749,6 +749,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1612,
+/**/
     1611,
 /**/
     1610,