* lisp/subr.el (directory-sep-char): Move from fileio.c and make a defconst.
* src/emacs.c (decode_env_path): Don't check DIRECTORY_SEP,
call dostounix_filename directly.
* src/fileio.c (CORRECT_DIR_SEPS): Remove.
(Ffile_name_directory, directory_file_name, Fexpand_file_name)
(Fsubstitute_in_file_name): Use dostounix_filename instead.
(file_name_as_directory): Use dostounix_filename, DIRECTORY_SEP.
(syms_of_fileio) <directory-sep-char>: Move to subr.el.
* src/lisp.h [WINDOWSNT] (Vdirectory_sep_char): Don't declare.
(DIRECTORY_SEP): Define unconditionally.
* src/w32proc.c (CORRECT_DIR_SEPS): Remove.
(Fw32_short_file_name, Fw32_long_file_name): Use dostounix_filename.
* src/s/ms-w32.h (DIRECTORY_SEP): Remove.
+2010-06-04 Juanma Barranquero <lekktu@gmail.com>
+
+ * subr.el (directory-sep-char): Move from fileio.c and make a defconst.
+
2010-06-04 Michael Albinus <michael.albinus@gmx.de>
* net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name): Expand "~/".
(make-obsolete 'process-filter-multibyte-p nil "23.1")
(make-obsolete 'set-process-filter-multibyte nil "23.1")
-(make-obsolete-variable 'directory-sep-char "do not use it." "21.1")
+(defconst directory-sep-char ?/
+ "Directory separator character for built-in functions that return file names.
+The value is always ?/.")
+(make-obsolete-variable 'directory-sep-char "do not use it, just use `/'." "21.1")
+
(make-obsolete-variable
'mode-line-inverse-video
"use the appropriate faces instead."
+2010-06-04 Juanma Barranquero <lekktu@gmail.com>
+
+ Turn `directory-sep-char' into a noop.
+
+ * lisp.h [WINDOWSNT] (Vdirectory_sep_char): Don't declare.
+ (DIRECTORY_SEP): Define unconditionally.
+
+ * s/ms-w32.h (DIRECTORY_SEP): Remove.
+
+ * emacs.c (decode_env_path): Don't check DIRECTORY_SEP,
+ call dostounix_filename directly.
+
+ * fileio.c (CORRECT_DIR_SEPS): Remove.
+ (Ffile_name_directory, directory_file_name, Fexpand_file_name)
+ (Fsubstitute_in_file_name): Use dostounix_filename instead.
+ (file_name_as_directory): Use dostounix_filename, DIRECTORY_SEP.
+ (syms_of_fileio) <directory-sep-char>: Move to subr.el.
+
+ * w32proc.c (CORRECT_DIR_SEPS): Remove.
+ (Fw32_short_file_name, Fw32_long_file_name): Use dostounix_filename.
+
2010-06-03 Dan Nicolaescu <dann@ics.uci.edu>
Move UNEXEC definition to autoconf.
#endif
init_window ();
init_font ();
-
+
if (!initialized)
{
char *file;
strcpy (p, path);
path = p;
- if ('/' == DIRECTORY_SEP)
- dostounix_filename (path);
- else
- unixtodos_filename (path);
+ dostounix_filename (path);
}
#endif
lpath = Qnil;
#endif
#ifdef DOS_NT
-#define CORRECT_DIR_SEPS(s) \
- do { if ('/' == DIRECTORY_SEP) dostounix_filename (s); \
- else unixtodos_filename (s); \
- } while (0)
/* On Windows, drive letters must be alphabetic - on DOS, the Netware
redirector allows the six letters between 'Z' and 'a' as well. */
#ifdef MSDOS
p = beg + strlen (beg);
}
}
- CORRECT_DIR_SEPS (beg);
+ dostounix_filename (beg);
#endif /* DOS_NT */
return make_specified_string (beg, -1, p - beg, STRING_MULTIBYTE (filename));
/* For Unix syntax, Append a slash if necessary */
if (!IS_DIRECTORY_SEP (out[size]))
{
- /* Cannot use DIRECTORY_SEP, which could have any value */
- out[size + 1] = '/';
+ out[size + 1] = DIRECTORY_SEP;
out[size + 2] = '\0';
}
#ifdef DOS_NT
- CORRECT_DIR_SEPS (out);
+ dostounix_filename (out);
#endif
return out;
}
)
dst[slen - 1] = 0;
#ifdef DOS_NT
- CORRECT_DIR_SEPS (dst);
+ dostounix_filename (dst);
#endif
return 1;
}
if (!lose)
{
#ifdef DOS_NT
- /* Make sure directories are all separated with / or \ as
- desired, but avoid allocation of a new string when not
- required. */
- CORRECT_DIR_SEPS (nm);
+ /* Make sure directories are all separated with /, but
+ avoid allocation of a new string when not required. */
+ dostounix_filename (nm);
#ifdef WINDOWSNT
if (IS_DIRECTORY_SEP (nm[1]))
{
target[0] = '/';
target[1] = ':';
}
- CORRECT_DIR_SEPS (target);
+ dostounix_filename (target);
#endif /* DOS_NT */
result = make_specified_string (target, -1, o - target, multibyte);
bcopy (SDATA (filename), nm, SBYTES (filename) + 1);
#ifdef DOS_NT
- CORRECT_DIR_SEPS (nm);
+ dostounix_filename (nm);
substituted = (strcmp (nm, SDATA (filename)) != 0);
#endif
endp = nm + SBYTES (filename);
Fput (Qfile_date_error, Qerror_message,
make_pure_c_string ("Cannot set file date"));
- DEFVAR_LISP ("directory-sep-char", &Vdirectory_sep_char,
- doc: /* Directory separator character for built-in functions that return file names.
-The value is always ?/. Don't use this variable, just use `/'. */);
- XSETFASTINT (Vdirectory_sep_char, '/');
-
DEFVAR_LISP ("file-name-handler-alist", &Vfile_name_handler_alist,
doc: /* *Alist of elements (REGEXP . HANDLER) for file names handled specially.
If a file name matches REGEXP, then all I/O on that file is done by calling
extern void init_system_name P_ ((void));
/* Some systems (e.g., NT) use a different path separator than Unix,
- in addition to a device separator. Default the path separator
+ in addition to a device separator. Set the path separator
to '/', and don't test for a device separator in IS_ANY_SEP. */
-#ifdef WINDOWSNT
-extern Lisp_Object Vdirectory_sep_char;
-#endif
-
-#ifndef DIRECTORY_SEP
#define DIRECTORY_SEP '/'
-#endif
#ifndef IS_DIRECTORY_SEP
#define IS_DIRECTORY_SEP(_c_) ((_c_) == DIRECTORY_SEP)
#endif
your system and must be used only through an encapsulation (which
you should place, by convention, in sysdep.c). */
-/* Define this to be the separator between path elements. */
-#define DIRECTORY_SEP XINT (Vdirectory_sep_char)
-
/* Define this to be the separator between devices and paths. */
#define DEVICE_SEP ':'
/* Some miscellaneous functions that are Windows specific, but not GUI
specific (ie. are applicable in terminal or batch mode as well). */
-/* lifted from fileio.c */
-#define CORRECT_DIR_SEPS(s) \
- do { if ('/' == DIRECTORY_SEP) dostounix_filename (s); \
- else unixtodos_filename (s); \
- } while (0)
-
DEFUN ("w32-short-file-name", Fw32_short_file_name, Sw32_short_file_name, 1, 1, 0,
doc: /* Return the short file name version (8.3) of the full path of FILENAME.
If FILENAME does not exist, return nil.
if (GetShortPathName (SDATA (ENCODE_FILE (filename)), shortname, MAX_PATH) == 0)
return Qnil;
- CORRECT_DIR_SEPS (shortname);
+ dostounix_filename (shortname);
return build_string (shortname);
}
if (!w32_get_long_filename (SDATA (ENCODE_FILE (filename)), longname, MAX_PATH))
return Qnil;
- CORRECT_DIR_SEPS (longname);
+ dostounix_filename (longname);
/* If we were passed only a drive, make sure that a slash is not appended
for consistency with directories. Allow for drive mapping via SUBST