mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
updated for version 7.2-126
This commit is contained in:
parent
e4bfca808d
commit
de0dfed701
@ -6541,6 +6541,7 @@ static sign_T *first_sign = NULL;
|
||||
static int last_sign_typenr = MAX_TYPENR; /* is decremented */
|
||||
|
||||
static void sign_list_defined __ARGS((sign_T *sp));
|
||||
static void sign_undefine __ARGS((sign_T *sp, sign_T *sp_prev));
|
||||
|
||||
/*
|
||||
* ":sign" command
|
||||
@ -6749,24 +6750,8 @@ ex_sign(eap)
|
||||
/* ":sign list {name}" */
|
||||
sign_list_defined(sp);
|
||||
else
|
||||
{
|
||||
/* ":sign undefine {name}" */
|
||||
vim_free(sp->sn_name);
|
||||
vim_free(sp->sn_icon);
|
||||
#ifdef FEAT_SIGN_ICONS
|
||||
if (sp->sn_image != NULL)
|
||||
{
|
||||
out_flush();
|
||||
gui_mch_destroy_sign(sp->sn_image);
|
||||
}
|
||||
#endif
|
||||
vim_free(sp->sn_text);
|
||||
if (sp_prev == NULL)
|
||||
first_sign = sp->sn_next;
|
||||
else
|
||||
sp_prev->sn_next = sp->sn_next;
|
||||
vim_free(sp);
|
||||
}
|
||||
sign_undefine(sp, sp_prev);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -7014,6 +6999,31 @@ sign_list_defined(sp)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Undefine a sign and free its memory.
|
||||
*/
|
||||
static void
|
||||
sign_undefine(sp, sp_prev)
|
||||
sign_T *sp;
|
||||
sign_T *sp_prev;
|
||||
{
|
||||
vim_free(sp->sn_name);
|
||||
vim_free(sp->sn_icon);
|
||||
#ifdef FEAT_SIGN_ICONS
|
||||
if (sp->sn_image != NULL)
|
||||
{
|
||||
out_flush();
|
||||
gui_mch_destroy_sign(sp->sn_image);
|
||||
}
|
||||
#endif
|
||||
vim_free(sp->sn_text);
|
||||
if (sp_prev == NULL)
|
||||
first_sign = sp->sn_next;
|
||||
else
|
||||
sp_prev->sn_next = sp->sn_next;
|
||||
vim_free(sp);
|
||||
}
|
||||
|
||||
/*
|
||||
* Get highlighting attribute for sign "typenr".
|
||||
* If "line" is TRUE: line highl, if FALSE: text highl.
|
||||
@ -7088,6 +7098,18 @@ sign_typenr2name(typenr)
|
||||
return (char_u *)_("[Deleted]");
|
||||
}
|
||||
|
||||
#if defined(EXITFREE) || defined(PROTO)
|
||||
/*
|
||||
* Undefine/free all signs.
|
||||
*/
|
||||
void
|
||||
free_signs()
|
||||
{
|
||||
while (first_sign != NULL)
|
||||
sign_undefine(first_sign, NULL);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_GUI) || defined(FEAT_CLIENTSERVER) || defined(PROTO)
|
||||
|
@ -1010,6 +1010,9 @@ free_all_mem()
|
||||
# if defined(FEAT_PROFILE)
|
||||
do_cmdline_cmd((char_u *)"profdel *");
|
||||
# endif
|
||||
# if defined(FEAT_KEYMAP)
|
||||
do_cmdline_cmd((char_u *)"set keymap=");
|
||||
#endif
|
||||
|
||||
# ifdef FEAT_TITLE
|
||||
free_titles();
|
||||
@ -1034,6 +1037,9 @@ free_all_mem()
|
||||
free_regexp_stuff();
|
||||
free_tag_stuff();
|
||||
free_cd_dir();
|
||||
# ifdef FEAT_SIGNS
|
||||
free_signs();
|
||||
# endif
|
||||
# ifdef FEAT_EVAL
|
||||
set_expr_line(NULL);
|
||||
# endif
|
||||
|
@ -40,6 +40,7 @@ void global_exe __ARGS((char_u *cmd));
|
||||
int read_viminfo_sub_string __ARGS((vir_T *virp, int force));
|
||||
void write_viminfo_sub_string __ARGS((FILE *fp));
|
||||
void free_old_sub __ARGS((void));
|
||||
void free_signs __ARGS((void));
|
||||
int prepare_tagpreview __ARGS((int undo_sync));
|
||||
void ex_help __ARGS((exarg_T *eap));
|
||||
char_u *check_help_lang __ARGS((char_u *arg));
|
||||
|
@ -676,6 +676,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
126,
|
||||
/**/
|
||||
125,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user