changeset 94220:47134e6f8c9b

(Qdefault_directory): New variable. (Fread_file_name): Use it to pass `dir' to the completion functions.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 21 Apr 2008 21:26:02 +0000
parents 185747659a29
children fbf666581e4d
files src/ChangeLog src/fileio.c
diffstat 2 files changed, 12 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Mon Apr 21 21:18:07 2008 +0000
+++ b/src/ChangeLog	Mon Apr 21 21:26:02 2008 +0000
@@ -1,3 +1,8 @@
+2008-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* fileio.c (Qdefault_directory): New variable.
+	(Fread_file_name): Use it to pass `dir' to the completion functions.
+
 2008-04-20  Chong Yidong  <cyd@stupidchicken.com>
 
 	* xdisp.c (pos_visible_p): Check if iterator stops on a display string.
--- a/src/fileio.c	Mon Apr 21 21:18:07 2008 +0000
+++ b/src/fileio.c	Mon Apr 21 21:26:02 2008 +0000
@@ -6156,6 +6156,8 @@
   return Qnil;
 }
 
+Lisp_Object Qdefault_directory;
+
 DEFUN ("read-file-name", Fread_file_name, Sread_file_name, 1, 6, 0,
        doc: /* Read file name, prompting with PROMPT and completing in directory DIR.
 Value is not expanded---you must call `expand-file-name' yourself.
@@ -6279,6 +6281,8 @@
     }
 
   count = SPECPDL_INDEX ();
+  specbind (Qdefault_directory,
+	    Ffile_name_as_directory (Fexpand_file_name (dir, Qnil)));
   specbind (Qcompletion_ignore_case,
 	    read_file_name_completion_ignore_case ? Qt : Qnil);
   specbind (intern ("minibuffer-completing-file-name"), Qt);
@@ -6307,7 +6311,7 @@
   else
 #endif
     val = Fcompleting_read (prompt, intern ("read-file-name-internal"),
-			    dir, mustmatch, insdef,
+			    Qnil, mustmatch, insdef,
 			    Qfile_name_history, default_filename, Qnil);
 
   tem = Fsymbol_value (Qfile_name_history);
@@ -6484,6 +6488,8 @@
 
   Qformat_decode = intern ("format-decode");
   staticpro (&Qformat_decode);
+  Qdefault_directory = intern ("default-directory");
+  staticpro (&Qdefault_directory);
   Qformat_annotate_function = intern ("format-annotate-function");
   staticpro (&Qformat_annotate_function);
   Qafter_insert_file_set_coding = intern ("after-insert-file-set-coding");