aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2014-07-12 12:25:29 +0300
committerEli Zaretskii2014-07-12 12:25:29 +0300
commit47f63aa79abed1da90fabd637529d5f8161f84fa (patch)
tree9aae64b8c1eb38ea45daf7e482a07c6f28b21a26
parenta5a8e250d5fc17b3e4a7955f2c896f2b050b2960 (diff)
downloademacs-47f63aa79abed1da90fabd637529d5f8161f84fa.tar.gz
emacs-47f63aa79abed1da90fabd637529d5f8161f84fa.zip
Document the behavior of file selection dialogs on Windows 7 (bug #17950).
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.
-rw-r--r--etc/ChangeLog4
-rw-r--r--etc/PROBLEMS20
-rw-r--r--src/ChangeLog9
-rw-r--r--src/w32fns.c6
-rw-r--r--src/xfns.c12
5 files changed, 48 insertions, 3 deletions
diff --git a/etc/ChangeLog b/etc/ChangeLog
index d30c03f1c20..06a0c4b5312 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,7 @@
12014-07-12 Eli Zaretskii <eliz@gnu.org>
2
3 * PROBLEMS: Mention the problem from bug #17950.
4
12014-07-04 Eli Zaretskii <eliz@gnu.org> 52014-07-04 Eli Zaretskii <eliz@gnu.org>
2 6
3 * TODO: Remove items that were already done. Rearrange a few 7 * TODO: Remove items that were already done. Rearrange a few
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index 1f9200febbf..cea2213a24e 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -1961,6 +1961,26 @@ Another possibility is to rebuild Emacs with the -shared-libgcc
1961switch, which will force Emacs to load libgcc_s_dw2-1.dll on startup, 1961switch, which will force Emacs to load libgcc_s_dw2-1.dll on startup,
1962ahead of any optional DLLs loaded on-demand later in the session. 1962ahead of any optional DLLs loaded on-demand later in the session.
1963 1963
1964** File selection dialog opens in incorrect directories
1965
1966Invoking the file selection dialog on Windows 7 or later shows a
1967directory that is different from what was passed to `read-file-name'
1968or `x-file-dialog' via their arguments.
1969
1970This is due to a deliberate change in behavior of the file selection
1971dialogs introduced in Windows 7. It is explicitly described in the
1972MSDN documentation of the GetOpenFileName API used by Emacs to pop up
1973the file selection dialog. For the details, see
1974
1975 http://msdn.microsoft.com/en-us/library/windows/desktop/ms646839%28v=vs.85%29.aspx
1976
1977The dialog shows the last directory in which the user selected a file
1978in a previous invocation of the dialog with the same initial
1979directory.
1980
1981You can reset this "memory" of that directory by invoking the file
1982selection dialog with a different initial directory.
1983
1964** PATH can contain unexpanded environment variables 1984** PATH can contain unexpanded environment variables
1965 1985
1966Old releases of TCC (version 9) and 4NT (up to version 8) do not correctly 1986Old releases of TCC (version 9) and 4NT (up to version 8) do not correctly
diff --git a/src/ChangeLog b/src/ChangeLog
index d2f1999b546..493bcde7418 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,12 @@
12014-07-12 Eli Zaretskii <eliz@gnu.org>
2
3 * w32fns.c (Fx_file_dialog): Mention in the doc string the
4 behavior on Windows 7 and later when the function is repeatedly
5 invoked with the same value of DIR. (Bug#17950)
6
7 * xfns.c (Fx_file_dialog) [USE_MOTIF, USE_GTK]: Update the doc
8 string to match the one in w32fns.c.
9
12014-07-08 Eli Zaretskii <eliz@gnu.org> 102014-07-08 Eli Zaretskii <eliz@gnu.org>
2 11
3 * xdisp.c (move_it_to): Adjust calculation of line_start_x to what 12 * xdisp.c (move_it_to): Adjust calculation of line_start_x to what
diff --git a/src/w32fns.c b/src/w32fns.c
index 638c617df99..1c73cda469a 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -6436,7 +6436,11 @@ or directory must exist.
6436 6436
6437This function is only defined on NS, MS Windows, and X Windows with the 6437This function is only defined on NS, MS Windows, and X Windows with the
6438Motif or Gtk toolkits. With the Motif toolkit, ONLY-DIR-P is ignored. 6438Motif or Gtk toolkits. With the Motif toolkit, ONLY-DIR-P is ignored.
6439Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories. */) 6439Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories.
6440On Windows 7 and later, the file selection dialog "remembers" the last
6441directory where the user selected a file, and will open that directory
6442instead of DIR on subsequent invocations of this function with the same
6443value of DIR as in previous invocations; this is standard Windows behavior. */)
6440 (Lisp_Object prompt, Lisp_Object dir, Lisp_Object default_filename, Lisp_Object mustmatch, Lisp_Object only_dir_p) 6444 (Lisp_Object prompt, Lisp_Object dir, Lisp_Object default_filename, Lisp_Object mustmatch, Lisp_Object only_dir_p)
6441{ 6445{
6442 /* Filter index: 1: All Files, 2: Directories only */ 6446 /* Filter index: 1: All Files, 2: Directories only */
diff --git a/src/xfns.c b/src/xfns.c
index 692504ef762..23fba44f1f3 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -5658,7 +5658,11 @@ or directory must exist.
5658 5658
5659This function is only defined on NS, MS Windows, and X Windows with the 5659This function is only defined on NS, MS Windows, and X Windows with the
5660Motif or Gtk toolkits. With the Motif toolkit, ONLY-DIR-P is ignored. 5660Motif or Gtk toolkits. With the Motif toolkit, ONLY-DIR-P is ignored.
5661Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories. */) 5661Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories.
5662On Windows 7 and later, the file selection dialog "remembers" the last
5663directory where the user selected a file, and will open that directory
5664instead of DIR on subsequent invocations of this function with the same
5665value of DIR as in previous invocations; this is standard Windows behavior. */)
5662 (Lisp_Object prompt, Lisp_Object dir, Lisp_Object default_filename, 5666 (Lisp_Object prompt, Lisp_Object dir, Lisp_Object default_filename,
5663 Lisp_Object mustmatch, Lisp_Object only_dir_p) 5667 Lisp_Object mustmatch, Lisp_Object only_dir_p)
5664{ 5668{
@@ -5830,7 +5834,11 @@ or directory must exist.
5830 5834
5831This function is only defined on NS, MS Windows, and X Windows with the 5835This function is only defined on NS, MS Windows, and X Windows with the
5832Motif or Gtk toolkits. With the Motif toolkit, ONLY-DIR-P is ignored. 5836Motif or Gtk toolkits. With the Motif toolkit, ONLY-DIR-P is ignored.
5833Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories. */) 5837Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories.
5838On Windows 7 and later, the file selection dialog "remembers" the last
5839directory where the user selected a file, and will open that directory
5840instead of DIR on subsequent invocations of this function with the same
5841value of DIR as in previous invocations; this is standard Windows behavior. */)
5834 (Lisp_Object prompt, Lisp_Object dir, Lisp_Object default_filename, Lisp_Object mustmatch, Lisp_Object only_dir_p) 5842 (Lisp_Object prompt, Lisp_Object dir, Lisp_Object default_filename, Lisp_Object mustmatch, Lisp_Object only_dir_p)
5835{ 5843{
5836 struct frame *f = SELECTED_FRAME (); 5844 struct frame *f = SELECTED_FRAME ();