aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/sign.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/sign.c')
-rw-r--r--src/nvim/sign.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/nvim/sign.c b/src/nvim/sign.c
index ac26fd0137..8c85fbdaa7 100644
--- a/src/nvim/sign.c
+++ b/src/nvim/sign.c
@@ -231,9 +231,11 @@ static void insert_sign_by_lnum_prio(
{
signlist_T *sign;
- // keep signs sorted by lnum and by priority: insert new sign at
+ // keep signs sorted by lnum, priority and id: insert new sign at
// the proper position in the list for this lnum.
- while (prev != NULL && prev->lnum == lnum && prev->priority <= prio) {
+ while (prev != NULL && prev->lnum == lnum
+ && (prev->priority < prio
+ || (prev->priority == prio && prev->id <= id))) {
prev = prev->prev;
}
if (prev == NULL) {