### 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)

script_back->set_icon(get_theme_icon(SNAME("Back"), SNAME("EditorIcons")));
			}
			members_overview_alphabeta_sort_button->set_icon(get_theme_icon(SNAME("Sort"), SNAME("EditorIcons")));
			filter_scripts->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons")));
			filter_methods->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons")));
			filename->add_theme_style_override("normal", EditorNode::get_singleton()->get_gui_base()->get_theme_stylebox(SNAME("normal"), SNAME("LineEdit")));
			recent_scripts->reset_size();
			if (is_inside_tree()) {
				_update_script_colors();
				_update_script_names();
			}
		} break;
		case NOTIFICATION_READY: {
			get_tree()->connect("tree_changed", callable_mp(this, &ScriptEditor::_tree_changed));
			InspectorDock::get_singleton()->connect("request_help", callable_mp(this, &ScriptEditor::_help_class_open));
			EditorNode::get_singleton()->connect("request_help_search", callable_mp(this, &ScriptEditor::_help_search));
		} break;
		case NOTIFICATION_EXIT_TREE: {
			EditorNode::get_singleton()->disconnect("stop_pressed", callable_mp(this, &ScriptEditor::_editor_stop));
		} break;
		case NOTIFICATION_APPLICATION_FOCUS_IN: {
			_test_script_times_on_disk();
			_update_modified_scripts_for_external_editor();
		} break;
		case CanvasItem::NOTIFICATION_VISIBILITY_CHANGED: {
			if (is_visible()) {
				find_in_files_button->show();
			} else {
				if (find_in_files->is_visible_in_tree()) {
					EditorNode::get_singleton()->hide_bottom_panel();