From 8aeb504fc68e3fea9da5567d2d9a31a132fbf90f Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 13 Sep 2018 18:33:05 +0200 Subject: 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) --- src/buffer.c | 31 +++++++++++-------------------- src/structs.h | 2 -- src/version.c | 2 ++ 3 files changed, 13 insertions(+), 22 deletions(-) diff --git a/src/buffer.c b/src/buffer.c index 0bf6aa9125..b536be64bf 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -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) { diff --git a/src/structs.h b/src/structs.h index f978f61b79..3c2bf3f1bb 100644 --- a/src/structs.h +++ b/src/structs.h @@ -704,9 +704,7 @@ struct signlist linenr_T lnum; /* line number which has this sign */ int typenr; /* typenr of sign */ signlist_T *next; /* next signlist entry */ -# ifdef FEAT_NETBEANS_INTG signlist_T *prev; /* previous entry -- for easy reordering */ -# endif }; /* type argument for buf_getsigntype() */ diff --git a/src/version.c b/src/version.c index 6f75233c6a..6912210d4a 100644 --- a/src/version.c +++ b/src/version.c @@ -794,6 +794,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 384, /**/ 383, /**/ -- cgit v1.2.3