Patch 8.1.0384
Problem:    Sign ordering depends on +netbeans feature.
Solution:   Also order signs without +netbeans. (Christian Brabandt,
            closes #3224)
Files:      src/structs.h, src/buffer.c


*** ../vim-8.1.0383/src/structs.h       2018-09-10 21:04:09.872392623 +0200
--- src/structs.h       2018-09-13 18:27:54.241504400 +0200
***************
*** 704,712 ****
      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() */
--- 704,710 ----
*** ../vim-8.1.0383/src/buffer.c        2018-09-10 21:04:09.864392710 +0200
--- src/buffer.c        2018-09-13 18:27:43.673610125 +0200
***************
*** 5856,5866 ****
        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)
        {
--- 5856,5864 ----
***************
*** 5905,5942 ****
            sign->typenr = typenr;
            return;
        }
!       else if (
! #ifndef FEAT_NETBEANS_INTG  /* keep signs sorted by lnum */
!                  id < 0 &&
! #endif
!                            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?
!            */
            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 */
      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;
--- 5903,5931 ----
            sign->typenr = typenr;
            return;
        }
!       else if (lnum < sign->lnum)
        {
!           // 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;
            insert_sign(buf, prev, sign, id, lnum, typenr);
            return;
        }
        prev = sign;
      }
! 
!     // 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;
      insert_sign(buf, prev, sign, id, lnum, typenr);
  
      return;
***************
*** 6008,6017 ****
        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;
--- 5997,6004 ----
***************
*** 6067,6073 ****
  
  
  # if defined(FEAT_NETBEANS_INTG) || defined(PROTO)
! /* 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 */
--- 6054,6062 ----
  
  
  # if defined(FEAT_NETBEANS_INTG) || defined(PROTO)
! /*
!  * 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,6091 ****
  
  
  #  if defined(FEAT_SIGN_ICONS) || defined(PROTO)
! /* return the number of icons on the given line */
      int
  buf_signcount(buf_T *buf, linenr_T lnum)
  {
--- 6074,6082 ----
  
  
  #  if defined(FEAT_SIGN_ICONS) || defined(PROTO)
! /*
!  * Return the number of icons on the given line.
!  */
      int
  buf_signcount(buf_T *buf, linenr_T lnum)
  {
*** ../vim-8.1.0383/src/version.c       2018-09-13 18:05:45.291070558 +0200
--- src/version.c       2018-09-13 18:32:47.474574781 +0200
***************
*** 796,797 ****
--- 796,799 ----
  {   /* Add new patch number below this line */
+ /**/
+     384,
  /**/

-- 
"Oh, no!  NOT the Spanish Inquisition!"
"NOBODY expects the Spanish Inquisition!!!"
                                -- Monty Python sketch --
"Oh, no!  NOT another option!"
"EVERYBODY expects another option!!!"
                                -- Discussion in vim-dev mailing list --

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui