aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/buffer.c')
-rw-r--r--src/nvim/buffer.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c
index 1f4a1e0cd1..39242b0575 100644
--- a/src/nvim/buffer.c
+++ b/src/nvim/buffer.c
@@ -5261,7 +5261,7 @@ static int sign_compare(const void *a1, const void *a2)
const signlist_T *s1 = *(const signlist_T **)a1;
const signlist_T *s2 = *(const signlist_T **)a2;
- // Sort by line number and the by id
+ // Sort by line number, priority and id
if (s1->lnum > s2->lnum) {
return 1;
@@ -5269,12 +5269,18 @@ static int sign_compare(const void *a1, const void *a2)
if (s1->lnum < s2->lnum) {
return -1;
}
- if (s1->id > s2->id) {
+ if (s1->priority > s2->priority) {
+ return -1;
+ }
+ if (s1->priority < s2->priority) {
return 1;
}
- if (s1->id < s2->id) {
+ if (s1->id > s2->id) {
return -1;
}
+ if (s1->id < s2->id) {
+ return 1;
+ }
return 0;
}