0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 8.1.0384: sign ordering depends on +netbeans feature

Problem:    Sign ordering depends on +netbeans feature.
Solution:   Also order signs without +netbeans. (Christian Brabandt,
            closes #3224)
This commit is contained in:
Bram Moolenaar
2018-09-13 18:33:05 +02:00
parent a214079008
commit 8aeb504fc6
3 changed files with 13 additions and 22 deletions

View File

@@ -5856,11 +5856,9 @@ insert_sign(
newsign->lnum = lnum;
newsign->typenr = typenr;
newsign->next = next;
#ifdef FEAT_NETBEANS_INTG
newsign->prev = prev;
if (next != NULL)
next->prev = newsign;
#endif
if (prev == NULL)
{
@@ -5905,38 +5903,29 @@ buf_addsign(
sign->typenr = typenr;
return;
}
else if (
#ifndef FEAT_NETBEANS_INTG /* keep signs sorted by lnum */
id < 0 &&
#endif
lnum < sign->lnum)
else if (lnum < sign->lnum)
{
#ifdef FEAT_NETBEANS_INTG /* insert new sign at head of list for this lnum */
/* XXX - GRP: Is this because of sign slide problem? Or is it
* really needed? Or is it because we allow multiple signs per
* line? If so, should I add that feature to FEAT_SIGNS?
*/
// keep signs sorted by lnum: insert new sign at head of list for
// this lnum
while (prev != NULL && prev->lnum == lnum)
prev = prev->prev;
if (prev == NULL)
sign = buf->b_signlist;
else
sign = prev->next;
#endif
insert_sign(buf, prev, sign, id, lnum, typenr);
return;
}
prev = sign;
}
#ifdef FEAT_NETBEANS_INTG /* insert new sign at head of list for this lnum */
/* XXX - GRP: See previous comment */
// insert new sign at head of list for this lnum
while (prev != NULL && prev->lnum == lnum)
prev = prev->prev;
if (prev == NULL)
sign = buf->b_signlist;
else
sign = prev->next;
#endif
insert_sign(buf, prev, sign, id, lnum, typenr);
return;
@@ -6008,10 +5997,8 @@ buf_delsign(
if (sign->id == id)
{
*lastp = next;
#ifdef FEAT_NETBEANS_INTG
if (next != NULL)
next->prev = sign->prev;
#endif
lnum = sign->lnum;
vim_free(sign);
break;
@@ -6067,7 +6054,9 @@ buf_findsign_id(
# if defined(FEAT_NETBEANS_INTG) || defined(PROTO)
/* see if a given type of sign exists on a specific line */
/*
* See if a given type of sign exists on a specific line.
*/
int
buf_findsigntype_id(
buf_T *buf, /* buffer whose sign we are searching for */
@@ -6085,7 +6074,9 @@ buf_findsigntype_id(
# if defined(FEAT_SIGN_ICONS) || defined(PROTO)
/* return the number of icons on the given line */
/*
* Return the number of icons on the given line.
*/
int
buf_signcount(buf_T *buf, linenr_T lnum)
{