diff src/fileio.c @ 56340:56b3ebd82889

(read_file_name_completion_ignore_case): New variable. (syms_of_fileio): Declare and initialise it. (Fread_file_name): Bind `completion-ignore-case' to respect it.
author John Paul Wallington <jpw@pobox.com>
date Sun, 04 Jul 2004 21:06:36 +0000
parents 6433313b236b
children 36170ef90094 09bbf2fc80da 6f6e9fe4658b
line wrap: on
line diff
--- a/src/fileio.c	Sun Jul 04 18:23:20 2004 +0000
+++ b/src/fileio.c	Sun Jul 04 21:06:36 2004 +0000
@@ -206,6 +206,9 @@
 /* Current predicate used by read_file_name_internal.  */
 Lisp_Object Vread_file_name_predicate;
 
+/* Nonzero means completion ignores case when reading file name.  */
+int read_file_name_completion_ignore_case;
+
 /* Nonzero means, when reading a filename in the minibuffer,
  start out by inserting the default directory into the minibuffer. */
 int insert_default_directory;
@@ -6284,10 +6287,8 @@
     }
 
   count = SPECPDL_INDEX ();
-#if defined VMS || defined DOS_NT || defined MAC_OSX
-  specbind (intern ("completion-ignore-case"), Qt);
-#endif
-
+  specbind (intern ("completion-ignore-case"),
+	    read_file_name_completion_ignore_case ? Qt : Qnil);
   specbind (intern ("minibuffer-completing-file-name"), Qt);
   specbind (intern ("read-file-name-predicate"),
 	    (NILP (predicate) ? Qfile_exists_p : predicate));
@@ -6523,6 +6524,14 @@
 	       doc: /* Current predicate used by `read-file-name-internal'.  */);
   Vread_file_name_predicate = Qnil;
 
+  DEFVAR_BOOL ("read-file-name-completion-ignore-case", &read_file_name_completion_ignore_case,
+	       doc: /* *Non-nil means when reading a file name completion ignores case.  */);
+#if defined VMS || defined DOS_NT || defined MAC_OS
+  read_file_name_completion_ignore_case = 1;
+#else
+  read_file_name_completion_ignore_case = 0;
+#endif
+
   DEFVAR_BOOL ("insert-default-directory", &insert_default_directory,
 	       doc: /* *Non-nil means when reading a filename start with default dir in minibuffer.
 If the initial minibuffer contents are non-empty, you can usually