diff -urN gimp-2.10.34-orig/app/actions/actions-types.h gimp-2.10.34/app/actions/actions-types.h
--- gimp-2.10.34-orig/app/actions/actions-types.h	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/actions/actions-types.h	2023-11-06 14:49:33 +0900
@@ -44,10 +44,7 @@
   GIMP_SAVE_MODE_SAVE,
   GIMP_SAVE_MODE_SAVE_AS,
   GIMP_SAVE_MODE_SAVE_A_COPY,
-  GIMP_SAVE_MODE_SAVE_AND_CLOSE,
-  GIMP_SAVE_MODE_EXPORT,
-  GIMP_SAVE_MODE_EXPORT_AS,
-  GIMP_SAVE_MODE_OVERWRITE
+  GIMP_SAVE_MODE_SAVE_AND_CLOSE
 } GimpSaveMode;
 
 
diff -urN gimp-2.10.34-orig/app/actions/file-actions.c gimp-2.10.34/app/actions/file-actions.c
--- gimp-2.10.34-orig/app/actions/file-actions.c	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/actions/file-actions.c	2023-11-06 14:49:33 +0900
@@ -155,24 +155,6 @@
     NC_("file-action", "Save this image and close its window"),
     GIMP_SAVE_MODE_SAVE_AND_CLOSE, FALSE,
     GIMP_HELP_FILE_SAVE },
-
-  { "file-export", NULL,
-    NC_("file-action", "E_xport..."), "<primary>E",
-    NC_("file-action", "Export the image"),
-    GIMP_SAVE_MODE_EXPORT, FALSE,
-    GIMP_HELP_FILE_EXPORT },
-
-  { "file-overwrite", NULL,
-    NC_("file-action", "Over_write"), "",
-    NC_("file-action", "Export the image back to the imported file in the import format"),
-    GIMP_SAVE_MODE_OVERWRITE, FALSE,
-    GIMP_HELP_FILE_OVERWRITE },
-
-  { "file-export-as", NULL,
-    NC_("file-action", "E_xport As..."), "<primary><shift>E",
-    NC_("file-action", "Export the image to various file formats such as PNG or JPEG"),
-    GIMP_SAVE_MODE_EXPORT_AS, FALSE,
-    GIMP_HELP_FILE_EXPORT_AS }
 };
 
 void
@@ -260,29 +242,17 @@
 file_actions_update (GimpActionGroup *group,
                      gpointer         data)
 {
-  Gimp         *gimp           = action_data_get_gimp (data);
-  GimpImage    *image          = action_data_get_image (data);
-  GimpDrawable *drawable       = NULL;
-  GFile        *file           = NULL;
-  GFile        *source         = NULL;
-  GFile        *export         = NULL;
-  gboolean      show_overwrite = FALSE;
+  GimpImage    *image    = action_data_get_image (data);
+  GimpDrawable *drawable = NULL;
+  GFile        *file     = NULL;
 
   if (image)
     {
       drawable = gimp_image_get_active_drawable (image);
 
       file   = gimp_image_get_file (image);
-      source = gimp_image_get_imported_file (image);
-      export = gimp_image_get_exported_file (image);
     }
 
-  show_overwrite =
-    (source &&
-     gimp_plug_in_manager_file_procedure_find (gimp->plug_in_manager,
-                                               GIMP_FILE_PROCEDURE_GROUP_EXPORT,
-                                               source, NULL));
-
 #define SET_VISIBLE(action,condition) \
         gimp_action_group_set_action_visible (group, action, (condition) != 0)
 #define SET_SENSITIVE(action,condition) \
@@ -292,15 +262,10 @@
   SET_SENSITIVE ("file-save-as",              drawable);
   SET_SENSITIVE ("file-save-a-copy",          drawable);
   SET_SENSITIVE ("file-save-and-close",       drawable);
-  SET_SENSITIVE ("file-revert",               file || source);
-  SET_SENSITIVE ("file-export",               drawable);
-  SET_VISIBLE   ("file-export",               ! show_overwrite);
-  SET_SENSITIVE ("file-overwrite",            show_overwrite);
-  SET_VISIBLE   ("file-overwrite",            show_overwrite);
-  SET_SENSITIVE ("file-export-as",            drawable);
+  SET_SENSITIVE ("file-revert",               file);
   SET_SENSITIVE ("file-create-template",      image);
-  SET_SENSITIVE ("file-copy-location",        file || source || export);
-  SET_SENSITIVE ("file-show-in-file-manager", file || source || export);
+  SET_SENSITIVE ("file-copy-location",        file);
+  SET_SENSITIVE ("file-show-in-file-manager", file);
 
   if (file)
     {
@@ -315,25 +280,6 @@
                                           C_("file-action", "_Save..."));
     }
 
-  if (export)
-    {
-      gchar *label = file_actions_create_label (_("Export to %s"), export);
-      gimp_action_group_set_action_label (group, "file-export", label);
-      g_free (label);
-    }
-  else if (show_overwrite)
-    {
-      gchar *label = file_actions_create_label (_("Over_write %s"), source);
-      gimp_action_group_set_action_label (group, "file-overwrite", label);
-      g_free (label);
-    }
-  else
-    {
-      gimp_action_group_set_action_label (group,
-                                          "file-export",
-                                          C_("file-action", "E_xport..."));
-    }
-
   /*  needed for the empty display  */
   SET_SENSITIVE ("file-close-all", image);
 
diff -urN gimp-2.10.34-orig/app/actions/file-commands.c gimp-2.10.34/app/actions/file-commands.c
--- gimp-2.10.34-orig/app/actions/file-commands.c	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/actions/file-commands.c	2023-11-06 15:02:46 +0900
@@ -45,7 +45,6 @@
 #include "widgets/gimpactiongroup.h"
 #include "widgets/gimpclipboard.h"
 #include "widgets/gimpdialogfactory.h"
-#include "widgets/gimpexportdialog.h"
 #include "widgets/gimpfiledialog.h"
 #include "widgets/gimphelp-ids.h"
 #include "widgets/gimpmessagebox.h"
@@ -81,15 +80,6 @@
                                                  gboolean      save_a_copy,
                                                  gboolean      close_after_saving,
                                                  GimpDisplay  *display);
-static GtkWidget * file_export_dialog_show      (Gimp         *gimp,
-                                                 GimpImage    *image,
-                                                 GtkWidget    *parent);
-static void        file_save_dialog_response    (GtkWidget    *dialog,
-                                                 gint          response_id,
-                                                 gpointer      data);
-static void        file_export_dialog_response  (GtkWidget    *dialog,
-                                                 gint          response_id,
-                                                 gpointer      data);
 static void        file_new_template_callback   (GtkWidget    *widget,
                                                  const gchar  *name,
                                                  gpointer      data);
@@ -260,6 +250,13 @@
                 gimp_plug_in_manager_file_procedure_find (image->gimp->plug_in_manager,
                                                           GIMP_FILE_PROCEDURE_GROUP_SAVE,
                                                           file, NULL);
+              if (! save_proc)
+                {
+                  save_proc =
+                    gimp_plug_in_manager_file_procedure_find (image->gimp->plug_in_manager,
+                                                              GIMP_FILE_PROCEDURE_GROUP_EXPORT,
+                                                              file, NULL);
+                }
             }
 
           if (file && save_proc)
@@ -268,7 +265,7 @@
                                                    gimp, image, file,
                                                    save_proc,
                                                    GIMP_RUN_WITH_LAST_VALS,
-                                                   TRUE, FALSE, FALSE,
+                                                   TRUE,
                                                    gimp_image_get_xcf_compression (image),
                                                    TRUE);
               break;
@@ -296,59 +293,6 @@
                              _("Save a Copy of the Image"), TRUE,
                              FALSE, display);
       break;
-
-    case GIMP_SAVE_MODE_EXPORT_AS:
-      file_export_dialog_show (gimp, image, widget);
-      break;
-
-    case GIMP_SAVE_MODE_EXPORT:
-    case GIMP_SAVE_MODE_OVERWRITE:
-      {
-        GFile               *file        = NULL;
-        GimpPlugInProcedure *export_proc = NULL;
-        gboolean             overwrite   = FALSE;
-
-        if (save_mode == GIMP_SAVE_MODE_EXPORT)
-          {
-            file        = gimp_image_get_exported_file (image);
-            export_proc = gimp_image_get_export_proc (image);
-
-            if (! file)
-              {
-                /* Behave as if Export As... was invoked */
-                file_export_dialog_show (gimp, image, widget);
-                break;
-              }
-
-            overwrite = FALSE;
-          }
-        else if (save_mode == GIMP_SAVE_MODE_OVERWRITE)
-          {
-            file = gimp_image_get_imported_file (image);
-
-            overwrite = TRUE;
-          }
-
-        if (file && ! export_proc)
-          {
-            export_proc =
-              gimp_plug_in_manager_file_procedure_find (image->gimp->plug_in_manager,
-                                                        GIMP_FILE_PROCEDURE_GROUP_EXPORT,
-                                                        file, NULL);
-          }
-
-        if (file && export_proc)
-          {
-            saved = file_save_dialog_save_image (GIMP_PROGRESS (display),
-                                                 gimp, image, file,
-                                                 export_proc,
-                                                 GIMP_RUN_WITH_LAST_VALS,
-                                                 FALSE,
-                                                 overwrite, ! overwrite,
-                                                 FALSE, TRUE);
-          }
-      }
-      break;
     }
 
   if (save_mode == GIMP_SAVE_MODE_SAVE_AND_CLOSE &&
@@ -398,9 +342,6 @@
   file = gimp_image_get_file (image);
 
   if (! file)
-    file = gimp_image_get_imported_file (image);
-
-  if (! file)
     {
       gimp_message_literal (image->gimp,
                             G_OBJECT (display), GIMP_MESSAGE_ERROR,
@@ -638,10 +579,6 @@
           g_signal_connect_object (image, "disconnect",
                                    G_CALLBACK (gtk_widget_destroy),
                                    dialog, G_CONNECT_SWAPPED);
-
-          g_signal_connect (dialog, "response",
-                            G_CALLBACK (file_save_dialog_response),
-                            image);
         }
     }
 
@@ -660,118 +597,6 @@
 }
 
 static void
-file_save_dialog_response (GtkWidget *dialog,
-                           gint       response_id,
-                           gpointer   data)
-{
-  if (response_id == FILE_SAVE_RESPONSE_OTHER_DIALOG)
-    {
-      GimpFileDialog *file_dialog = GIMP_FILE_DIALOG (dialog);
-      GtkWindow      *parent;
-      GtkWidget      *other;
-      GFile          *file;
-      gchar          *folder;
-      gchar          *basename;
-
-      parent   = gtk_window_get_transient_for (GTK_WINDOW (dialog));
-      file     = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (dialog));
-      folder   = g_path_get_dirname (gimp_file_get_utf8_name (file));
-      basename = g_path_get_basename (gimp_file_get_utf8_name (file));
-      g_object_unref (file);
-
-      other = file_export_dialog_show (GIMP_FILE_DIALOG (file_dialog)->image->gimp,
-                                       GIMP_FILE_DIALOG (file_dialog)->image,
-                                       GTK_WIDGET (parent));
-
-      gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (other), folder);
-      gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (other), basename);
-
-      g_free (folder);
-      g_free (basename);
-    }
-}
-
-static GtkWidget *
-file_export_dialog_show (Gimp      *gimp,
-                         GimpImage *image,
-                         GtkWidget *parent)
-{
-  GtkWidget *dialog;
-
-#define EXPORT_DIALOG_KEY "gimp-file-export-dialog"
-
-  dialog = dialogs_get_dialog (G_OBJECT (image), EXPORT_DIALOG_KEY);
-
-  if (! dialog)
-    {
-      dialog = gimp_dialog_factory_dialog_new (gimp_dialog_factory_get_singleton (),
-                                               gtk_widget_get_screen (parent),
-                                               gimp_widget_get_monitor (parent),
-                                               NULL /*ui_manager*/,
-                                               "gimp-file-export-dialog",
-                                               -1, FALSE);
-
-      if (dialog)
-        {
-          gtk_window_set_transient_for (GTK_WINDOW (dialog),
-                                        GTK_WINDOW (gtk_widget_get_toplevel (parent)));
-
-          dialogs_attach_dialog (G_OBJECT (image), EXPORT_DIALOG_KEY, dialog);
-          g_signal_connect_object (image, "disconnect",
-                                   G_CALLBACK (gtk_widget_destroy),
-                                   dialog, G_CONNECT_SWAPPED);
-
-          g_signal_connect (dialog, "response",
-                            G_CALLBACK (file_export_dialog_response),
-                            image);
-        }
-    }
-
-  if (dialog)
-    {
-      gimp_export_dialog_set_image (GIMP_EXPORT_DIALOG (dialog), image);
-
-      gtk_window_present (GTK_WINDOW (dialog));
-    }
-
-  return dialog;
-}
-
-static void
-file_export_dialog_response (GtkWidget *dialog,
-                             gint       response_id,
-                             gpointer   data)
-{
-  if (response_id == FILE_SAVE_RESPONSE_OTHER_DIALOG)
-    {
-      GimpFileDialog *file_dialog = GIMP_FILE_DIALOG (dialog);
-      GtkWindow      *parent;
-      GtkWidget      *other;
-      GFile          *file;
-      gchar          *folder;
-      gchar          *basename;
-
-      parent   = gtk_window_get_transient_for (GTK_WINDOW (dialog));
-      file     = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (dialog));
-      folder   = g_path_get_dirname (gimp_file_get_utf8_name (file));
-      basename = g_path_get_basename (gimp_file_get_utf8_name (file));
-      g_object_unref (file);
-
-      other = file_save_dialog_show (GIMP_FILE_DIALOG (file_dialog)->image->gimp,
-                                     GIMP_FILE_DIALOG (file_dialog)->image,
-                                     GTK_WIDGET (parent),
-                                     _("Save Image"),
-                                     FALSE, FALSE, NULL);
-
-      gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (other), folder);
-      gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (other), basename);
-
-      g_free (folder);
-      g_free (basename);
-    }
-}
-
-static void
 file_new_template_callback (GtkWidget   *widget,
                             const gchar *name,
                             gpointer     data)
@@ -809,9 +634,6 @@
 
       file = gimp_image_get_file (old_image);
 
-      if (! file)
-        file = gimp_image_get_imported_file (old_image);
-
       new_image = file_open_image (gimp, gimp_get_user_context (gimp),
                                    GIMP_PROGRESS (display),
                                    file, file, FALSE, NULL,
diff -urN gimp-2.10.34-orig/app/core/gimpimage-private.h gimp-2.10.34/app/core/gimpimage-private.h
--- gimp-2.10.34-orig/app/core/gimpimage-private.h	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/core/gimpimage-private.h	2023-11-06 14:49:33 +0900
@@ -36,7 +36,6 @@
 
   GimpPlugInProcedure *load_proc;           /*  procedure used for loading   */
   GimpPlugInProcedure *save_proc;           /*  last save procedure used     */
-  GimpPlugInProcedure *export_proc;         /*  last export procedure used   */
 
   gchar             *display_name;          /*  display basename             */
   gchar             *display_path;          /*  display full path            */
@@ -76,8 +75,6 @@
   GimpMetadata      *metadata;              /*  image's metadata             */
 
   GFile             *file;                  /*  the image's XCF file         */
-  GFile             *imported_file;         /*  the image's source file      */
-  GFile             *exported_file;         /*  the image's export file      */
   GFile             *save_a_copy_file;      /*  the image's save-a-copy file */
   GFile             *untitled_file;         /*  a file saying "Untitled"     */
 
@@ -85,7 +82,6 @@
 
   gint               dirty;                 /*  dirty flag -- # of ops       */
   gint64             dirty_time;            /*  time when image became dirty */
-  gint               export_dirty;          /*  'dirty' but for export       */
 
   gint               undo_freeze_count;     /*  counts the _freeze's         */
 
diff -urN gimp-2.10.34-orig/app/core/gimpimage.c gimp-2.10.34/app/core/gimpimage.c
--- gimp-2.10.34-orig/app/core/gimpimage.c	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/core/gimpimage.c	2023-11-06 14:49:33 +0900
@@ -115,7 +115,7 @@
   DIRTY,
   SAVING,
   SAVED,
-  EXPORTED,
+  EXPORTED,  // obsolete, unused
   GUIDE_ADDED,
   GUIDE_REMOVED,
   GUIDE_MOVED,
@@ -481,16 +481,6 @@
                   G_TYPE_NONE, 1,
                   G_TYPE_FILE);
 
-  gimp_image_signals[EXPORTED] =
-    g_signal_new ("exported",
-                  G_TYPE_FROM_CLASS (klass),
-                  G_SIGNAL_RUN_FIRST,
-                  G_STRUCT_OFFSET (GimpImageClass, exported),
-                  NULL, NULL,
-                  gimp_marshal_VOID__OBJECT,
-                  G_TYPE_NONE, 1,
-                  G_TYPE_FILE);
-
   gimp_image_signals[GUIDE_ADDED] =
     g_signal_new ("guide-added",
                   G_TYPE_FROM_CLASS (klass),
@@ -631,7 +621,6 @@
   klass->dirty                        = NULL;
   klass->saving                       = NULL;
   klass->saved                        = NULL;
-  klass->exported                     = NULL;
   klass->guide_added                  = NULL;
   klass->guide_removed                = NULL;
   klass->guide_moved                  = NULL;
@@ -777,8 +766,6 @@
   private->dirty_time          = 0;
   private->undo_freeze_count   = 0;
 
-  private->export_dirty        = 1;
-
   private->instance_count      = 0;
   private->disp_count          = 0;
 
@@ -1148,8 +1135,6 @@
   g_clear_object (&private->pickable_buffer);
   g_clear_object (&private->metadata);
   g_clear_object (&private->file);
-  g_clear_object (&private->imported_file);
-  g_clear_object (&private->exported_file);
   g_clear_object (&private->save_a_copy_file);
   g_clear_object (&private->untitled_file);
   g_clear_object (&private->layers);
@@ -2224,7 +2209,7 @@
  * gimp_image_get_file:
  * @image: A #GimpImage.
  *
- * Get the file of the XCF image, or NULL if there is no file.
+ * Get the file of the image, or NULL if there is no file.
  *
  * Returns: The file, or NULL.
  **/
@@ -2237,36 +2222,6 @@
 }
 
 /**
- * gimp_image_get_imported_file:
- * @image: A #GimpImage.
- *
- * Returns: The file of the imported image, or NULL if the image has
- * been saved as XCF after it was imported.
- **/
-GFile *
-gimp_image_get_imported_file (GimpImage *image)
-{
-  g_return_val_if_fail (GIMP_IS_IMAGE (image), NULL);
-
-  return GIMP_IMAGE_GET_PRIVATE (image)->imported_file;
-}
-
-/**
- * gimp_image_get_exported_file:
- * @image: A #GimpImage.
- *
- * Returns: The file of the image last exported from this XCF file, or
- * NULL if the image has never been exported.
- **/
-GFile *
-gimp_image_get_exported_file (GimpImage *image)
-{
-  g_return_val_if_fail (GIMP_IS_IMAGE (image), NULL);
-
-  return GIMP_IMAGE_GET_PRIVATE (image)->exported_file;
-}
-
-/**
  * gimp_image_get_save_a_copy_file:
  * @image: A #GimpImage.
  *
@@ -2284,94 +2239,16 @@
  * gimp_image_get_any_file:
  * @image: A #GimpImage.
  *
- * Returns: The XCF file, the imported file, or the exported file, in
- * that order of precedence.
+ * Alias for @gimp_image_get_file.
+ *
+ * Returns: The file.
  **/
 GFile *
 gimp_image_get_any_file (GimpImage *image)
 {
-  GFile *file;
-
   g_return_val_if_fail (GIMP_IS_IMAGE (image), NULL);
 
-  file = gimp_image_get_file (image);
-  if (! file)
-    {
-      file = gimp_image_get_imported_file (image);
-      if (! file)
-        {
-          file = gimp_image_get_exported_file (image);
-        }
-    }
-
-  return file;
-}
-
-/**
- * gimp_image_set_imported_uri:
- * @image: A #GimpImage.
- * @file:
- *
- * Sets the URI this file was imported from.
- **/
-void
-gimp_image_set_imported_file (GimpImage *image,
-                              GFile     *file)
-{
-  GimpImagePrivate *private;
-
-  g_return_if_fail (GIMP_IS_IMAGE (image));
-  g_return_if_fail (file == NULL || G_IS_FILE (file));
-
-  private = GIMP_IMAGE_GET_PRIVATE (image);
-
-  if (g_set_object (&private->imported_file, file))
-    {
-      gimp_object_name_changed (GIMP_OBJECT (image));
-    }
-
-  if (! private->resolution_set && file != NULL)
-    {
-      /* Unlike new files (which follow technological progress and will
-       * use higher default resolution, or explicitly chosen templates),
-       * imported files have a more backward-compatible value.
-       *
-       * 72 PPI is traditionnally the default value when none other had
-       * been explicitly set (for instance it is the default when no
-       * resolution metadata was set in Exif version 2.32, and below,
-       * standard). This historical value will only ever apply to loaded
-       * images. New images will continue having more modern or
-       * templated defaults.
-       */
-      private->xresolution     = 72.0;
-      private->yresolution     = 72.0;
-      private->resolution_unit = GIMP_UNIT_INCH;
-    }
-}
-
-/**
- * gimp_image_set_exported_file:
- * @image: A #GimpImage.
- * @file:
- *
- * Sets the file this image was last exported to. Note that saving as
- * XCF is not "exporting".
- **/
-void
-gimp_image_set_exported_file (GimpImage *image,
-                              GFile     *file)
-{
-  GimpImagePrivate *private;
-
-  g_return_if_fail (GIMP_IS_IMAGE (image));
-  g_return_if_fail (file == NULL || G_IS_FILE (file));
-
-  private = GIMP_IMAGE_GET_PRIVATE (image);
-
-  if (g_set_object (&private->exported_file, file))
-    {
-      gimp_object_name_changed (GIMP_OBJECT (image));
-    }
+  return gimp_image_get_file (image);
 }
 
 /**
@@ -2400,26 +2277,15 @@
 gimp_image_format_display_uri (GimpImage *image,
                                gboolean   basename)
 {
-  const gchar *uri_format    = NULL;
-  const gchar *export_status = NULL;
-  GFile       *file          = NULL;
-  GFile       *source        = NULL;
-  GFile       *dest          = NULL;
-  GFile       *display_file  = NULL;
-  gboolean     is_imported;
-  gboolean     is_exported;
-  gchar       *display_uri   = NULL;
-  gchar       *format_string;
+  const gchar *uri_format   = NULL;
+  GFile       *file         = NULL;
+  GFile       *display_file = NULL;
+  gchar       *display_uri  = NULL;
   gchar       *tmp;
 
   g_return_val_if_fail (GIMP_IS_IMAGE (image), NULL);
 
-  file   = gimp_image_get_file (image);
-  source = gimp_image_get_imported_file (image);
-  dest   = gimp_image_get_exported_file (image);
-
-  is_imported = (source != NULL);
-  is_exported = (dest   != NULL);
+  file = gimp_image_get_file (image);
 
   if (file)
     {
@@ -2428,34 +2294,6 @@
     }
   else
     {
-      if (is_imported)
-        display_file = source;
-
-      /* Calculate filename suffix */
-      if (! gimp_image_is_export_dirty (image))
-        {
-          if (is_exported)
-            {
-              display_file  = dest;
-              export_status = _(" (exported)");
-            }
-          else if (is_imported)
-            {
-              export_status = _(" (overwritten)");
-            }
-          else
-            {
-              g_warning ("Unexpected code path, Save+export implementation is buggy!");
-            }
-        }
-      else if (is_imported)
-        {
-          export_status = _(" (imported)");
-        }
-
-      if (display_file)
-        display_file = gimp_file_with_new_extension (display_file, NULL);
-
       uri_format = "[%s]";
     }
 
@@ -2469,14 +2307,10 @@
 
   g_object_unref (display_file);
 
-  format_string = g_strconcat (uri_format, export_status, NULL);
-
-  tmp = g_strdup_printf (format_string, display_uri);
+  tmp = g_strdup_printf (uri_format, display_uri);
   g_free (display_uri);
   display_uri = tmp;
 
-  g_free (format_string);
-
   return display_uri;
 }
 
@@ -2544,23 +2378,6 @@
   return GIMP_IMAGE_GET_PRIVATE (image)->save_proc;
 }
 
-void
-gimp_image_set_export_proc (GimpImage           *image,
-                            GimpPlugInProcedure *proc)
-{
-  g_return_if_fail (GIMP_IS_IMAGE (image));
-
-  GIMP_IMAGE_GET_PRIVATE (image)->export_proc = proc;
-}
-
-GimpPlugInProcedure *
-gimp_image_get_export_proc (GimpImage *image)
-{
-  g_return_val_if_fail (GIMP_IS_IMAGE (image), NULL);
-
-  return GIMP_IMAGE_GET_PRIVATE (image)->export_proc;
-}
-
 gint
 gimp_image_get_xcf_version (GimpImage    *image,
                             gboolean      zlib_compression,
@@ -3535,7 +3352,6 @@
   private = GIMP_IMAGE_GET_PRIVATE (image);
 
   private->dirty++;
-  private->export_dirty++;
 
   if (! private->dirty_time)
     private->dirty_time = time (NULL);
@@ -3558,7 +3374,6 @@
   private = GIMP_IMAGE_GET_PRIVATE (image);
 
   private->dirty--;
-  private->export_dirty--;
 
   g_signal_emit (image, gimp_image_signals[CLEAN], 0, dirty_mask);
 
@@ -3584,22 +3399,6 @@
   gimp_object_name_changed (GIMP_OBJECT (image));
 }
 
-void
-gimp_image_export_clean_all (GimpImage *image)
-{
-  GimpImagePrivate *private;
-
-  g_return_if_fail (GIMP_IS_IMAGE (image));
-
-  private = GIMP_IMAGE_GET_PRIVATE (image);
-
-  private->export_dirty = 0;
-
-  g_signal_emit (image, gimp_image_signals[CLEAN], 0, GIMP_DIRTY_ALL);
-
-  gimp_object_name_changed (GIMP_OBJECT (image));
-}
-
 /**
  * gimp_image_is_dirty:
  * @image:
@@ -3614,20 +3413,6 @@
   return GIMP_IMAGE_GET_PRIVATE (image)->dirty != 0;
 }
 
-/**
- * gimp_image_is_export_dirty:
- * @image:
- *
- * Returns: True if the image export is dirty, false otherwise.
- **/
-gboolean
-gimp_image_is_export_dirty (GimpImage *image)
-{
-  g_return_val_if_fail (GIMP_IS_IMAGE (image), FALSE);
-
-  return GIMP_IMAGE_GET_PRIVATE (image)->export_dirty != 0;
-}
-
 gint64
 gimp_image_get_dirty_time (GimpImage *image)
 {
@@ -3640,8 +3425,7 @@
  * gimp_image_saving:
  * @image:
  *
- * Emits the "saving" signal, indicating that @image is about to be saved,
- * or exported.
+ * Emits the "saving" signal, indicating that @image is about to be saved.
  */
 void
 gimp_image_saving (GimpImage *image)
@@ -3669,24 +3453,6 @@
   g_signal_emit (image, gimp_image_signals[SAVED], 0, file);
 }
 
-/**
- * gimp_image_exported:
- * @image:
- * @file:
- *
- * Emits the "exported" signal, indicating that @image was exported to the
- * location specified by @file.
- */
-void
-gimp_image_exported (GimpImage *image,
-                     GFile     *file)
-{
-  g_return_if_fail (GIMP_IS_IMAGE (image));
-  g_return_if_fail (G_IS_FILE (file));
-
-  g_signal_emit (image, gimp_image_signals[EXPORTED], 0, file);
-}
-
 
 /*  flush this image's displays  */
 
diff -urN gimp-2.10.34-orig/app/core/gimpimage.h gimp-2.10.34/app/core/gimpimage.h
--- gimp-2.10.34-orig/app/core/gimpimage.h	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/core/gimpimage.h	2023-11-06 14:49:33 +0900
@@ -145,17 +145,11 @@
 GFile         * gimp_image_get_file              (GimpImage          *image);
 GFile         * gimp_image_get_untitled_file     (GimpImage          *image);
 GFile         * gimp_image_get_file_or_untitled  (GimpImage          *image);
-GFile         * gimp_image_get_imported_file     (GimpImage          *image);
-GFile         * gimp_image_get_exported_file     (GimpImage          *image);
 GFile         * gimp_image_get_save_a_copy_file  (GimpImage          *image);
 GFile         * gimp_image_get_any_file          (GimpImage          *image);
 
 void            gimp_image_set_file              (GimpImage          *image,
                                                   GFile              *file);
-void            gimp_image_set_imported_file     (GimpImage          *image,
-                                                  GFile              *file);
-void            gimp_image_set_exported_file     (GimpImage          *image,
-                                                  GFile              *file);
 void            gimp_image_set_save_a_copy_file  (GimpImage          *image,
                                                   GFile              *file);
 
@@ -171,11 +165,6 @@
 void            gimp_image_saving                (GimpImage          *image);
 void            gimp_image_saved                 (GimpImage          *image,
                                                   GFile              *file);
-void            gimp_image_set_export_proc       (GimpImage          *image,
-                                                  GimpPlugInProcedure *proc);
-GimpPlugInProcedure * gimp_image_get_export_proc (GimpImage          *image);
-void            gimp_image_exported              (GimpImage          *image,
-                                                  GFile              *file);
 
 gint            gimp_image_get_xcf_version       (GimpImage          *image,
                                                   gboolean            zlib_compression,
@@ -287,9 +276,7 @@
 gint            gimp_image_clean                 (GimpImage          *image,
                                                   GimpDirtyMask       dirty_mask);
 void            gimp_image_clean_all             (GimpImage          *image);
-void            gimp_image_export_clean_all      (GimpImage          *image);
 gint            gimp_image_is_dirty              (GimpImage          *image);
-gboolean        gimp_image_is_export_dirty       (GimpImage          *image);
 gint64          gimp_image_get_dirty_time        (GimpImage          *image);
 
 
diff -urN gimp-2.10.34-orig/app/dialogs/dialogs-constructors.c gimp-2.10.34/app/dialogs/dialogs-constructors.c
--- gimp-2.10.34-orig/app/dialogs/dialogs-constructors.c	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/dialogs/dialogs-constructors.c	2023-11-06 14:49:33 +0900
@@ -123,16 +123,7 @@
                        GimpUIManager     *ui_manager,
                        gint               view_size)
 {
-  return file_save_dialog_new (context->gimp, FALSE);
-}
-
-GtkWidget *
-dialogs_file_export_new (GimpDialogFactory *factory,
-                         GimpContext       *context,
-                         GimpUIManager     *ui_manager,
-                         gint               view_size)
-{
-  return file_save_dialog_new (context->gimp, TRUE);
+  return file_save_dialog_new (context->gimp);
 }
 
 GtkWidget *
diff -urN gimp-2.10.34-orig/app/dialogs/dialogs-constructors.h gimp-2.10.34/app/dialogs/dialogs-constructors.h
--- gimp-2.10.34-orig/app/dialogs/dialogs-constructors.h	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/dialogs/dialogs-constructors.h	2023-11-06 14:49:33 +0900
@@ -37,10 +37,6 @@
                                                  GimpContext       *context,
                                                  GimpUIManager     *ui_manager,
                                                  gint               view_size);
-GtkWidget * dialogs_file_export_new             (GimpDialogFactory *factory,
-                                                 GimpContext       *context,
-                                                 GimpUIManager     *ui_manager,
-                                                 gint               view_size);
 GtkWidget * dialogs_preferences_get             (GimpDialogFactory *factory,
                                                  GimpContext       *context,
                                                  GimpUIManager     *ui_manager,
diff -urN gimp-2.10.34-orig/app/dialogs/dialogs.c gimp-2.10.34/app/dialogs/dialogs.c
--- gimp-2.10.34-orig/app/dialogs/dialogs.c	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/dialogs/dialogs.c	2023-11-06 14:49:33 +0900
@@ -266,8 +266,6 @@
             dialogs_file_open_location_new, FALSE, TRUE, FALSE),
   TOPLEVEL ("gimp-file-save-dialog",
             dialogs_file_save_new,          FALSE, TRUE, TRUE),
-  TOPLEVEL ("gimp-file-export-dialog",
-            dialogs_file_export_new,        FALSE, TRUE, TRUE),
 
   /*  singleton toplevels  */
   TOPLEVEL ("gimp-preferences-dialog",
diff -urN gimp-2.10.34-orig/app/dialogs/file-save-dialog.c gimp-2.10.34/app/dialogs/file-save-dialog.c
--- gimp-2.10.34-orig/app/dialogs/file-save-dialog.c	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/dialogs/file-save-dialog.c	2023-11-06 14:49:33 +0900
@@ -39,7 +39,6 @@
 #include "file/gimp-file.h"
 
 #include "widgets/gimpactiongroup.h"
-#include "widgets/gimpexportdialog.h"
 #include "widgets/gimphelp-ids.h"
 #include "widgets/gimpmessagebox.h"
 #include "widgets/gimpmessagedialog.h"
@@ -58,7 +57,6 @@
 {
   CHECK_URI_FAIL,
   CHECK_URI_OK,
-  CHECK_URI_SWITCH_DIALOGS
 } CheckUriResult;
 
 
@@ -80,9 +78,6 @@
 static GimpPlugInProcedure *
                  file_save_dialog_find_procedure            (GimpFileDialog       *dialog,
                                                              GFile                *file);
-static gboolean  file_save_dialog_switch_dialogs            (GimpFileDialog       *file_dialog,
-                                                             Gimp                 *gimp,
-                                                             const gchar          *basename);
 static gboolean  file_save_dialog_use_extension             (GtkWidget            *save_dialog,
                                                              GFile                *file);
 
@@ -90,27 +85,16 @@
 /*  public functions  */
 
 GtkWidget *
-file_save_dialog_new (Gimp     *gimp,
-                      gboolean  export)
+file_save_dialog_new (Gimp     *gimp)
 {
   GtkWidget *dialog;
 
   g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL);
 
-  if (! export)
-    {
-      dialog = gimp_save_dialog_new (gimp);
-
-      gimp_file_dialog_load_state (GIMP_FILE_DIALOG (dialog),
-                                   "gimp-file-save-dialog-state");
-    }
-  else
-    {
-      dialog = gimp_export_dialog_new (gimp);
+  dialog = gimp_save_dialog_new (gimp);
 
-      gimp_file_dialog_load_state (GIMP_FILE_DIALOG (dialog),
-                                   "gimp-file-export-dialog-state");
-    }
+  gimp_file_dialog_load_state (GIMP_FILE_DIALOG (dialog),
+                               "gimp-file-save-dialog-state");
 
   g_signal_connect (dialog, "confirm-overwrite",
                     G_CALLBACK (file_save_dialog_confirm_overwrite),
@@ -151,14 +135,7 @@
   gchar               *basename;
   GimpPlugInProcedure *save_proc;
 
-  if (GIMP_IS_SAVE_DIALOG (dialog))
-    {
-      gimp_file_dialog_save_state (file_dialog, "gimp-file-save-dialog-state");
-    }
-  else /* GIMP_IS_EXPORT_DIALOG (dialog) */
-    {
-      gimp_file_dialog_save_state (file_dialog, "gimp-file-export-dialog-state");
-    }
+  gimp_file_dialog_save_state (file_dialog, "gimp-file-save-dialog-state");
 
   if (response_id != GTK_RESPONSE_OK)
     {
@@ -179,25 +156,17 @@
 
     case CHECK_URI_OK:
       {
-        gboolean xcf_compression = FALSE;
+        gboolean xcf_compression = GIMP_SAVE_DIALOG (dialog)->compression;
 
         gimp_file_dialog_set_sensitive (file_dialog, FALSE);
 
-        if (GIMP_IS_SAVE_DIALOG (dialog))
-          {
-            xcf_compression = GIMP_SAVE_DIALOG (dialog)->compression;
-          }
-
         if (file_save_dialog_save_image (GIMP_PROGRESS (dialog),
                                          gimp,
                                          file_dialog->image,
                                          file,
                                          save_proc,
                                          GIMP_RUN_INTERACTIVE,
-                                         GIMP_IS_SAVE_DIALOG (dialog) &&
                                          ! GIMP_SAVE_DIALOG (dialog)->save_a_copy,
-                                         FALSE,
-                                         GIMP_IS_EXPORT_DIALOG (dialog),
                                          xcf_compression,
                                          FALSE))
           {
@@ -206,30 +175,19 @@
              * save. Lower-level URI management is handled in
              * file_save()
              */
-            if (GIMP_IS_SAVE_DIALOG (dialog))
-              {
-                if (GIMP_SAVE_DIALOG (dialog)->save_a_copy)
-                  gimp_image_set_save_a_copy_file (file_dialog->image, file);
+            if (GIMP_SAVE_DIALOG (dialog)->save_a_copy)
+              gimp_image_set_save_a_copy_file (file_dialog->image, file);
 
-                g_object_set_data_full (G_OBJECT (file_dialog->image->gimp),
-                                        GIMP_FILE_SAVE_LAST_FILE_KEY,
-                                        g_object_ref (file),
-                                        (GDestroyNotify) g_object_unref);
-              }
-            else
-              {
-                g_object_set_data_full (G_OBJECT (file_dialog->image->gimp),
-                                        GIMP_FILE_EXPORT_LAST_FILE_KEY,
-                                        g_object_ref (file),
-                                        (GDestroyNotify) g_object_unref);
-              }
+            g_object_set_data_full (G_OBJECT (file_dialog->image->gimp),
+                                    GIMP_FILE_SAVE_LAST_FILE_KEY,
+                                    g_object_ref (file),
+                                    (GDestroyNotify) g_object_unref);
 
             /*  make sure the menus are updated with the keys we've just set  */
             gimp_image_flush (file_dialog->image);
 
             /* Handle close-after-saving */
-            if (GIMP_IS_SAVE_DIALOG (dialog)                  &&
-                GIMP_SAVE_DIALOG (dialog)->close_after_saving &&
+            if (GIMP_SAVE_DIALOG (dialog)->close_after_saving &&
                 GIMP_SAVE_DIALOG (dialog)->display_to_close)
               {
                 GimpDisplay *display = GIMP_DISPLAY (GIMP_SAVE_DIALOG (dialog)->display_to_close);
@@ -249,14 +207,6 @@
         gimp_file_dialog_set_sensitive (file_dialog, TRUE);
       }
       break;
-
-    case CHECK_URI_SWITCH_DIALOGS:
-      file_dialog->busy = TRUE; /* prevent destruction */
-      gtk_dialog_response (GTK_DIALOG (dialog), FILE_SAVE_RESPONSE_OTHER_DIALOG);
-      file_dialog->busy = FALSE;
-
-      gtk_widget_destroy (dialog);
-      break;
     }
 
   g_object_unref (file_dialog->image);
@@ -325,11 +275,11 @@
 
           GIMP_LOG (SAVE_DIALOG, "basename has no '.', trying to add extension");
 
-          if (! save_proc && GIMP_IS_SAVE_DIALOG (dialog))
+          if (! save_proc)
             {
               ext = "xcf";
             }
-          else if (save_proc && save_proc->extensions_list)
+          else if (save_proc->extensions_list)
             {
               ext = save_proc->extensions_list->data;
             }
@@ -389,11 +339,6 @@
               GIMP_LOG (SAVE_DIALOG,
                         "unable to figure save_proc, bailing out");
 
-              if (file_save_dialog_switch_dialogs (file_dialog, gimp, basename))
-                {
-                  goto switch_dialogs;
-                }
-
               goto fail;
             }
         }
@@ -423,11 +368,6 @@
           GIMP_LOG (SAVE_DIALOG,
                     "basename has no useful extension, bailing out");
 
-          if (file_save_dialog_switch_dialogs (file_dialog, gimp, basename))
-            {
-              goto switch_dialogs;
-            }
-
           goto fail;
         }
 
@@ -508,13 +448,6 @@
   g_free (basename);
 
   return CHECK_URI_FAIL;
-
- switch_dialogs:
-
-  g_object_unref (file);
-  g_free (basename);
-
-  return CHECK_URI_SWITCH_DIALOGS;
 }
 
 /*
@@ -562,141 +495,13 @@
 file_save_dialog_find_procedure (GimpFileDialog *file_dialog,
                                  GFile          *file)
 {
-  GimpPlugInManager      *manager = file_dialog->gimp->plug_in_manager;
-  GimpFileProcedureGroup  group;
-
-  if (GIMP_IS_SAVE_DIALOG (file_dialog))
-    group = GIMP_FILE_PROCEDURE_GROUP_SAVE;
-  else
-    group = GIMP_FILE_PROCEDURE_GROUP_EXPORT;
-
-  return gimp_plug_in_manager_file_procedure_find (manager, group, file, NULL);
-}
-
-static gboolean
-file_save_other_dialog_activated (GtkWidget   *label,
-                                  const gchar *uri,
-                                  GtkDialog   *dialog)
-{
-  gtk_dialog_response (dialog, FILE_SAVE_RESPONSE_OTHER_DIALOG);
-
-  return TRUE;
-}
-
-static gboolean
-file_save_dialog_switch_dialogs (GimpFileDialog *file_dialog,
-                                 Gimp           *gimp,
-                                 const gchar    *basename)
-{
-  GimpPlugInProcedure    *proc_in_other_group;
-  GimpFileProcedureGroup  other_group;
-  GFile                  *file;
-  gboolean                switch_dialogs = FALSE;
-
-  file = g_file_new_for_uri (basename);
-
-  if (GIMP_IS_EXPORT_DIALOG (file_dialog))
-    other_group = GIMP_FILE_PROCEDURE_GROUP_SAVE;
-  else
-    other_group = GIMP_FILE_PROCEDURE_GROUP_EXPORT;
-
-  proc_in_other_group =
-    gimp_plug_in_manager_file_procedure_find (gimp->plug_in_manager,
-                                              other_group, file, NULL);
-
-  g_object_unref (file);
-
-  if (proc_in_other_group)
-    {
-      GtkWidget   *dialog;
-      const gchar *primary;
-      const gchar *message;
-      const gchar *link;
-
-      if (GIMP_IS_EXPORT_DIALOG (file_dialog))
-        {
-          primary = _("The given filename cannot be used for exporting");
-          message = _("You can use this dialog to export to various file formats. "
-                      "If you want to save the image to the GIMP XCF format, use "
-                      "File→Save instead.");
-          link    = _("Take me to the Save dialog");
-        }
-      else
-        {
-          primary = _("The given filename cannot be used for saving");
-          message = _("You can use this dialog to save to the GIMP XCF "
-                      "format. Use File→Export to export to other file formats.");
-          link    = _("Take me to the Export dialog");
-        }
-
-      dialog = gimp_message_dialog_new (_("Extension Mismatch"),
-                                        GIMP_ICON_DIALOG_WARNING,
-                                        GTK_WIDGET (file_dialog),
-                                        GTK_DIALOG_DESTROY_WITH_PARENT,
-                                        gimp_standard_help_func, NULL,
-
-                                        _("_OK"), GTK_RESPONSE_OK,
-
-                                        NULL);
-
-      gimp_message_box_set_primary_text (GIMP_MESSAGE_DIALOG (dialog)->box,
-                                         "%s", primary);
-
-      gimp_message_box_set_text (GIMP_MESSAGE_DIALOG (dialog)->box,
-                                 "%s", message);
-
-      if (GIMP_IS_EXPORT_DIALOG (file_dialog) ||
-          (! GIMP_SAVE_DIALOG (file_dialog)->save_a_copy &&
-          ! GIMP_SAVE_DIALOG (file_dialog)->close_after_saving))
-        {
-          GtkWidget *label;
-          gchar     *markup;
-
-          markup = g_strdup_printf ("<a href=\"other-dialog\">%s</a>", link);
-          label = gtk_label_new (markup);
-          g_free (markup);
-
-          gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
-          gtk_label_set_xalign (GTK_LABEL (label), 0.0);
-          gtk_box_pack_start (GTK_BOX (GIMP_MESSAGE_DIALOG (dialog)->box), label,
-                              FALSE, FALSE, 0);
-          gtk_widget_show (label);
-
-          g_signal_connect (label, "activate-link",
-                            G_CALLBACK (file_save_other_dialog_activated),
-                            dialog);
-        }
-
-      gtk_dialog_set_response_sensitive (GTK_DIALOG (file_dialog),
-                                         GTK_RESPONSE_CANCEL, FALSE);
-      gtk_dialog_set_response_sensitive (GTK_DIALOG (file_dialog),
-                                         GTK_RESPONSE_OK, FALSE);
-
-      g_object_ref (dialog);
-
-      if (gimp_dialog_run (GIMP_DIALOG (dialog)) == FILE_SAVE_RESPONSE_OTHER_DIALOG)
-        {
-          switch_dialogs = TRUE;
-        }
-
-      gtk_widget_destroy (dialog);
-      g_object_unref (dialog);
-
-      gtk_dialog_set_response_sensitive (GTK_DIALOG (file_dialog),
-                                         GTK_RESPONSE_CANCEL, TRUE);
-      gtk_dialog_set_response_sensitive (GTK_DIALOG (file_dialog),
-                                         GTK_RESPONSE_OK, TRUE);
-    }
-  else
-    {
-      gimp_message (gimp, G_OBJECT (file_dialog), GIMP_MESSAGE_WARNING,
-                    _("The given filename does not have any known "
-                      "file extension. Please enter a known file "
-                      "extension or select a file format from the "
-                      "file format list."));
-    }
+  GimpPlugInManager   *manager = file_dialog->gimp->plug_in_manager;
+  GimpPlugInProcedure *proc;
 
-  return switch_dialogs;
+  proc = gimp_plug_in_manager_file_procedure_find (manager, GIMP_FILE_PROCEDURE_GROUP_SAVE, file, NULL);
+  if (!proc)
+    proc = gimp_plug_in_manager_file_procedure_find (manager, GIMP_FILE_PROCEDURE_GROUP_EXPORT, file, NULL);
+  return proc;
 }
 
 static gboolean
@@ -757,8 +562,6 @@
                              GimpPlugInProcedure *save_proc,
                              GimpRunMode          run_mode,
                              gboolean             change_saved_state,
-                             gboolean             export_backward,
-                             gboolean             export_forward,
                              gboolean             xcf_compression,
                              gboolean             verbose_cancel)
 {
@@ -778,7 +581,7 @@
 
   status = file_save (gimp, image, progress, file,
                       save_proc, run_mode,
-                      change_saved_state, export_backward, export_forward,
+                      change_saved_state, FALSE, FALSE,
                       &error);
 
   switch (status)
diff -urN gimp-2.10.34-orig/app/dialogs/file-save-dialog.h gimp-2.10.34/app/dialogs/file-save-dialog.h
--- gimp-2.10.34-orig/app/dialogs/file-save-dialog.h	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/dialogs/file-save-dialog.h	2023-11-06 14:49:33 +0900
@@ -22,8 +22,7 @@
 #define FILE_SAVE_RESPONSE_OTHER_DIALOG -23
 
 
-GtkWidget * file_save_dialog_new        (Gimp                *gimp,
-                                         gboolean             export);
+GtkWidget * file_save_dialog_new        (Gimp                *gimp);
 
 gboolean    file_save_dialog_save_image (GimpProgress        *progress_and_handler,
                                          Gimp                *gimp,
@@ -32,8 +31,6 @@
                                          GimpPlugInProcedure *write_proc,
                                          GimpRunMode          run_mode,
                                          gboolean             save_a_copy,
-                                         gboolean             export_backward,
-                                         gboolean             export_forward,
                                          gboolean             xcf_compression,
                                          gboolean             verbose_cancel);
 
diff -urN gimp-2.10.34-orig/app/dialogs/quit-dialog.c gimp-2.10.34/app/dialogs/quit-dialog.c
--- gimp-2.10.34-orig/app/dialogs/quit-dialog.c	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/dialogs/quit-dialog.c	2023-11-06 14:49:33 +0900
@@ -448,7 +448,6 @@
                                       gpointer           data)
 {
   GimpViewRenderer *renderer;
-  GimpImage        *image;
   gchar            *name;
 
   gtk_tree_model_get (tree_model, iter,
@@ -456,47 +455,10 @@
                       GIMP_CONTAINER_TREE_STORE_COLUMN_NAME,     &name,
                       -1);
 
-  image = GIMP_IMAGE (renderer->viewable);
-
-  if (gimp_image_is_export_dirty (image))
-    {
-      g_object_set (cell,
-                    "markup", NULL,
-                    "text",   name,
-                    NULL);
-    }
-  else
-    {
-      GFile       *file;
-      const gchar *filename;
-      gchar       *escaped_name;
-      gchar       *escaped_filename;
-      gchar       *exported;
-      gchar       *markup;
-
-      file = gimp_image_get_exported_file (image);
-      if (! file)
-        file = gimp_image_get_imported_file (image);
-
-      filename = gimp_file_get_utf8_name (file);
-
-      escaped_name     = g_markup_escape_text (name, -1);
-      escaped_filename = g_markup_escape_text (filename, -1);
-
-      exported = g_strdup_printf (_("Exported to %s"), escaped_filename);
-      markup = g_strdup_printf ("%s\n<i>%s</i>", escaped_name, exported);
-      g_free (exported);
-
-      g_free (escaped_name);
-      g_free (escaped_filename);
-
-      g_object_set (cell,
-                    "text",   NULL,
-                    "markup", markup,
-                    NULL);
-
-      g_free (markup);
-    }
+  g_object_set (cell,
+                "markup", NULL,
+                "text",   name,
+                NULL);
 
   g_object_unref (renderer);
   g_free (name);
diff -urN gimp-2.10.34-orig/app/display/gimpdisplayshell-close.c gimp-2.10.34/app/display/gimpdisplayshell-close.c
--- gimp-2.10.34-orig/app/display/gimpdisplayshell-close.c	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/display/gimpdisplayshell-close.c	2023-11-06 14:49:33 +0900
@@ -54,9 +54,6 @@
                                                         GimpImage        *image);
 static void      gimp_display_shell_close_name_changed (GimpImage        *image,
                                                         GimpMessageBox   *box);
-static void      gimp_display_shell_close_exported     (GimpImage        *image,
-                                                        GFile            *file,
-                                                        GimpMessageBox   *box);
 static gboolean  gimp_display_shell_close_time_changed (GimpMessageBox   *box);
 static void      gimp_display_shell_close_response     (GtkWidget        *widget,
                                                         gboolean          close,
@@ -229,9 +226,6 @@
   g_signal_connect_object (image, "name-changed",
                            G_CALLBACK (gimp_display_shell_close_name_changed),
                            box, 0);
-  g_signal_connect_object (image, "exported",
-                           G_CALLBACK (gimp_display_shell_close_exported),
-                           box, 0);
 
   gimp_display_shell_close_name_changed (image, box);
 
@@ -276,23 +270,14 @@
                                      gimp_image_get_display_name (image));
 }
 
-static void
-gimp_display_shell_close_exported (GimpImage      *image,
-                                   GFile          *file,
-                                   GimpMessageBox *box)
-{
-  gimp_display_shell_close_time_changed (box);
-}
-
 static gboolean
 gimp_display_shell_close_time_changed (GimpMessageBox *box)
 {
-  GimpImage   *image       = g_object_get_data (G_OBJECT (box), "gimp-image");
-  gint64       dirty_time  = gimp_image_get_dirty_time (image);
-  gchar       *time_text   = NULL;
-  gchar       *export_text = NULL;
+  GimpImage   *image      = g_object_get_data (G_OBJECT (box), "gimp-image");
+  gint64       dirty_time = gimp_image_get_dirty_time (image);
+  gchar       *time_text  = NULL;
 
-  if (dirty_time)
+  if (dirty_time)  // must be true; conditional kept to minimize diffs -achurch
     {
       gint hours   = 0;
       gint minutes = 0;
@@ -337,27 +322,9 @@
         }
     }
 
-  if (! gimp_image_is_export_dirty (image))
-    {
-      GFile *file;
-
-      file = gimp_image_get_exported_file (image);
-      if (! file)
-        file = gimp_image_get_imported_file (image);
-
-      export_text = g_strdup_printf (_("The image has been exported to '%s'."),
-                                     gimp_file_get_utf8_name (file));
-    }
-
-  if (time_text && export_text)
-    gimp_message_box_set_text (box, "%s\n\n%s", time_text, export_text);
-  else if (time_text || export_text)
-    gimp_message_box_set_text (box, "%s", time_text ? time_text : export_text);
-  else
-    gimp_message_box_set_text (box, "%s", time_text);
+  gimp_message_box_set_text (box, "%s", time_text);
 
   g_free (time_text);
-  g_free (export_text);
 
   return TRUE;
 }
diff -urN gimp-2.10.34-orig/app/display/gimpdisplayshell-handlers.c gimp-2.10.34/app/display/gimpdisplayshell-handlers.c
--- gimp-2.10.34-orig/app/display/gimpdisplayshell-handlers.c	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/display/gimpdisplayshell-handlers.c	2023-11-06 14:49:33 +0900
@@ -134,9 +134,6 @@
 static void   gimp_display_shell_saved_handler              (GimpImage        *image,
                                                              GFile            *file,
                                                              GimpDisplayShell *shell);
-static void   gimp_display_shell_exported_handler           (GimpImage        *image,
-                                                             GFile            *file,
-                                                             GimpDisplayShell *shell);
 
 static void   gimp_display_shell_active_vectors_handler     (GimpImage        *image,
                                                              GimpDisplayShell *shell);
@@ -290,9 +287,6 @@
   g_signal_connect (image, "saved",
                     G_CALLBACK (gimp_display_shell_saved_handler),
                     shell);
-  g_signal_connect (image, "exported",
-                    G_CALLBACK (gimp_display_shell_exported_handler),
-                    shell);
 
   g_signal_connect (image, "active-vectors-changed",
                     G_CALLBACK (gimp_display_shell_active_vectors_handler),
@@ -511,9 +505,6 @@
     }
 
   g_signal_handlers_disconnect_by_func (image,
-                                        gimp_display_shell_exported_handler,
-                                        shell);
-  g_signal_handlers_disconnect_by_func (image,
                                         gimp_display_shell_saved_handler,
                                         shell);
   g_signal_handlers_disconnect_by_func (image,
@@ -945,19 +936,6 @@
                             gimp_file_get_utf8_name (file));
 }
 
-static void
-gimp_display_shell_exported_handler (GimpImage        *image,
-                                     GFile            *file,
-                                     GimpDisplayShell *shell)
-{
-  GimpStatusbar *statusbar = gimp_display_shell_get_statusbar (shell);
-
-  gimp_statusbar_push_temp (statusbar, GIMP_MESSAGE_INFO,
-                            GIMP_ICON_DOCUMENT_SAVE,
-                            _("Image exported to '%s'"),
-                            gimp_file_get_utf8_name (file));
-}
-
 static void
 gimp_display_shell_active_vectors_handler (GimpImage        *image,
                                            GimpDisplayShell *shell)
diff -urN gimp-2.10.34-orig/app/display/gimpdisplayshell-title.c gimp-2.10.34/app/display/gimpdisplayshell-title.c
--- gimp-2.10.34-orig/app/display/gimpdisplayshell-title.c	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/display/gimpdisplayshell-title.c	2023-11-06 14:49:33 +0900
@@ -302,8 +302,7 @@
                   i += print (title, title_len, i, "%%N");
                   break;
                 }
-              if (gimp_image_is_export_dirty (image))
-                title[i++] = format[1];
+              /* obsolete, no output */
               format++;
               break;
 
@@ -314,8 +313,7 @@
                   i += print (title, title_len, i, "%%E");
                   break;
                 }
-              if (! gimp_image_is_export_dirty (image))
-                title[i++] = format[1];
+              /* obsolete, no output */
               format++;
               break;
 
diff -urN gimp-2.10.34-orig/app/file/file-import.c gimp-2.10.34/app/file/file-import.c
--- gimp-2.10.34-orig/app/file/file-import.c	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/file/file-import.c	2023-11-06 14:49:33 +0900
@@ -101,9 +101,5 @@
 
   gimp_image_import_color_profile (image, context, progress, interactive);
 
-  /* Remember the import source */
-  gimp_image_set_imported_file (image, file);
-
-  /* We shall treat this file as an Untitled file */
-  gimp_image_set_file (image, NULL);
+  gimp_image_set_file (image, file);
 }
diff -urN gimp-2.10.34-orig/app/file/file-save.c gimp-2.10.34/app/file/file-save.c
--- gimp-2.10.34-orig/app/file/file-save.c	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/file/file-save.c	2023-11-06 14:49:33 +0900
@@ -59,8 +59,8 @@
            GimpPlugInProcedure *file_proc,
            GimpRunMode          run_mode,
            gboolean             change_saved_state,
-           gboolean             export_backward,
-           gboolean             export_forward,
+           gboolean             export_backward,  // unused
+           gboolean             export_forward,  // unused
            GError             **error)
 {
   GimpDrawable      *drawable;
@@ -81,8 +81,6 @@
   g_return_val_if_fail (G_IS_FILE (file), GIMP_PDB_CALLING_ERROR);
   g_return_val_if_fail (GIMP_IS_PLUG_IN_PROCEDURE (file_proc),
                         GIMP_PDB_CALLING_ERROR);
-  g_return_val_if_fail ((export_backward && export_forward) == FALSE,
-                        GIMP_PDB_CALLING_ERROR);
   g_return_val_if_fail (error == NULL || *error == NULL,
                         GIMP_PDB_CALLING_ERROR);
 
@@ -249,46 +247,10 @@
         {
           gimp_image_set_file (image, file);
           gimp_image_set_save_proc (image, file_proc);
-
-          /* Forget the import source when we save. We interpret a
-           * save as that the user is not interested in being able
-           * to quickly export back to the original any longer
-           */
-          gimp_image_set_imported_file (image, NULL);
-
           gimp_image_clean_all (image);
         }
-      else if (export_backward)
-        {
-          /* We exported the image back to its imported source,
-           * change nothing about export/import flags, only set
-           * the export state to clean
-           */
-          gimp_image_export_clean_all (image);
-        }
-      else if (export_forward)
-        {
-          /* Remember the last entered Export URI for the image. We
-           * only need to do this explicitly when exporting. It
-           * happens implicitly when saving since the GimpObject name
-           * of a GimpImage is the last-save URI
-           */
-          gimp_image_set_exported_file (image, file);
-          gimp_image_set_export_proc (image, file_proc);
-
-          /* An image can not be considered both exported and imported
-           * at the same time, so stop consider it as imported now
-           * that we consider it exported.
-           */
-          gimp_image_set_imported_file (image, NULL);
 
-          gimp_image_export_clean_all (image);
-        }
-
-      if (export_backward || export_forward)
-        gimp_image_exported (image, file);
-      else
-        gimp_image_saved (image, file);
+      gimp_image_saved (image, file);
 
       documents = GIMP_DOCUMENT_LIST (image->gimp->documents);
 
diff -urN gimp-2.10.34-orig/app/pdb/image-cmds.c gimp-2.10.34/app/pdb/image-cmds.c
--- gimp-2.10.34-orig/app/pdb/image-cmds.c	2023-02-22 04:56:15 +0900
+++ gimp-2.10.34/app/pdb/image-cmds.c	2023-11-06 14:49:33 +0900
@@ -2386,99 +2386,6 @@
 }
 
 static GimpValueArray *
-image_get_xcf_uri_invoker (GimpProcedure         *procedure,
-                           Gimp                  *gimp,
-                           GimpContext           *context,
-                           GimpProgress          *progress,
-                           const GimpValueArray  *args,
-                           GError               **error)
-{
-  gboolean success = TRUE;
-  GimpValueArray *return_vals;
-  GimpImage *image;
-  gchar *uri = NULL;
-
-  image = gimp_value_get_image (gimp_value_array_index (args, 0), gimp);
-
-  if (success)
-    {
-      GFile *file = gimp_image_get_file (image);
-      if (file)
-        uri = g_file_get_uri (file);
-    }
-
-  return_vals = gimp_procedure_get_return_values (procedure, success,
-                                                  error ? *error : NULL);
-
-  if (success)
-    g_value_take_string (gimp_value_array_index (return_vals, 1), uri);
-
-  return return_vals;
-}
-
-static GimpValueArray *
-image_get_imported_uri_invoker (GimpProcedure         *procedure,
-                                Gimp                  *gimp,
-                                GimpContext           *context,
-                                GimpProgress          *progress,
-                                const GimpValueArray  *args,
-                                GError               **error)
-{
-  gboolean success = TRUE;
-  GimpValueArray *return_vals;
-  GimpImage *image;
-  gchar *uri = NULL;
-
-  image = gimp_value_get_image (gimp_value_array_index (args, 0), gimp);
-
-  if (success)
-    {
-      GFile *file = gimp_image_get_imported_file (image);
-      if (file)
-        uri = g_file_get_uri (file);
-    }
-
-  return_vals = gimp_procedure_get_return_values (procedure, success,
-                                                  error ? *error : NULL);
-
-  if (success)
-    g_value_take_string (gimp_value_array_index (return_vals, 1), uri);
-
-  return return_vals;
-}
-
-static GimpValueArray *
-image_get_exported_uri_invoker (GimpProcedure         *procedure,
-                                Gimp                  *gimp,
-                                GimpContext           *context,
-                                GimpProgress          *progress,
-                                const GimpValueArray  *args,
-                                GError               **error)
-{
-  gboolean success = TRUE;
-  GimpValueArray *return_vals;
-  GimpImage *image;
-  gchar *uri = NULL;
-
-  image = gimp_value_get_image (gimp_value_array_index (args, 0), gimp);
-
-  if (success)
-    {
-      GFile *file = gimp_image_get_exported_file (image);
-      if (file)
-        uri = g_file_get_uri (file);
-    }
-
-  return_vals = gimp_procedure_get_return_values (procedure, success,
-                                                  error ? *error : NULL);
-
-  if (success)
-    g_value_take_string (gimp_value_array_index (return_vals, 1), uri);
-
-  return return_vals;
-}
-
-static GimpValueArray *
 image_get_name_invoker (GimpProcedure         *procedure,
                         Gimp                  *gimp,
                         GimpContext           *context,
@@ -5161,7 +5068,7 @@
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-image-get-filename",
                                      "Returns the specified image's filename.",
-                                     "This procedure returns the specified image's filename in the filesystem encoding. The image has a filename only if it was loaded or imported from a file or has since been saved or exported. Otherwise, this function returns %NULL. See also 'gimp-image-get-uri'.",
+                                     "This procedure returns the specified image's filename in the filesystem encoding. The image has a filename only if it was loaded from a file or has since been saved. Otherwise, this function returns %NULL. See also 'gimp-image-get-uri'.",
                                      "Spencer Kimball & Peter Mattis",
                                      "Spencer Kimball & Peter Mattis",
                                      "1995-1996",
@@ -5221,7 +5128,7 @@
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-image-get-uri",
                                      "Returns the URI for the specified image.",
-                                     "This procedure returns the URI associated with the specified image. The image has an URI only if it was loaded or imported from a file or has since been saved or exported. Otherwise, this function returns %NULL. See also gimp-image-get-imported-uri to get the URI of the current file if it was imported from a non-GIMP file format and not yet saved, or gimp-image-get-exported-uri if the image has been exported to a non-GIMP file format.",
+                                     "This procedure returns the URI associated with the specified image. The image has an URI only if it was loaded from a file or has since been saved. Otherwise, this function returns %NULL.",
                                      "Sven Neumann <sven@gimp.org>",
                                      "Sven Neumann",
                                      "2009",
@@ -5243,96 +5150,6 @@
   g_object_unref (procedure);
 
   /*
-   * gimp-image-get-xcf-uri
-   */
-  procedure = gimp_procedure_new (image_get_xcf_uri_invoker);
-  gimp_object_set_static_name (GIMP_OBJECT (procedure),
-                               "gimp-image-get-xcf-uri");
-  gimp_procedure_set_static_strings (procedure,
-                                     "gimp-image-get-xcf-uri",
-                                     "Returns the XCF URI for the specified image.",
-                                     "This procedure returns the XCF URI associated with the image. If there is no such URI, this procedure returns %NULL.",
-                                     "Eric Grivel <gimp@lumenssolutions.com>",
-                                     "Eric Grivel",
-                                     "2011",
-                                     NULL);
-  gimp_procedure_add_argument (procedure,
-                               gimp_param_spec_image_id ("image",
-                                                         "image",
-                                                         "The image",
-                                                         pdb->gimp, FALSE,
-                                                         GIMP_PARAM_READWRITE));
-  gimp_procedure_add_return_value (procedure,
-                                   gimp_param_spec_string ("uri",
-                                                           "uri",
-                                                           "The imported URI. The returned value must be freed with g_free()",
-                                                           FALSE, FALSE, FALSE,
-                                                           NULL,
-                                                           GIMP_PARAM_READWRITE));
-  gimp_pdb_register_procedure (pdb, procedure);
-  g_object_unref (procedure);
-
-  /*
-   * gimp-image-get-imported-uri
-   */
-  procedure = gimp_procedure_new (image_get_imported_uri_invoker);
-  gimp_object_set_static_name (GIMP_OBJECT (procedure),
-                               "gimp-image-get-imported-uri");
-  gimp_procedure_set_static_strings (procedure,
-                                     "gimp-image-get-imported-uri",
-                                     "Returns the imported URI for the specified image.",
-                                     "This procedure returns the URI associated with the specified image if the image was imported from a non-native Gimp format. If the image was not imported, or has since been saved in the native Gimp format, this procedure returns %NULL.",
-                                     "Eric Grivel <gimp@lumenssolutions.com>",
-                                     "Eric Grivel",
-                                     "2011",
-                                     NULL);
-  gimp_procedure_add_argument (procedure,
-                               gimp_param_spec_image_id ("image",
-                                                         "image",
-                                                         "The image",
-                                                         pdb->gimp, FALSE,
-                                                         GIMP_PARAM_READWRITE));
-  gimp_procedure_add_return_value (procedure,
-                                   gimp_param_spec_string ("uri",
-                                                           "uri",
-                                                           "The imported URI. The returned value must be freed with g_free()",
-                                                           FALSE, FALSE, FALSE,
-                                                           NULL,
-                                                           GIMP_PARAM_READWRITE));
-  gimp_pdb_register_procedure (pdb, procedure);
-  g_object_unref (procedure);
-
-  /*
-   * gimp-image-get-exported-uri
-   */
-  procedure = gimp_procedure_new (image_get_exported_uri_invoker);
-  gimp_object_set_static_name (GIMP_OBJECT (procedure),
-                               "gimp-image-get-exported-uri");
-  gimp_procedure_set_static_strings (procedure,
-                                     "gimp-image-get-exported-uri",
-                                     "Returns the exported URI for the specified image.",
-                                     "This procedure returns the URI associated with the specified image if the image was exported a non-native GIMP format. If the image was not exported, this procedure returns %NULL.",
-                                     "Eric Grivel <gimp@lumenssolutions.com>",
-                                     "Eric Grivel",
-                                     "2011",
-                                     NULL);
-  gimp_procedure_add_argument (procedure,
-                               gimp_param_spec_image_id ("image",
-                                                         "image",
-                                                         "The image",
-                                                         pdb->gimp, FALSE,
-                                                         GIMP_PARAM_READWRITE));
-  gimp_procedure_add_return_value (procedure,
-                                   gimp_param_spec_string ("uri",
-                                                           "uri",
-                                                           "The exported URI. The returned value must be freed with g_free()",
-                                                           FALSE, FALSE, FALSE,
-                                                           NULL,
-                                                           GIMP_PARAM_READWRITE));
-  gimp_pdb_register_procedure (pdb, procedure);
-  g_object_unref (procedure);
-
-  /*
    * gimp-image-get-name
    */
   procedure = gimp_procedure_new (image_get_name_invoker);
@@ -5341,7 +5158,7 @@
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-image-get-name",
                                      "Returns the specified image's name.",
-                                     "This procedure returns the image's name. If the image has a filename or an URI, then the returned name contains the filename's or URI's base name (the last component of the path). Otherwise it is the translated string \"Untitled\". The returned name is formatted like the image name in the image window title, it may contain '[]', '(imported)' etc. and should only be used to label user interface elements. Never use it to construct filenames.",
+                                     "This procedure returns the image's name. If the image has a filename or an URI, then the returned name contains the filename's or URI's base name (the last component of the path). Otherwise it is the translated string \"Untitled\". The returned name is formatted like the image name in the image window title, it may contain '[]' etc. and should only be used to label user interface elements. Never use it to construct filenames.",
                                      "Spencer Kimball & Peter Mattis",
                                      "Spencer Kimball & Peter Mattis",
                                      "1995-1996",
diff -urN gimp-2.10.34-orig/app/tests/test-save-and-export.c gimp-2.10.34/app/tests/test-save-and-export.c
--- gimp-2.10.34-orig/app/tests/test-save-and-export.c	2023-02-22 04:56:16 +0900
+++ gimp-2.10.34/app/tests/test-save-and-export.c	2023-11-06 14:49:33 +0900
@@ -87,8 +87,6 @@
   GimpImage *image = gimp_test_utils_create_image_from_dialog (gimp);
 
   g_assert (gimp_image_get_file (image) == NULL);
-  g_assert (gimp_image_get_imported_file (image) == NULL);
-  g_assert (gimp_image_get_exported_file (image) == NULL);
 }
 
 /**
@@ -126,8 +124,6 @@
                            NULL /*error*/);
 
   g_assert (g_file_equal (gimp_image_get_file (image), file));
-  g_assert (gimp_image_get_imported_file (image) == NULL);
-  g_assert (gimp_image_get_exported_file (image) == NULL);
 
   g_object_unref (file);
 }
@@ -166,9 +162,7 @@
                            NULL /*mime_type*/,
                            NULL /*error*/);
 
-  g_assert (gimp_image_get_file (image) == NULL);
-  g_assert (g_file_equal (gimp_image_get_imported_file (image), file));
-  g_assert (gimp_image_get_exported_file (image) == NULL);
+  g_assert (g_file_equal (gimp_image_get_file (image), file));
 
   g_object_unref (file);
 }
@@ -277,80 +271,7 @@
              TRUE /*export_forward*/,
              NULL /*error*/);
 
-  g_assert (gimp_image_get_file (image) == NULL);
-  g_assert (gimp_image_get_imported_file (image) == NULL);
-  g_assert (g_file_equal (gimp_image_get_exported_file (image), save_file));
-
-  g_file_delete (save_file, NULL, NULL);
-  g_object_unref (save_file);
-}
-
-/**
- * clear_import_file_after_export:
- * @data:
- *
- * Tests that after a XCF file that was imported has been exported,
- * the import URI is cleared. An image can not be considered both
- * imported and exported at the same time.
- **/
-static void
-clear_import_file_after_export (gconstpointer data)
-{
-  Gimp                *gimp = GIMP (data);
-  GimpImage           *image;
-  GFile               *file;
-  gchar               *filename;
-  GFile               *save_file;
-  gchar               *save_filename;
-  GimpPlugInProcedure *proc;
-  GimpPDBStatusType    status;
-
-  filename = g_build_filename (g_getenv ("GIMP_TESTING_ABS_TOP_SRCDIR"),
-                               "desktop/64x64/gimp.png",
-                               NULL);
-  file = g_file_new_for_path (filename);
-  g_free (filename);
-
-  image = file_open_image (gimp,
-                           gimp_get_user_context (gimp),
-                           NULL /*progress*/,
-                           file,
-                           file,
-                           FALSE /*as_new*/,
-                           NULL /*file_proc*/,
-                           GIMP_RUN_NONINTERACTIVE,
-                           &status,
-                           NULL /*mime_type*/,
-                           NULL /*error*/);
-
-  g_assert (gimp_image_get_file (image) == NULL);
-  g_assert (g_file_equal (gimp_image_get_imported_file (image), file));
-  g_assert (gimp_image_get_exported_file (image) == NULL);
-
-  g_object_unref (file);
-
-  save_filename = g_build_filename (g_get_tmp_dir (), "gimp-test.png", NULL);
-  save_file = g_file_new_for_path (save_filename);
-  g_free (save_filename);
-
-  proc = gimp_plug_in_manager_file_procedure_find (image->gimp->plug_in_manager,
-                                                   GIMP_FILE_PROCEDURE_GROUP_EXPORT,
-                                                   save_file,
-                                                   NULL /*error*/);
-  file_save (gimp,
-             image,
-             NULL /*progress*/,
-             save_file,
-             proc,
-             GIMP_RUN_NONINTERACTIVE,
-             FALSE /*change_saved_state*/,
-             FALSE /*export_backward*/,
-             TRUE /*export_forward*/,
-             NULL /*error*/);
-
-  g_assert (gimp_image_get_file (image) == NULL);
-  g_assert (gimp_image_get_imported_file (image) == NULL);
-  g_assert (g_file_equal (gimp_image_get_exported_file (image), save_file));
+  g_assert (g_file_equal (gimp_image_get_file (image), save_file));
 
   g_file_delete (save_file, NULL, NULL);
   g_object_unref (save_file);
@@ -379,7 +300,6 @@
   ADD_TEST (imported_file_files);
   ADD_TEST (saved_imported_file_files);
   ADD_TEST (exported_file_files);
-  ADD_TEST (clear_import_file_after_export);
 
   /* Run the tests and return status */
   result = g_test_run ();
diff -urN gimp-2.10.34-orig/app/widgets/Makefile.am gimp-2.10.34/app/widgets/Makefile.am
--- gimp-2.10.34-orig/app/widgets/Makefile.am	2023-02-22 04:56:16 +0900
+++ gimp-2.10.34/app/widgets/Makefile.am	2023-11-06 14:49:33 +0900
@@ -205,8 +205,6 @@
 	gimperrorconsole.h		\
 	gimperrordialog.c		\
 	gimperrordialog.h		\
-	gimpexportdialog.c		\
-	gimpexportdialog.h		\
 	gimpfgbgeditor.c		\
 	gimpfgbgeditor.h		\
 	gimpfgbgview.c			\
diff -urN gimp-2.10.34-orig/app/widgets/Makefile.in gimp-2.10.34/app/widgets/Makefile.in
--- gimp-2.10.34-orig/app/widgets/Makefile.in	2023-02-22 05:03:32 +0900
+++ gimp-2.10.34/app/widgets/Makefile.in	2023-11-06 14:49:33 +0900
@@ -160,7 +160,7 @@
 	gimpdynamicseditor.$(OBJEXT) gimpdynamicsfactoryview.$(OBJEXT) \
 	gimpdynamicsoutputeditor.$(OBJEXT) gimpeditor.$(OBJEXT) \
 	gimpenumaction.$(OBJEXT) gimperrorconsole.$(OBJEXT) \
-	gimperrordialog.$(OBJEXT) gimpexportdialog.$(OBJEXT) \
+	gimperrordialog.$(OBJEXT) \
 	gimpfgbgeditor.$(OBJEXT) gimpfgbgview.$(OBJEXT) \
 	gimpfiledialog.$(OBJEXT) gimpfileprocview.$(OBJEXT) \
 	gimpfilleditor.$(OBJEXT) gimpfontfactoryview.$(OBJEXT) \
@@ -318,7 +318,7 @@
 	./$(DEPDIR)/gimpdynamicsoutputeditor.Po \
 	./$(DEPDIR)/gimpeditor.Po ./$(DEPDIR)/gimpenumaction.Po \
 	./$(DEPDIR)/gimperrorconsole.Po ./$(DEPDIR)/gimperrordialog.Po \
-	./$(DEPDIR)/gimpexportdialog.Po ./$(DEPDIR)/gimpfgbgeditor.Po \
+	./$(DEPDIR)/gimpfgbgeditor.Po \
 	./$(DEPDIR)/gimpfgbgview.Po ./$(DEPDIR)/gimpfiledialog.Po \
 	./$(DEPDIR)/gimpfileprocview.Po ./$(DEPDIR)/gimpfilleditor.Po \
 	./$(DEPDIR)/gimpfontfactoryview.Po \
@@ -1092,8 +1092,6 @@
 	gimperrorconsole.h		\
 	gimperrordialog.c		\
 	gimperrordialog.h		\
-	gimpexportdialog.c		\
-	gimpexportdialog.h		\
 	gimpfgbgeditor.c		\
 	gimpfgbgeditor.h		\
 	gimpfgbgview.c			\
@@ -1508,7 +1506,6 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimpenumaction.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimperrorconsole.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimperrordialog.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimpexportdialog.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimpfgbgeditor.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimpfgbgview.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimpfiledialog.Po@am__quote@ # am--include-marker
@@ -1889,7 +1886,6 @@
 	-rm -f ./$(DEPDIR)/gimpenumaction.Po
 	-rm -f ./$(DEPDIR)/gimperrorconsole.Po
 	-rm -f ./$(DEPDIR)/gimperrordialog.Po
-	-rm -f ./$(DEPDIR)/gimpexportdialog.Po
 	-rm -f ./$(DEPDIR)/gimpfgbgeditor.Po
 	-rm -f ./$(DEPDIR)/gimpfgbgview.Po
 	-rm -f ./$(DEPDIR)/gimpfiledialog.Po
@@ -2155,7 +2151,6 @@
 	-rm -f ./$(DEPDIR)/gimpenumaction.Po
 	-rm -f ./$(DEPDIR)/gimperrorconsole.Po
 	-rm -f ./$(DEPDIR)/gimperrordialog.Po
-	-rm -f ./$(DEPDIR)/gimpexportdialog.Po
 	-rm -f ./$(DEPDIR)/gimpfgbgeditor.Po
 	-rm -f ./$(DEPDIR)/gimpfgbgview.Po
 	-rm -f ./$(DEPDIR)/gimpfiledialog.Po
diff -urN gimp-2.10.34-orig/app/widgets/gimpexportdialog.c gimp-2.10.34/app/widgets/gimpexportdialog.c
--- gimp-2.10.34-orig/app/widgets/gimpexportdialog.c	2023-02-22 04:56:16 +0900
+++ gimp-2.10.34/app/widgets/gimpexportdialog.c	1970-01-01 09:00:00 +0900
@@ -1,221 +0,0 @@
-/* GIMP - The GNU Image Manipulation Program
- * Copyright (C) 1995 Spencer Kimball and Peter Mattis
- *
- * gimpexportdialog.c
- * Copyright (C) 2015 Jehan <jehan@girinstud.io>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- */
-
-#include "config.h"
-
-#include <gegl.h>
-#include <gtk/gtk.h>
-
-#include "libgimpbase/gimpbase.h"
-#include "libgimpwidgets/gimpwidgets.h"
-
-#include "widgets-types.h"
-
-#include "core/gimp.h"
-#include "core/gimp-utils.h"
-#include "core/gimpimage.h"
-
-#include "config/gimpcoreconfig.h"
-
-#include "file/gimp-file.h"
-
-#include "gimpexportdialog.h"
-#include "gimphelp-ids.h"
-
-#include "gimp-intl.h"
-
-
-G_DEFINE_TYPE (GimpExportDialog, gimp_export_dialog,
-               GIMP_TYPE_FILE_DIALOG)
-
-#define parent_class gimp_export_dialog_parent_class
-
-
-static void
-gimp_export_dialog_class_init (GimpExportDialogClass *klass)
-{
-}
-
-static void
-gimp_export_dialog_init (GimpExportDialog *dialog)
-{
-}
-
-
-/*  public functions  */
-
-GtkWidget *
-gimp_export_dialog_new (Gimp *gimp)
-{
-  g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL);
-
-  return g_object_new (GIMP_TYPE_EXPORT_DIALOG,
-                       "gimp",                  gimp,
-                       "title",                 _("Export Image"),
-                       "role",                  "gimp-file-export",
-                       "help-id",               GIMP_HELP_FILE_EXPORT_AS,
-                       "ok-button-label",       _("_Export"),
-
-                       "automatic-label",       _("By Extension"),
-                       "automatic-help-id",     GIMP_HELP_FILE_SAVE_BY_EXTENSION,
-
-                       "action",                GTK_FILE_CHOOSER_ACTION_SAVE,
-                       "file-procs",            GIMP_FILE_PROCEDURE_GROUP_EXPORT,
-                       "file-procs-all-images", GIMP_FILE_PROCEDURE_GROUP_SAVE,
-                       "file-filter-label",     _("All export images"),
-                       NULL);
-}
-
-void
-gimp_export_dialog_set_image (GimpExportDialog *dialog,
-                              GimpImage        *image)
-{
-  GimpFileDialog *file_dialog;
-  GFile          *dir_file  = NULL;
-  GFile          *name_file = NULL;
-  GFile          *ext_file  = NULL;
-  gchar          *basename;
-
-  g_return_if_fail (GIMP_IS_EXPORT_DIALOG (dialog));
-  g_return_if_fail (GIMP_IS_IMAGE (image));
-
-  file_dialog = GIMP_FILE_DIALOG (dialog);
-
-  file_dialog->image = image;
-
-  gimp_file_dialog_set_file_proc (file_dialog, NULL);
-
-  /* Priority of default paths for Export:
-   *
-   *   1. Last Export path
-   *   2. Path of import source
-   *   3. Path of XCF source
-   *   4. Last path of any save to XCF
-   *   5. Last Export path of any document
-   *   6. The default path (usually the OS 'Documents' path)
-   */
-
-  dir_file = gimp_image_get_exported_file (image);
-
-  if (! dir_file)
-    dir_file = g_object_get_data (G_OBJECT (image),
-                                  "gimp-image-source-file");
-
-  if (! dir_file)
-    dir_file = gimp_image_get_imported_file (image);
-
-  if (! dir_file)
-    dir_file = gimp_image_get_file (image);
-
-  if (! dir_file)
-    dir_file = g_object_get_data (G_OBJECT (file_dialog->gimp),
-                                  GIMP_FILE_SAVE_LAST_FILE_KEY);
-
-  if (! dir_file)
-    dir_file = g_object_get_data (G_OBJECT (file_dialog->gimp),
-                                  GIMP_FILE_EXPORT_LAST_FILE_KEY);
-
-  if (! dir_file)
-    dir_file = gimp_file_dialog_get_default_folder (file_dialog);
-
-  /* Priority of default basenames for Export:
-   *
-   *   1. Last Export name
-   *   3. Save URI
-   *   2. Source file name
-   *   3. 'Untitled'
-   */
-
-  name_file = gimp_image_get_exported_file (image);
-
-  if (! name_file)
-    name_file = gimp_image_get_file (image);
-
-  if (! name_file)
-    name_file = gimp_image_get_imported_file (image);
-
-  if (! name_file)
-    name_file = gimp_image_get_untitled_file (image);
-
-
-  /* Priority of default type/extension for Export:
-   *
-   *   1. Type of last Export
-   *   2. Type of the image Import
-   *   3. Type of latest Export of any document
-   *   4. Default file type set in Preferences
-   */
-
-  ext_file = gimp_image_get_exported_file (image);
-
-  if (! ext_file)
-    ext_file = gimp_image_get_imported_file (image);
-
-  if (! ext_file)
-    ext_file = g_object_get_data (G_OBJECT (file_dialog->gimp),
-                                  GIMP_FILE_EXPORT_LAST_FILE_KEY);
-
-  if (ext_file)
-    {
-      g_object_ref (ext_file);
-    }
-  else
-    {
-      const gchar *extension;
-      gchar       *uri;
-
-      gimp_enum_get_value (GIMP_TYPE_EXPORT_FILE_TYPE,
-                           image->gimp->config->export_file_type,
-                           NULL, &extension, NULL, NULL);
-
-      uri = g_strconcat ("file:///we/only/care/about/extension.",
-                         extension, NULL);
-      ext_file = g_file_new_for_uri (uri);
-      g_free (uri);
-    }
-
-  if (ext_file)
-    {
-      GFile *tmp_file = gimp_file_with_new_extension (name_file, ext_file);
-      basename = g_path_get_basename (gimp_file_get_utf8_name (tmp_file));
-      g_object_unref (tmp_file);
-      g_object_unref (ext_file);
-    }
-  else
-    {
-      basename = g_path_get_basename (gimp_file_get_utf8_name (name_file));
-    }
-
-  if (g_file_query_file_type (dir_file, G_FILE_QUERY_INFO_NONE, NULL) ==
-      G_FILE_TYPE_DIRECTORY)
-    {
-      gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (dialog),
-                                                dir_file, NULL);
-    }
-  else
-    {
-      GFile *parent_file = g_file_get_parent (dir_file);
-      gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (dialog),
-                                                parent_file, NULL);
-      g_object_unref (parent_file);
-    }
-
-  gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), basename);
-}
diff -urN gimp-2.10.34-orig/app/widgets/gimpexportdialog.h gimp-2.10.34/app/widgets/gimpexportdialog.h
--- gimp-2.10.34-orig/app/widgets/gimpexportdialog.h	2023-02-22 04:56:16 +0900
+++ gimp-2.10.34/app/widgets/gimpexportdialog.h	1970-01-01 09:00:00 +0900
@@ -1,58 +0,0 @@
-/* GIMP - The GNU Image Manipulation Program
- * Copyright (C) 1995 Spencer Kimball and Peter Mattis
- *
- * gimpexportdialog.h
- * Copyright (C) 2015 Jehan <jehan@girinstud.io>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- */
-
-#ifndef __GIMP_EXPORT_DIALOG_H__
-#define __GIMP_EXPORT_DIALOG_H__
-
-#include "gimpfiledialog.h"
-
-G_BEGIN_DECLS
-
-#define GIMP_TYPE_EXPORT_DIALOG            (gimp_export_dialog_get_type ())
-#define GIMP_EXPORT_DIALOG(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_EXPORT_DIALOG, GimpExportDialog))
-#define GIMP_EXPORT_DIALOG_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_EXPORT_DIALOG, GimpExportDialogClass))
-#define GIMP_IS_EXPORT_DIALOG(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_EXPORT_DIALOG))
-#define GIMP_IS_EXPORT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_EXPORT_DIALOG))
-#define GIMP_EXPORT_DIALOG_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_EXPORT_DIALOG, GimpExportDialogClass))
-
-
-typedef struct _GimpExportDialogClass GimpExportDialogClass;
-
-struct _GimpExportDialog
-{
-  GimpFileDialog       parent_instance;
-};
-
-struct _GimpExportDialogClass
-{
-  GimpFileDialogClass  parent_class;
-};
-
-
-GType       gimp_export_dialog_get_type  (void) G_GNUC_CONST;
-
-GtkWidget * gimp_export_dialog_new       (Gimp             *gimp);
-
-void        gimp_export_dialog_set_image (GimpExportDialog *dialog,
-                                          GimpImage        *image);
-
-G_END_DECLS
-
-#endif /* __GIMP_EXPORT_DIALOG_H__ */
diff -urN gimp-2.10.34-orig/app/widgets/gimpfiledialog.c gimp-2.10.34/app/widgets/gimpfiledialog.c
--- gimp-2.10.34-orig/app/widgets/gimpfiledialog.c	2023-02-22 04:56:16 +0900
+++ gimp-2.10.34/app/widgets/gimpfiledialog.c	2023-11-06 14:49:33 +0900
@@ -41,6 +41,7 @@
 #include "gimpfiledialog.h"
 #include "gimpfileprocview.h"
 #include "gimpprogressbox.h"
+#include "gimpsavedialog.h"
 #include "gimpthumbbox.h"
 #include "gimpwidgets-utils.h"
 
@@ -56,8 +57,6 @@
   PROP_AUTOMATIC_HELP_ID,
   PROP_AUTOMATIC_LABEL,
   PROP_FILE_FILTER_LABEL,
-  PROP_FILE_PROCS,
-  PROP_FILE_PROCS_ALL_IMAGES,
   PROP_SHOW_ALL_FILES,
 };
 
@@ -200,22 +199,6 @@
                                                         GIMP_PARAM_WRITABLE |
                                                         G_PARAM_CONSTRUCT_ONLY));
 
-  g_object_class_install_property (object_class, PROP_FILE_PROCS,
-                                   g_param_spec_enum ("file-procs",
-                                                      NULL, NULL,
-                                                      GIMP_TYPE_FILE_PROCEDURE_GROUP,
-                                                      GIMP_FILE_PROCEDURE_GROUP_NONE,
-                                                      GIMP_PARAM_WRITABLE |
-                                                      G_PARAM_CONSTRUCT_ONLY));
-
-  g_object_class_install_property (object_class, PROP_FILE_PROCS_ALL_IMAGES,
-                                   g_param_spec_enum ("file-procs-all-images",
-                                                      NULL, NULL,
-                                                      GIMP_TYPE_FILE_PROCEDURE_GROUP,
-                                                      GIMP_FILE_PROCEDURE_GROUP_NONE,
-                                                      GIMP_PARAM_WRITABLE |
-                                                      G_PARAM_CONSTRUCT_ONLY));
-
   g_object_class_install_property (object_class, PROP_SHOW_ALL_FILES,
                                    g_param_spec_boolean ("show-all-files",
                                                          NULL, NULL, FALSE,
@@ -268,16 +251,6 @@
     case PROP_FILE_FILTER_LABEL:
       dialog->file_filter_label = g_value_dup_string (value);
       break;
-    case PROP_FILE_PROCS:
-      dialog->file_procs =
-        gimp_plug_in_manager_get_file_procedures (dialog->gimp->plug_in_manager,
-                                                  g_value_get_enum (value));
-      break;
-    case PROP_FILE_PROCS_ALL_IMAGES:
-      dialog->file_procs_all_images =
-        gimp_plug_in_manager_get_file_procedures (dialog->gimp->plug_in_manager,
-                                                  g_value_get_enum (value));
-      break;
     case PROP_SHOW_ALL_FILES:
       dialog->show_all_files = g_value_get_boolean (value);
       gimp_file_dialog_proc_changed (GIMP_FILE_PROC_VIEW (dialog->proc_view),
@@ -751,7 +724,7 @@
   gtk_widget_set_size_request (scrolled_window, -1, 200);
 
   dialog->proc_view = gimp_file_proc_view_new (dialog->gimp,
-                                               dialog->file_procs,
+                                               GIMP_IS_SAVE_DIALOG (dialog),
                                                dialog->automatic_label,
                                                dialog->automatic_help_id);
   gtk_container_add (GTK_CONTAINER (scrolled_window), dialog->proc_view);
diff -urN gimp-2.10.34-orig/app/widgets/gimpfileprocview.c gimp-2.10.34/app/widgets/gimpfileprocview.c
--- gimp-2.10.34-orig/app/widgets/gimpfileprocview.c	2023-02-22 04:56:16 +0900
+++ gimp-2.10.34/app/widgets/gimpfileprocview.c	2023-11-06 14:49:33 +0900
@@ -30,6 +30,7 @@
 #include "core/gimp.h"
 #include "core/gimpmarshal.h"
 
+#include "plug-in/gimppluginmanager-file.h"
 #include "plug-in/gimppluginprocedure.h"
 
 #include "gimpfileprocview.h"
@@ -111,37 +112,13 @@
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
-GtkWidget *
-gimp_file_proc_view_new (Gimp        *gimp,
-                         GSList      *procedures,
-                         const gchar *automatic,
-                         const gchar *automatic_help_id)
+static void
+add_procedures (GtkTreeView   *view,
+                GtkListStore  *store,
+                GtkFileFilter *all_filter,
+                GSList        *procedures)
 {
-  GtkFileFilter     *all_filter;
-  GtkTreeView       *view;
-  GtkTreeViewColumn *column;
-  GtkCellRenderer   *cell;
-  GtkListStore      *store;
-  GSList            *list;
-  GtkTreeIter        iter;
-
-  g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL);
-
-  store = gtk_list_store_new (N_COLUMNS,
-                              GIMP_TYPE_PLUG_IN_PROCEDURE, /*  COLUMN_PROC       */
-                              G_TYPE_STRING,               /*  COLUMN_LABEL      */
-                              G_TYPE_STRING,               /*  COLUMN_EXTENSIONS */
-                              G_TYPE_STRING,               /*  COLUMN_HELP_ID    */
-                              GTK_TYPE_FILE_FILTER);       /*  COLUMN_FILTER     */
-
-  view = g_object_new (GIMP_TYPE_FILE_PROC_VIEW,
-                       "model",      store,
-                       "rules-hint", TRUE,
-                       NULL);
-
-  g_object_unref (store);
-
-  all_filter = gtk_file_filter_new ();
+  GSList *list;
 
   for (list = procedures; list; list = g_slist_next (list))
     {
@@ -156,6 +133,7 @@
           if (label)
             {
               GtkFileFilter *filter;
+              GtkTreeIter    iter;
 
               filter = gimp_file_proc_view_process_procedure (proc, all_filter);
               gtk_list_store_append (store, &iter);
@@ -184,6 +162,54 @@
             }
         }
     }
+}
+
+GtkWidget *
+gimp_file_proc_view_new (Gimp        *gimp,
+                         gboolean     is_save,
+                         const gchar *automatic,
+                         const gchar *automatic_help_id)
+{
+  GtkFileFilter     *all_filter;
+  GtkTreeView       *view;
+  GtkTreeViewColumn *column;
+  GtkCellRenderer   *cell;
+  GtkListStore      *store;
+  GtkTreeIter        iter;
+
+  g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL);
+
+  store = gtk_list_store_new (N_COLUMNS,
+                              GIMP_TYPE_PLUG_IN_PROCEDURE, /*  COLUMN_PROC       */
+                              G_TYPE_STRING,               /*  COLUMN_LABEL      */
+                              G_TYPE_STRING,               /*  COLUMN_EXTENSIONS */
+                              G_TYPE_STRING,               /*  COLUMN_HELP_ID    */
+                              GTK_TYPE_FILE_FILTER);       /*  COLUMN_FILTER     */
+
+  view = g_object_new (GIMP_TYPE_FILE_PROC_VIEW,
+                       "model",      store,
+                       "rules-hint", TRUE,
+                       NULL);
+
+  g_object_unref (store);
+
+  all_filter = gtk_file_filter_new ();
+
+  if (is_save)
+    {
+      add_procedures (view, store, all_filter,
+                      gimp_plug_in_manager_get_file_procedures (gimp->plug_in_manager,
+                                                                GIMP_FILE_PROCEDURE_GROUP_SAVE));
+      add_procedures (view, store, all_filter,
+                      gimp_plug_in_manager_get_file_procedures (gimp->plug_in_manager,
+                                                                GIMP_FILE_PROCEDURE_GROUP_EXPORT));
+    }
+  else
+    {
+      add_procedures (view, store, all_filter,
+                      gimp_plug_in_manager_get_file_procedures (gimp->plug_in_manager,
+                                                                GIMP_FILE_PROCEDURE_GROUP_OPEN));
+    }
 
   if (automatic)
     {
diff -urN gimp-2.10.34-orig/app/widgets/gimpfileprocview.h gimp-2.10.34/app/widgets/gimpfileprocview.h
--- gimp-2.10.34-orig/app/widgets/gimpfileprocview.h	2023-02-22 04:56:16 +0900
+++ gimp-2.10.34/app/widgets/gimpfileprocview.h	2023-11-06 14:49:33 +0900
@@ -50,7 +50,7 @@
 GType                 gimp_file_proc_view_get_type    (void) G_GNUC_CONST;
 
 GtkWidget           * gimp_file_proc_view_new         (Gimp                 *gimp,
-                                                       GSList               *procedures,
+                                                       gboolean              is_save,
                                                        const gchar          *automatic,
                                                        const gchar          *automatic_help_id);
 
diff -urN gimp-2.10.34-orig/app/widgets/gimphelp-ids.h gimp-2.10.34/app/widgets/gimphelp-ids.h
--- gimp-2.10.34-orig/app/widgets/gimphelp-ids.h	2023-02-22 04:56:16 +0900
+++ gimp-2.10.34/app/widgets/gimphelp-ids.h	2023-11-06 14:49:33 +0900
@@ -34,9 +34,6 @@
 #define GIMP_HELP_FILE_SAVE_AS                    "gimp-file-save-as"
 #define GIMP_HELP_FILE_SAVE_A_COPY                "gimp-file-save-a-copy"
 #define GIMP_HELP_FILE_SAVE_BY_EXTENSION          "gimp-file-save-by-extension"
-#define GIMP_HELP_FILE_EXPORT                     "gimp-file-export"
-#define GIMP_HELP_FILE_EXPORT_AS                  "gimp-file-export-as"
-#define GIMP_HELP_FILE_OVERWRITE                  "gimp-file-overwrite"
 #define GIMP_HELP_FILE_SAVE_AS_TEMPLATE           "gimp-file-save-as-template"
 #define GIMP_HELP_FILE_REVERT                     "gimp-file-revert"
 #define GIMP_HELP_FILE_CLOSE                      "gimp-file-close"
diff -urN gimp-2.10.34-orig/app/widgets/gimpopendialog.c gimp-2.10.34/app/widgets/gimpopendialog.c
--- gimp-2.10.34-orig/app/widgets/gimpopendialog.c	2023-02-22 04:56:16 +0900
+++ gimp-2.10.34/app/widgets/gimpopendialog.c	2023-11-06 14:49:33 +0900
@@ -90,8 +90,6 @@
                        "automatic-help-id",     GIMP_HELP_FILE_OPEN_BY_EXTENSION,
 
                        "action",                GTK_FILE_CHOOSER_ACTION_OPEN,
-                       "file-procs",            GIMP_FILE_PROCEDURE_GROUP_OPEN,
-                       "file-procs-all-images", GIMP_FILE_PROCEDURE_GROUP_NONE,
                        "file-filter-label",     NULL,
                        NULL);
 }
diff -urN gimp-2.10.34-orig/app/widgets/gimpsavedialog.c gimp-2.10.34/app/widgets/gimpsavedialog.c
--- gimp-2.10.34-orig/app/widgets/gimpsavedialog.c	2023-02-22 04:56:16 +0900
+++ gimp-2.10.34/app/widgets/gimpsavedialog.c	2023-11-06 14:49:33 +0900
@@ -145,9 +145,7 @@
                        "automatic-help-id",     GIMP_HELP_FILE_SAVE_BY_EXTENSION,
 
                        "action",                GTK_FILE_CHOOSER_ACTION_SAVE,
-                       "file-procs",            GIMP_FILE_PROCEDURE_GROUP_SAVE,
-                       "file-procs-all-images", GIMP_FILE_PROCEDURE_GROUP_EXPORT,
-                       "file-filter-label",     _("All XCF images"),
+                       "file-filter-label",     _("All images"),
                        NULL);
 }
 
@@ -185,10 +183,8 @@
    *
    *   1. Last Save a copy-path (applies only to Save a copy)
    *   2. Last Save path
-   *   3. Path of source XCF
-   *   4. Path of Import source
-   *   5. Last Save path of any GIMP document
-   *   6. The default path (usually the OS 'Documents' path)
+   *   3. Last Save path of any GIMP document
+   *   4. The default path (usually the OS 'Documents' path)
    */
 
   if (save_a_copy)
@@ -198,13 +194,6 @@
     dir_file = gimp_image_get_file (image);
 
   if (! dir_file)
-    dir_file = g_object_get_data (G_OBJECT (image),
-                                  "gimp-image-source-file");
-
-  if (! dir_file)
-    dir_file = gimp_image_get_imported_file (image);
-
-  if (! dir_file)
     dir_file = g_object_get_data (G_OBJECT (file_dialog->gimp),
                                   GIMP_FILE_SAVE_LAST_FILE_KEY);
 
@@ -216,8 +205,6 @@
    *
    *   1. Last Save a copy-name (applies only to Save a copy)
    *   2. Last Save name
-   *   3. Last Export name
-   *   3. The source image path
    *   3. 'Untitled'
    */
 
@@ -228,12 +215,6 @@
     name_file = gimp_image_get_file (image);
 
   if (! name_file)
-    name_file = gimp_image_get_exported_file (image);
-
-  if (! name_file)
-    name_file = gimp_image_get_imported_file (image);
-
-  if (! name_file)
     name_file = gimp_image_get_untitled_file (image);
 
 
diff -urN gimp-2.10.34-orig/devel-docs/app/app-sections.txt gimp-2.10.34/devel-docs/app/app-sections.txt
--- gimp-2.10.34-orig/devel-docs/app/app-sections.txt	2023-02-22 04:56:17 +0900
+++ gimp-2.10.34/devel-docs/app/app-sections.txt	2023-11-06 14:49:33 +0900
@@ -2297,8 +2297,6 @@
 gimp_image_clean
 gimp_image_clean_all
 gimp_image_is_dirty
-gimp_image_is_export_dirty
-gimp_image_export_clean_all
 gimp_image_get_dirty_time
 gimp_image_flush
 gimp_image_get_display_count
@@ -11625,7 +11623,6 @@
 
 <SECTION>
 <FILE>gimp-file</FILE>
-GIMP_FILE_EXPORT_LAST_URI_KEY
 GIMP_FILE_OPEN_LAST_URI_KEY
 GIMP_FILE_SAVE_LAST_URI_KEY
 </SECTION>
@@ -11703,7 +11700,6 @@
 dialogs_file_open_new
 dialogs_file_open_location_new
 dialogs_file_save_new
-dialogs_file_export_new
 dialogs_preferences_get
 dialogs_input_devices_get
 dialogs_keyboard_shortcuts_get
diff -urN gimp-2.10.34-orig/menus/image-menu.xml.in gimp-2.10.34/menus/image-menu.xml.in
--- gimp-2.10.34-orig/menus/image-menu.xml.in	2023-02-22 04:56:19 +0900
+++ gimp-2.10.34/menus/image-menu.xml.in	2023-11-06 14:49:33 +0900
@@ -43,11 +43,6 @@
       </placeholder>
       <menuitem action="file-revert" />
       <separator />
-      <placeholder name="Export">
-        <menuitem action="file-overwrite" />
-        <menuitem action="file-export" />
-        <menuitem action="file-export-as" />
-      </placeholder>
       <menuitem action="file-create-template" />
       <separator />
       <placeholder name="Send" />
diff -urN gimp-2.10.34-orig/menus/image-menu.xml gimp-2.10.34/menus/image-menu.xml
--- gimp-2.10.34-orig/menus/image-menu.xml	2023-02-22 05:04:28 +0900
+++ gimp-2.10.34/menus/image-menu.xml	2023-11-06 14:49:33 +0900
@@ -44,11 +44,6 @@
       </placeholder>
       <menuitem action="file-revert"/>
       <separator/>
-      <placeholder name="Export">
-        <menuitem action="file-overwrite"/>
-        <menuitem action="file-export"/>
-        <menuitem action="file-export-as"/>
-      </placeholder>
       <menuitem action="file-create-template"/>
       <separator/>
       <placeholder name="Send"/>
@@ -951,11 +946,6 @@
       </placeholder>
       <menuitem action="file-revert"/>
       <separator/>
-      <placeholder name="Export">
-        <menuitem action="file-overwrite"/>
-        <menuitem action="file-export"/>
-        <menuitem action="file-export-as"/>
-      </placeholder>
       <menuitem action="file-create-template"/>
       <separator/>
       <placeholder name="Send"/>
diff -urN gimp-2.10.34-orig/pdb/groups/image.pdb gimp-2.10.34/pdb/groups/image.pdb
--- gimp-2.10.34-orig/pdb/groups/image.pdb	2023-02-22 04:56:19 +0900
+++ gimp-2.10.34/pdb/groups/image.pdb	2023-11-06 14:49:33 +0900
@@ -2435,13 +2435,10 @@
 }
 
 sub image_get_imported_uri {
-    $blurb = "Returns the imported URI for the specified image.";
+    $blurb = "Obsolete function.";
 
     $help = <<'HELP';
-This procedure returns the URI associated with the specified image
-if the image was imported from a non-native Gimp format. If the
-image was not imported, or has since been saved in the native Gimp
-format, this procedure returns %NULL.
+Obsolete function, always returns %NULL.
 HELP
 
     $author = 'Eric Grivel <gimp@lumenssolutions.com>';
@@ -2456,27 +2453,23 @@
 
     @outargs = (
         { name => 'uri', type => 'string',
-          desc => 'The imported URI. The returned value must be freed with g_free()' }
+          desc => 'Always NULL' }
     );
 
     %invoke = (
         code => <<'CODE'
 {
-  GFile *file = gimp_image_get_imported_file (image);
-  if (file)
-    uri = g_file_get_uri (file);
+  return NULL;
 }
 CODE
     );
 }
 
 sub image_get_exported_uri {
-    $blurb = "Returns the exported URI for the specified image.";
+    $blurb = "Obsolete function.";
 
     $help = <<'HELP';
-This procedure returns the URI associated with the specified image
-if the image was exported a non-native GIMP format. If the
-image was not exported, this procedure returns %NULL.
+Obsolete function, always returns %NULL.
 HELP
 
     $author = 'Eric Grivel <gimp@lumenssolutions.com>';
@@ -2491,15 +2484,13 @@
 
     @outargs = (
         { name => 'uri', type => 'string',
-          desc => 'The exported URI. The returned value must be freed with g_free()' }
+          desc => 'Always NULL' }
     );
 
     %invoke = (
         code => <<'CODE'
 {
-  GFile *file = gimp_image_get_exported_file (image);
-  if (file)
-    uri = g_file_get_uri (file);
+  return NULL;
 }
 CODE
     );
