diff options
Diffstat (limited to 'src/scriptfile.c')
-rw-r--r-- | src/scriptfile.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/scriptfile.c b/src/scriptfile.c index cc76260410..54af7597e5 100644 --- a/src/scriptfile.c +++ b/src/scriptfile.c @@ -1430,8 +1430,13 @@ do_source_buffer_init(source_cookie_T *sp, exarg_T *eap) return NULL; // Use ":source buffer=<num>" as the script name - vim_snprintf((char *)IObuff, IOSIZE, ":source buffer=%d", curbuf->b_fnum); - fname = vim_strsave(IObuff); + if (curbuf->b_ffname != NULL) + fname = vim_strsave(curbuf->b_ffname); + else + { + vim_snprintf((char *)IObuff, IOSIZE, ":source buffer=%d", curbuf->b_fnum); + fname = vim_strsave(IObuff); + } if (fname == NULL) return NULL; |