Mercurial > vim
changeset 34786:e27831e54542 v9.1.0267
patch 9.1.0267: File name entered in GUI dialog is ignored
Commit: https://github.com/vim/vim/commit/c20bdf1107d48a1c14713709d12d429e761132af
Author: zeertzjq <zeertzjq@outlook.com>
Date: Fri Apr 5 20:02:55 2024 +0200
patch 9.1.0267: File name entered in GUI dialog is ignored
Problem: File name entered in GUI dialog is ignored (after v9.1.0265)
Solution: Only set file name to "Untitled" if GUI dialog didn't set it.
(zeertzjq)
closes: #14417
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 05 Apr 2024 20:15:03 +0200 |
parents | e75d871c5b91 |
children | 7941cc644258 |
files | src/ex_cmds2.c src/version.c |
diffstat | 2 files changed, 10 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ex_cmds2.c +++ b/src/ex_cmds2.c @@ -164,7 +164,6 @@ dialog_changed( int ret; buf_T *buf2; exarg_T ea; - int empty_buf = buf->b_fname == NULL ? TRUE : FALSE; dialog_msg(buff, _("Save changes to \"%s\"?"), buf->b_fname); if (checkall) @@ -178,11 +177,14 @@ dialog_changed( if (ret == VIM_YES) { + int empty_bufname; + #ifdef FEAT_BROWSE // May get file name, when there is none browse_save_fname(buf); #endif - if (empty_buf) + empty_bufname = buf->b_fname == NULL ? TRUE : FALSE; + if (empty_bufname) buf_set_name(buf->b_fnum, (char_u *)"Untitled"); if (check_overwrite(&ea, buf, buf->b_fname, buf->b_ffname, FALSE) == OK) @@ -193,14 +195,11 @@ dialog_changed( } // restore to empty when write failed - if (empty_buf) + if (empty_bufname) { - vim_free(buf->b_fname); - buf->b_fname = NULL; - vim_free(buf->b_ffname); - buf->b_ffname = NULL; - vim_free(buf->b_sfname); - buf->b_sfname = NULL; + VIM_CLEAR(buf->b_fname); + VIM_CLEAR(buf->b_ffname); + VIM_CLEAR(buf->b_sfname); unchanged(buf, TRUE, FALSE); } }