From 499be18228b3799239c89d8b75b8e1260fe93caa Mon Sep 17 00:00:00 2001
From: "Rob Swindell (on Debian Linux)" <rob@synchro.net>
Date: Sat, 14 Sep 2024 14:18:29 -0700
Subject: [PATCH] When renaming a file (using F2 key), need to get all metadata
 before update

... otherwise, we'll erase the file's extended description or auxdata, if it
has any.
---
 exec/fileman.js | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/exec/fileman.js b/exec/fileman.js
index a2edff1a8f..9c50b4a30f 100644
--- a/exec/fileman.js
+++ b/exec/fileman.js
@@ -271,6 +271,19 @@ function find_file(fname, list)
 	return -1;
 }
 
+function get_file_details(dircode, filename)
+{
+	var base = new FileBase(dircode);
+	if(!base.open()) {
+		uifc.msg("Unable to open base: " + dircode);
+		return null;
+	}
+
+	var file = base.get(filename, FileBase.DETAIL.EXTENDED);
+	base.close();
+	return file;
+}
+
 function list_files(title, list, dircode)
 {
 	const wide_screen = uifc.screen_width >= 100;
@@ -347,6 +360,12 @@ function list_files(title, list, dircode)
 					}
 					break;
 				case MSK_EDIT:
+					list[result] = get_file_details(dircode, file.name);
+					file = list[result];
+					if(!file) {
+						uifc.msg("Error getting file details");
+						break;
+					}
 					var orig_name = file.name;
 					if(edit_filename(file))
 						save(file, dircode, orig_name);
-- 
GitLab