From cef8f2a7448a16867771222ed5aeddfab7ab8f54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Sun, 9 Aug 2015 10:17:49 +0200 Subject: vis: fix :edit! command It now correctly re-edits the file (i.e reloads it from disk). --- editor.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'editor.c') diff --git a/editor.c b/editor.c index c94e9be..e06e946 100644 --- a/editor.c +++ b/editor.c @@ -42,10 +42,13 @@ void editor_windows_arrange(Editor *ed, enum UiLayout layout) { } bool editor_window_reload(Win *win) { - /* can't reload unsaved file */ - if (!win->file->name) - return false; - File *file = file_new(win->editor, win->file->name); + const char *name = win->file->name; + if (!name) + return false; /* can't reload unsaved file */ + /* temporarily unset file name, otherwise file_new returns the same File */ + win->file->name = NULL; + File *file = file_new(win->editor, name); + win->file->name = name; if (!file) return false; file_free(win->editor, win->file); -- cgit v1.2.3