patch 8.2.4045: some global functions are only used in one file
Problem: Some global functions are only used in one file.
Solution: Make the functions static. (Yegappan Lakshmanan, closes #9492)
diff --git a/src/ex_getln.c b/src/ex_getln.c
index ede0f20..c63c896 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -4095,7 +4095,33 @@
if (pos >= 0)
rettv->vval.v_number = set_cmdline_pos(pos);
}
+#endif
+#if defined(FEAT_EVAL) || defined(FEAT_CMDWIN)
+/*
+ * 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.
+ */
+ static int
+get_cmdline_type(void)
+{
+ cmdline_info_T *p = get_ccline_ptr();
+
+ if (p == NULL)
+ return NUL;
+ if (p->cmdfirstc == NUL)
+ return
+# ifdef FEAT_EVAL
+ (p->input_fn) ? '@' :
+# endif
+ '-';
+ return p->cmdfirstc;
+}
+#endif
+
+#if defined(FEAT_EVAL) || defined(PROTO)
/*
* "getcmdtype()" function
*/
@@ -4113,30 +4139,6 @@
#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)
-{
- cmdline_info_T *p = get_ccline_ptr();
-
- if (p == NULL)
- return NUL;
- if (p->cmdfirstc == NUL)
- return
-# ifdef FEAT_EVAL
- (p->input_fn) ? '@' :
-# endif
- '-';
- return p->cmdfirstc;
-}
-#endif
-
/*
* Return the first character of the current command line.
*/
diff --git a/src/highlight.c b/src/highlight.c
index efbc5b1..a8af2b1 100644
--- a/src/highlight.c
+++ b/src/highlight.c
@@ -460,6 +460,21 @@
#endif
}
+#if defined(FEAT_EVAL) && (defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS))
+/*
+ * Load a default color list. Intended to support legacy color names but allows
+ * the user to override the color values. Only loaded once.
+ */
+ static void
+load_default_colors_lists()
+{
+ // Lacking a default color list isn't the end of the world but it is likely
+ // an inconvenience so users should know when it is missing.
+ if (source_runtime((char_u *)"colors/lists/default.vim", DIP_ALL) != OK)
+ msg("failed to load colors/lists/default.vim");
+}
+#endif
+
/*
* Load color file "name".
* Return OK for success, FAIL for failure.
@@ -2272,7 +2287,7 @@
return 0x1ffffff;
}
- guicolor_T
+ static guicolor_T
decode_hex_color(char_u *hex)
{
guicolor_T color;
@@ -2294,7 +2309,7 @@
// such name exists in the color table. The convention is to use lowercase for
// all keys in the v:colornames dictionary. The value can be either a string in
// the form #rrggbb or a number, either of which is converted to a guicolor_T.
- guicolor_T
+ static guicolor_T
colorname2rgb(char_u *name)
{
dict_T *colornames_table = get_vim_var_dict(VV_COLORNAMES);
@@ -2335,18 +2350,6 @@
return INVALCOLOR;
}
-/*
- * Load a default color list. Intended to support legacy color names but allows
- * the user to override the color values. Only loaded once.
- */
- void
-load_default_colors_lists()
-{
- // Lacking a default color list isn't the end of the world but it is likely
- // an inconvenience so users should know when it is missing.
- if (source_runtime((char_u *)"colors/lists/default.vim", DIP_ALL) != OK)
- msg("failed to load colors/lists/default.vim");
-}
#endif
guicolor_T
diff --git a/src/proto/ex_getln.pro b/src/proto/ex_getln.pro
index d56893a..f97719b 100644
--- a/src/proto/ex_getln.pro
+++ b/src/proto/ex_getln.pro
@@ -34,7 +34,6 @@
void f_getcmdpos(typval_T *argvars, typval_T *rettv);
void f_setcmdpos(typval_T *argvars, typval_T *rettv);
void f_getcmdtype(typval_T *argvars, typval_T *rettv);
-int get_cmdline_type(void);
int get_cmdline_firstc(void);
int get_list_range(char_u **str, int *num1, int *num2);
char *check_cedit(void);
diff --git a/src/proto/highlight.pro b/src/proto/highlight.pro
index b17f40d..5635a17 100644
--- a/src/proto/highlight.pro
+++ b/src/proto/highlight.pro
@@ -14,9 +14,6 @@
void hl_set_bg_color_name(char_u *name);
void hl_set_fg_color_name(char_u *name);
guicolor_T color_name2handle(char_u *name);
-guicolor_T decode_hex_color(char_u *hex);
-guicolor_T colorname2rgb(char_u *name);
-void load_default_colors_lists(void);
guicolor_T gui_get_color_cmn(char_u *name);
guicolor_T gui_get_rgb_color_cmn(int r, int g, int b);
int get_cterm_attr_idx(int attr, int fg, int bg);
diff --git a/src/proto/vim9compile.pro b/src/proto/vim9compile.pro
index 33290d0..98c40c8 100644
--- a/src/proto/vim9compile.pro
+++ b/src/proto/vim9compile.pro
@@ -8,7 +8,6 @@
lvar_T *reserve_local(cctx_T *cctx, char_u *name, size_t len, int isConst, type_T *type);
int get_script_item_idx(int sid, char_u *name, int check_writable, cctx_T *cctx);
imported_T *find_imported(char_u *name, size_t len, cctx_T *cctx);
-imported_T *find_imported_in_script(char_u *name, size_t len, int sid);
char_u *may_peek_next_line(cctx_T *cctx, char_u *arg, char_u **nextp);
char_u *peek_next_line_from_context(cctx_T *cctx);
char_u *next_line_from_context(cctx_T *cctx, int skip_comment);
diff --git a/src/proto/vim9instr.pro b/src/proto/vim9instr.pro
index b20dcf7..c945500 100644
--- a/src/proto/vim9instr.pro
+++ b/src/proto/vim9instr.pro
@@ -1,7 +1,6 @@
/* vim9instr.c */
isn_T *generate_instr(cctx_T *cctx, isntype_T isn_type);
isn_T *generate_instr_drop(cctx_T *cctx, isntype_T isn_type, int drop);
-isn_T *generate_instr_type2(cctx_T *cctx, isntype_T isn_type, type_T *type, type_T *decl_type);
isn_T *generate_instr_type(cctx_T *cctx, isntype_T isn_type, type_T *type);
isn_T *generate_instr_debug(cctx_T *cctx);
int may_generate_2STRING(int offset, int tolerant, cctx_T *cctx);
@@ -28,9 +27,7 @@
int generate_SLICE(cctx_T *cctx, int count);
int generate_CHECKLEN(cctx_T *cctx, int min_len, int more_OK);
int generate_STORE(cctx_T *cctx, isntype_T isn_type, int idx, char_u *name);
-int generate_STOREOUTER(cctx_T *cctx, int idx, int level);
int generate_STORENR(cctx_T *cctx, int idx, varnumber_T value);
-int generate_STOREOPT(cctx_T *cctx, isntype_T isn_type, char_u *name, int opt_flags);
int generate_LOAD(cctx_T *cctx, isntype_T isn_type, int idx, char_u *name, type_T *type);
int generate_LOADOUTER(cctx_T *cctx, int idx, int nesting, type_T *type);
int generate_LOADV(cctx_T *cctx, char_u *name, int error);
diff --git a/src/proto/window.pro b/src/proto/window.pro
index 740d310..654d36a 100644
--- a/src/proto/window.pro
+++ b/src/proto/window.pro
@@ -43,7 +43,6 @@
win_T *win_vert_neighbor(tabpage_T *tp, win_T *wp, int up, long count);
win_T *win_horz_neighbor(tabpage_T *tp, win_T *wp, int left, long count);
void win_enter(win_T *wp, int undo_sync);
-void fix_current_dir(void);
win_T *buf_jump_open_win(buf_T *buf);
win_T *buf_jump_open_tab(buf_T *buf);
void win_free_popup(win_T *win);
diff --git a/src/version.c b/src/version.c
index 86ab085..a1dea1f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4045,
+/**/
4044,
/**/
4043,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 90d7adb..11e3226 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -557,6 +557,27 @@
return -1;
}
+ static imported_T *
+find_imported_in_script(char_u *name, size_t len, int sid)
+{
+ scriptitem_T *si;
+ int idx;
+
+ if (!SCRIPT_ID_VALID(sid))
+ return NULL;
+ si = SCRIPT_ITEM(sid);
+ for (idx = 0; idx < si->sn_imports.ga_len; ++idx)
+ {
+ imported_T *import = ((imported_T *)si->sn_imports.ga_data) + idx;
+
+ if (len == 0 ? STRCMP(name, import->imp_name) == 0
+ : STRLEN(import->imp_name) == len
+ && STRNCMP(name, import->imp_name, len) == 0)
+ return import;
+ }
+ return NULL;
+}
+
/*
* Find "name" in imported items of the current script or in "cctx" if not
* NULL.
@@ -583,27 +604,6 @@
return find_imported_in_script(name, len, current_sctx.sc_sid);
}
- imported_T *
-find_imported_in_script(char_u *name, size_t len, int sid)
-{
- scriptitem_T *si;
- int idx;
-
- if (!SCRIPT_ID_VALID(sid))
- return NULL;
- si = SCRIPT_ITEM(sid);
- for (idx = 0; idx < si->sn_imports.ga_len; ++idx)
- {
- imported_T *import = ((imported_T *)si->sn_imports.ga_data) + idx;
-
- if (len == 0 ? STRCMP(name, import->imp_name) == 0
- : STRLEN(import->imp_name) == len
- && STRNCMP(name, import->imp_name, len) == 0)
- return import;
- }
- return NULL;
-}
-
/*
* Free all imported variables.
*/
diff --git a/src/vim9instr.c b/src/vim9instr.c
index 4961695..8ce32a7 100644
--- a/src/vim9instr.c
+++ b/src/vim9instr.c
@@ -66,7 +66,7 @@
* Generate instruction "isn_type" and put "type" on the type stack,
* use "decl_type" for the declared type.
*/
- isn_T *
+ static isn_T *
generate_instr_type2(
cctx_T *cctx,
isntype_T isn_type,
@@ -828,7 +828,7 @@
/*
* Generate an ISN_STOREOUTER instruction.
*/
- int
+ static int
generate_STOREOUTER(cctx_T *cctx, int idx, int level)
{
isn_T *isn;
@@ -862,7 +862,7 @@
/*
* Generate an ISN_STOREOPT or ISN_STOREFUNCOPT instruction
*/
- int
+ static int
generate_STOREOPT(
cctx_T *cctx,
isntype_T isn_type,
diff --git a/src/window.c b/src/window.c
index 6d5d0a4..05e85ba 100644
--- a/src/window.c
+++ b/src/window.c
@@ -4735,6 +4735,54 @@
}
/*
+ * Used after making another window the current one: change directory if
+ * needed.
+ */
+ static void
+fix_current_dir(void)
+{
+#ifdef FEAT_AUTOCHDIR
+ if (p_acd)
+ do_autochdir();
+ else
+#endif
+ if (curwin->w_localdir != NULL || curtab->tp_localdir != NULL)
+ {
+ char_u *dirname;
+
+ // Window or tab has a local directory: Save current directory as
+ // global directory (unless that was done already) and change to the
+ // local directory.
+ if (globaldir == NULL)
+ {
+ char_u cwd[MAXPATHL];
+
+ if (mch_dirname(cwd, MAXPATHL) == OK)
+ globaldir = vim_strsave(cwd);
+ }
+ if (curwin->w_localdir != NULL)
+ dirname = curwin->w_localdir;
+ else
+ dirname = curtab->tp_localdir;
+
+ if (mch_chdir((char *)dirname) == 0)
+ {
+ last_chdir_reason = NULL;
+ shorten_fnames(TRUE);
+ }
+ }
+ else if (globaldir != NULL)
+ {
+ // Window doesn't have a local directory and we are not in the global
+ // directory: Change to the global directory.
+ vim_ignored = mch_chdir((char *)globaldir);
+ VIM_CLEAR(globaldir);
+ last_chdir_reason = NULL;
+ shorten_fnames(TRUE);
+ }
+}
+
+/*
* Make window "wp" the current window.
* Can be called with "flags" containing WEE_CURWIN_INVALID, which means that
* curwin has just been closed and isn't valid.
@@ -4859,54 +4907,6 @@
}
/*
- * Used after making another window the current one: change directory if
- * needed.
- */
- void
-fix_current_dir(void)
-{
-#ifdef FEAT_AUTOCHDIR
- if (p_acd)
- do_autochdir();
- else
-#endif
- if (curwin->w_localdir != NULL || curtab->tp_localdir != NULL)
- {
- char_u *dirname;
-
- // Window or tab has a local directory: Save current directory as
- // global directory (unless that was done already) and change to the
- // local directory.
- if (globaldir == NULL)
- {
- char_u cwd[MAXPATHL];
-
- if (mch_dirname(cwd, MAXPATHL) == OK)
- globaldir = vim_strsave(cwd);
- }
- if (curwin->w_localdir != NULL)
- dirname = curwin->w_localdir;
- else
- dirname = curtab->tp_localdir;
-
- if (mch_chdir((char *)dirname) == 0)
- {
- last_chdir_reason = NULL;
- shorten_fnames(TRUE);
- }
- }
- else if (globaldir != NULL)
- {
- // Window doesn't have a local directory and we are not in the global
- // directory: Change to the global directory.
- vim_ignored = mch_chdir((char *)globaldir);
- VIM_CLEAR(globaldir);
- last_chdir_reason = NULL;
- shorten_fnames(TRUE);
- }
-}
-
-/*
* Jump to the first open window that contains buffer "buf", if one exists.
* Returns a pointer to the window found, otherwise NULL.
*/