### Godot version

4.0 beta 12 mono

### System information

MacOS 13.1, Apple M1 Pro

### Issue description

When `text_editor/external/use_external_editor` is set to true but `text_editor/external/exec_path` is not set and I create a new script and attach it to a node Godot freezes and i need to force quit the application.
Also after a restart when double clicking on the script the application freezes but I can quit normally

### Steps to reproduce

- Set Use External Editor to true in Editor Settings and leave Exec Path empty
- Create a new project with Moblie Renderer and Git Versioning in Godot
- Create a 3D Scene
- Create a gd script in the FileSystem inspector or directly attach the script to a node

### Minimal reproduction project

[New Game Project.zip](https://github.com/godotengine/godot/files/10420510/New.Game.Project.zip)

Node *n = tab_container->get_current_tab_control();
	if (Object::cast_to<ScriptEditorBase>(n)) {
		history.write[history_pos].state = Object::cast_to<ScriptEditorBase>(n)->get_navigation_state();
	}
	if (Object::cast_to<EditorHelp>(n)) {
		history.write[history_pos].state = Object::cast_to<EditorHelp>(n)->get_scroll();
	}
	history_pos = p_new_pos;
	tab_container->set_current_tab(tab_container->get_tab_idx_from_control(history[history_pos].control));
	n = history[history_pos].control;
	ScriptEditorBase *seb = Object::cast_to<ScriptEditorBase>(n);
	if (seb) {
		seb->set_edit_state(history[history_pos].state);
		seb->ensure_focus();
		Ref<Script> scr = seb->get_edited_resource();
		if (scr != nullptr) {
			notify_script_changed(scr);
		}
	}
	if (Object::cast_to<EditorHelp>(n)) {
		Object::cast_to<EditorHelp>(n)->set_scroll(history[history_pos].state);
		Object::cast_to<EditorHelp>(n)->set_focused();
	}
	n->set_meta("__editor_pass", ++edit_pass);
	_update_script_names();
	_update_history_arrows();
	_update_selected_editor_menu();
}
void ScriptEditor::_history_forward() {