vim-patch:8.2.4842: expand("%:p") is not empty when there is no buffer name

Problem:    expand("%:p") is not empty when there is no buffer name.
Solution:   When ignoring errors still return NULL. (closes vim/vim#10311)
211a5bb235
This commit is contained in:
zeertzjq
2022-08-23 13:31:07 +08:00
parent f1b8683b8c
commit d459b66877
2 changed files with 10 additions and 7 deletions

View File

@@ -6891,12 +6891,14 @@ char_u *eval_vars(char_u *src, char_u *srcstart, size_t *usedlen, linenr_T *lnum
}
}
if (empty_is_error && (resultlen == 0 || valid != VALID_HEAD + VALID_PATH)) {
if (valid != VALID_HEAD + VALID_PATH) {
// xgettext:no-c-format
*errormsg = _("E499: Empty file name for '%' or '#', only works with \":p:h\"");
} else {
*errormsg = _("E500: Evaluates to an empty string");
if (resultlen == 0 || valid != VALID_HEAD + VALID_PATH) {
if (empty_is_error) {
if (valid != VALID_HEAD + VALID_PATH) {
// xgettext:no-c-format
*errormsg = _("E499: Empty file name for '%' or '#', only works with \":p:h\"");
} else {
*errormsg = _("E500: Evaluates to an empty string");
}
}
result = NULL;
} else {