Mercurial > vim
diff src/sign.c @ 15388:7444fffa482d v8.1.0702
patch 8.1.0702: ":sign place" only uses the current buffer
commit https://github.com/vim/vim/commit/b589f95b38ddd779d7e696abb0ea011dc92ea903
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Jan 7 22:10:00 2019 +0100
patch 8.1.0702: ":sign place" only uses the current buffer
Problem: ":sign place" only uses the current buffer.
Solution: List signs for all buffers when there is no buffer argument.
Fix error message for invalid buffer name in sign_place().
(Yegappan Lakshmanan, closes #3774)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 07 Jan 2019 22:15:04 +0100 |
parents | 317846db300a |
children | c17b5e30a0af |
line wrap: on
line diff
--- a/src/sign.c +++ b/src/sign.c @@ -1237,6 +1237,7 @@ parse_sign_cmd_args( char_u *arg1; char_u *name; char_u *filename = NULL; + int lnum_arg = FALSE; // first arg could be placed sign id arg1 = arg; @@ -1259,6 +1260,7 @@ parse_sign_cmd_args( arg += 5; *lnum = atoi((char *)arg); arg = skiptowhite(arg); + lnum_arg = TRUE; } else if (STRNCMP(arg, "*", 1) == 0 && cmd == SIGNCMD_UNPLACE) { @@ -1327,7 +1329,8 @@ parse_sign_cmd_args( // If the filename is not supplied for the sign place or the sign jump // command, then use the current buffer. - if (filename == NULL && (cmd == SIGNCMD_PLACE || cmd == SIGNCMD_JUMP)) + if (filename == NULL && ((cmd == SIGNCMD_PLACE && lnum_arg) + || cmd == SIGNCMD_JUMP)) *buf = curwin->w_buffer; return OK;