]> git.eshelyaron.com Git - emacs.git/commitdiff
Document the behavior of file selection dialogs on Windows 7 (bug #17950).
authorEli Zaretskii <eliz@gnu.org>
Sat, 12 Jul 2014 09:25:29 +0000 (12:25 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 12 Jul 2014 09:25:29 +0000 (12:25 +0300)
 etc/PROBLEMS: Mention the problem from bug #17950.

 src/w32fns.c (Fx_file_dialog): Mention in the doc string the
 behavior on Windows 7 and later when the function is repeatedly
 invoked with the same value of DIR.
 src/xfns.c (Fx_file_dialog) [USE_MOTIF, USE_GTK]: Update the doc
 string to match the one in w32fns.c.

etc/ChangeLog
etc/PROBLEMS
src/ChangeLog
src/w32fns.c
src/xfns.c

index d30c03f1c20959aee8aa324f918d027fae566c93..06a0c4b531245833fe9ca37948db616995e9be8c 100644 (file)
@@ -1,3 +1,7 @@
+2014-07-12  Eli Zaretskii  <eliz@gnu.org>
+
+       * PROBLEMS: Mention the problem from bug #17950.
+
 2014-07-04  Eli Zaretskii  <eliz@gnu.org>
 
        * TODO: Remove items that were already done.  Rearrange a few
index 1f9200febbf3b0d8e23290769dffb5a978b17731..cea2213a24edc8f66c133bbf00a3106eac03269b 100644 (file)
@@ -1961,6 +1961,26 @@ Another possibility is to rebuild Emacs with the -shared-libgcc
 switch, which will force Emacs to load libgcc_s_dw2-1.dll on startup,
 ahead of any optional DLLs loaded on-demand later in the session.
 
+** File selection dialog opens in incorrect directories
+
+Invoking the file selection dialog on Windows 7 or later shows a
+directory that is different from what was passed to `read-file-name'
+or `x-file-dialog' via their arguments.
+
+This is due to a deliberate change in behavior of the file selection
+dialogs introduced in Windows 7.  It is explicitly described in the
+MSDN documentation of the GetOpenFileName API used by Emacs to pop up
+the file selection dialog.  For the details, see
+
+  http://msdn.microsoft.com/en-us/library/windows/desktop/ms646839%28v=vs.85%29.aspx
+
+The dialog shows the last directory in which the user selected a file
+in a previous invocation of the dialog with the same initial
+directory.
+
+You can reset this "memory" of that directory by invoking the file
+selection dialog with a different initial directory.
+
 ** PATH can contain unexpanded environment variables
 
 Old releases of TCC (version 9) and 4NT (up to version 8) do not correctly
index d2f1999b546d9883cc6850640f9cb952fab349e8..493bcde7418185fd99f26f75694f25433692fddb 100644 (file)
@@ -1,3 +1,12 @@
+2014-07-12  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32fns.c (Fx_file_dialog): Mention in the doc string the
+       behavior on Windows 7 and later when the function is repeatedly
+       invoked with the same value of DIR.  (Bug#17950)
+
+       * xfns.c (Fx_file_dialog) [USE_MOTIF, USE_GTK]: Update the doc
+       string to match the one in w32fns.c.
+
 2014-07-08  Eli Zaretskii  <eliz@gnu.org>
 
        * xdisp.c (move_it_to): Adjust calculation of line_start_x to what
index 638c617df997a6c78c90cf0b9b61ec53e6ce2399..1c73cda469a318febc936c6ad07c12fe77d972a7 100644 (file)
@@ -6436,7 +6436,11 @@ or directory must exist.
 
 This function is only defined on NS, MS Windows, and X Windows with the
 Motif or Gtk toolkits.  With the Motif toolkit, ONLY-DIR-P is ignored.
-Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories.  */)
+Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories.
+On Windows 7 and later, the file selection dialog "remembers" the last
+directory where the user selected a file, and will open that directory
+instead of DIR on subsequent invocations of this function with the same
+value of DIR as in previous invocations; this is standard Windows behavior.  */)
   (Lisp_Object prompt, Lisp_Object dir, Lisp_Object default_filename, Lisp_Object mustmatch, Lisp_Object only_dir_p)
 {
   /* Filter index: 1: All Files, 2: Directories only  */
index 692504ef762891080ec1b53eea94ec66a98bb84d..23fba44f1f380d057fb90b680359d614f59d12a2 100644 (file)
@@ -5658,7 +5658,11 @@ or directory must exist.
 
 This function is only defined on NS, MS Windows, and X Windows with the
 Motif or Gtk toolkits.  With the Motif toolkit, ONLY-DIR-P is ignored.
-Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories.  */)
+Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories.
+On Windows 7 and later, the file selection dialog "remembers" the last
+directory where the user selected a file, and will open that directory
+instead of DIR on subsequent invocations of this function with the same
+value of DIR as in previous invocations; this is standard Windows behavior.  */)
   (Lisp_Object prompt, Lisp_Object dir, Lisp_Object default_filename,
    Lisp_Object mustmatch, Lisp_Object only_dir_p)
 {
@@ -5830,7 +5834,11 @@ or directory must exist.
 
 This function is only defined on NS, MS Windows, and X Windows with the
 Motif or Gtk toolkits.  With the Motif toolkit, ONLY-DIR-P is ignored.
-Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories.  */)
+Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories.
+On Windows 7 and later, the file selection dialog "remembers" the last
+directory where the user selected a file, and will open that directory
+instead of DIR on subsequent invocations of this function with the same
+value of DIR as in previous invocations; this is standard Windows behavior.  */)
   (Lisp_Object prompt, Lisp_Object dir, Lisp_Object default_filename, Lisp_Object mustmatch, Lisp_Object only_dir_p)
 {
   struct frame *f = SELECTED_FRAME ();