]> git.eshelyaron.com Git - emacs.git/commitdiff
* gtkutil.c (xg_get_file_with_chooser): Expand DEFAULT_FILENAME if
authorJan Djärv <jan.h.d@swipnet.se>
Thu, 4 Nov 2004 14:18:22 +0000 (14:18 +0000)
committerJan Djärv <jan.h.d@swipnet.se>
Thu, 4 Nov 2004 14:18:22 +0000 (14:18 +0000)
it doesn't start with /.

src/ChangeLog
src/gtkutil.c

index 01d35ba8e9bfb9aa03955d74b86d3d5a4d8f9590..4b88374e71e28a76bb34614cbb6d82dad21d9d60 100644 (file)
@@ -1,3 +1,8 @@
+2004-11-04  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * gtkutil.c (xg_get_file_with_chooser): Expand DEFAULT_FILENAME if
+       it doesn't start with /.
+
 2004-11-04  Kenichi Handa  <handa@m17n.org>
 
        * fontset.c (fontset_pattern_regexp): If '*' is preceded by '\',
index e1331891140aaf19c3aa1d5cf1f11ee43ed91101..f59ccecbcb84d9dcef9930b9285f8939ee5e888d 100644 (file)
@@ -1178,8 +1178,24 @@ xg_get_file_with_chooser (f, prompt, default_filename, mustmatch_p, only_dir_p)
 
 
   if (default_filename)
-    gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (filewin),
-                                   default_filename);
+    {
+      Lisp_Object file;
+      struct gcpro gcpro1;
+      GCPRO1 (file);
+
+      /* File chooser does not understand ~/... in the file name.  It must be
+         an absolute name starting with /.  */
+      if (default_filename[0] != '/')
+        {
+          file = Fexpand_file_name (build_string (default_filename), Qnil);
+          default_filename = SDATA (file);
+        }
+
+      gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (filewin),
+                                     default_filename);
+
+      UNGCPRO;
+    }
 
   gtk_widget_show (filewin);