summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2021-10-24 09:30:31 +1100
committerMaxime Coste <mawww@kakoune.org>2021-10-24 09:30:31 +1100
commit7c6f111d5ffdb8b60dd1f97b88ddf0c98e8ba936 (patch)
tree149fcfb2f9e5c4851c293cc3281b06ffa74bffb4 /src
parent5c1e10decbf5551a2e999972001a36fe4212cbce (diff)
Ensure rename-buffer uses a filename for file buffers
Fixes #4391
Diffstat (limited to 'src')
-rw-r--r--src/commands.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/commands.cc b/src/commands.cc
index 7567f157..4f65e600 100644
--- a/src/commands.cc
+++ b/src/commands.cc
@@ -864,7 +864,9 @@ const CommandDesc rename_buffer_cmd = {
if (parser.get_switch("file"))
buffer.flags() |= Buffer::Flags::File;
- if (not buffer.set_name(parser[0]))
+ const bool is_file = (buffer.flags() & Buffer::Flags::File);
+
+ if (not buffer.set_name(is_file ? parse_filename(parser[0]) : parser[0]))
throw runtime_error(format("unable to change buffer name to '{}': a buffer with this name already exists", parser[0]));
}
};