149 lines
5.1 KiB
Plaintext
149 lines
5.1 KiB
Plaintext
To: vim-dev@vim.org
|
|
Subject: Patch 7.2.317
|
|
Fcc: outbox
|
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
|
Mime-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
------------
|
|
|
|
Patch 7.2.317
|
|
Problem: Memory leak when adding a highlight group with unprintable
|
|
characters, resulting in E669.
|
|
Solution: Free the memory. And fix a few typos. (Dominique Pelle)
|
|
Files: src/syntax.c
|
|
|
|
|
|
*** ../vim-7.2.316/src/syntax.c 2009-05-17 13:30:58.000000000 +0200
|
|
--- src/syntax.c 2009-12-16 18:09:05.000000000 +0100
|
|
***************
|
|
*** 206,212 ****
|
|
static int current_attr = 0; /* attr of current syntax word */
|
|
#ifdef FEAT_EVAL
|
|
static int current_id = 0; /* ID of current char for syn_get_id() */
|
|
! static int current_trans_id = 0; /* idem, transparancy removed */
|
|
#endif
|
|
|
|
typedef struct syn_cluster_S
|
|
--- 206,212 ----
|
|
static int current_attr = 0; /* attr of current syntax word */
|
|
#ifdef FEAT_EVAL
|
|
static int current_id = 0; /* ID of current char for syn_get_id() */
|
|
! static int current_trans_id = 0; /* idem, transparency removed */
|
|
#endif
|
|
|
|
typedef struct syn_cluster_S
|
|
***************
|
|
*** 282,288 ****
|
|
int si_idx; /* index of syntax pattern or
|
|
KEYWORD_IDX */
|
|
int si_id; /* highlight group ID for keywords */
|
|
! int si_trans_id; /* idem, transparancy removed */
|
|
int si_m_lnum; /* lnum of the match */
|
|
int si_m_startcol; /* starting column of the match */
|
|
lpos_T si_m_endpos; /* just after end posn of the match */
|
|
--- 282,288 ----
|
|
int si_idx; /* index of syntax pattern or
|
|
KEYWORD_IDX */
|
|
int si_id; /* highlight group ID for keywords */
|
|
! int si_trans_id; /* idem, transparency removed */
|
|
int si_m_lnum; /* lnum of the match */
|
|
int si_m_startcol; /* starting column of the match */
|
|
lpos_T si_m_endpos; /* just after end posn of the match */
|
|
***************
|
|
*** 1274,1280 ****
|
|
dist = syn_buf->b_ml.ml_line_count / (syn_buf->b_sst_len - Rows) + 1;
|
|
|
|
/*
|
|
! * Go throught the list to find the "tick" for the oldest entry that can
|
|
* be removed. Set "above" when the "tick" for the oldest entry is above
|
|
* "b_sst_lasttick" (the display tick wraps around).
|
|
*/
|
|
--- 1274,1280 ----
|
|
dist = syn_buf->b_ml.ml_line_count / (syn_buf->b_sst_len - Rows) + 1;
|
|
|
|
/*
|
|
! * Go through the list to find the "tick" for the oldest entry that can
|
|
* be removed. Set "above" when the "tick" for the oldest entry is above
|
|
* "b_sst_lasttick" (the display tick wraps around).
|
|
*/
|
|
***************
|
|
*** 2319,2325 ****
|
|
? (syn_buf->b_spell_cluster_id == 0)
|
|
: (syn_buf->b_syn_spell == SYNSPL_TOP);
|
|
|
|
! /* nextgroup ends at end of line, unless "skipnl" or "skipemtpy" present */
|
|
if (current_next_list != NULL
|
|
&& syn_getcurline()[current_col + 1] == NUL
|
|
&& !(current_next_flags & (HL_SKIPNL | HL_SKIPEMPTY)))
|
|
--- 2319,2325 ----
|
|
? (syn_buf->b_spell_cluster_id == 0)
|
|
: (syn_buf->b_syn_spell == SYNSPL_TOP);
|
|
|
|
! /* nextgroup ends at end of line, unless "skipnl" or "skipempty" present */
|
|
if (current_next_list != NULL
|
|
&& syn_getcurline()[current_col + 1] == NUL
|
|
&& !(current_next_flags & (HL_SKIPNL | HL_SKIPEMPTY)))
|
|
***************
|
|
*** 6108,6114 ****
|
|
win_T *wp;
|
|
long lnum;
|
|
colnr_T col;
|
|
! int trans; /* remove transparancy */
|
|
int *spellp; /* return: can do spell checking */
|
|
int keep_state; /* keep state of char at "col" */
|
|
{
|
|
--- 6108,6114 ----
|
|
win_T *wp;
|
|
long lnum;
|
|
colnr_T col;
|
|
! int trans; /* remove transparency */
|
|
int *spellp; /* return: can do spell checking */
|
|
int keep_state; /* keep state of char at "col" */
|
|
{
|
|
***************
|
|
*** 7523,7529 ****
|
|
#if defined(FEAT_GUI) || defined(PROTO)
|
|
/*
|
|
* Set the normal foreground and background colors according to the "Normal"
|
|
! * highlighighting group. For X11 also set "Menu", "Scrollbar", and
|
|
* "Tooltip" colors.
|
|
*/
|
|
void
|
|
--- 7523,7529 ----
|
|
#if defined(FEAT_GUI) || defined(PROTO)
|
|
/*
|
|
* Set the normal foreground and background colors according to the "Normal"
|
|
! * highlighting group. For X11 also set "Menu", "Scrollbar", and
|
|
* "Tooltip" colors.
|
|
*/
|
|
void
|
|
***************
|
|
*** 8647,8652 ****
|
|
--- 8647,8653 ----
|
|
if (!vim_isprintc(*p))
|
|
{
|
|
EMSG(_("E669: Unprintable character in group name"));
|
|
+ vim_free(name);
|
|
return 0;
|
|
}
|
|
else if (!ASCII_ISALNUM(*p) && *p != '_')
|
|
*** ../vim-7.2.316/src/version.c 2009-12-16 17:14:08.000000000 +0100
|
|
--- src/version.c 2009-12-16 18:09:14.000000000 +0100
|
|
***************
|
|
*** 683,684 ****
|
|
--- 683,686 ----
|
|
{ /* Add new patch number below this line */
|
|
+ /**/
|
|
+ 317,
|
|
/**/
|
|
|
|
--
|
|
hundred-and-one symptoms of being an internet addict:
|
|
35. Your husband tells you he's had the beard for 2 months.
|
|
|
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|