X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Ffileio.c;h=ff19f3efe9a4011eda360e93e484d23abbad4e04;hb=e41915e709e6fdac3b4c3bb2fb7a825795617592;hp=578da72b045bae377022960402dc47ae4b85cdeb;hpb=21db8709c0c2dcedbd278c7fe571290d5ce80a71;p=chise%2Fxemacs-chise.git diff --git a/src/fileio.c b/src/fileio.c index 578da72..ff19f3e 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -364,6 +364,8 @@ If OPERATION equals `inhibit-file-name-operation', then we ignore any handlers that are members of `inhibit-file-name-handlers', but we still do run any other handlers. This lets handlers use the standard functions without calling themselves recursively. + +Otherwise, OPERATION is the name of a funcall'able function. */ (filename, operation)) { @@ -952,7 +954,7 @@ See also the function `substitute-in-file-name'. if (IS_DIRECTORY_SEP (nm[1])) { if (strcmp ((char *) nm, (char *) XSTRING_DATA (name)) != 0) - name = build_string ((CBufbyte *) nm); + name = build_string ((Bufbyte *) nm); } /* drive must be set, so this is okay */ else if (strcmp ((char *) nm - 2, @@ -1333,7 +1335,23 @@ No component of the resulting pathname will be a symbolic link, as TO_EXTERNAL_FORMAT (LISP_STRING, expanded_name, ALLOCA, (path, elen), Qfile_name); + +#if defined(WIN32_FILENAMES) && defined(CYGWIN) + /* When using win32 filenames in cygwin we want file-truename to + detect that c:/windows == /windows for example. */ + if ((IS_DIRECTORY_SEP (path[0]) + && (elen == 1 || !IS_DIRECTORY_SEP (path[1]))) + || (isalpha (path[0]) + && (elen == 1 || !IS_DEVICE_SEP (path[1])))) { + int ltwff2 = + cygwin_posix_to_win32_path_list_buf_size (path); + p = (Bufbyte *) alloca (ltwff2); + cygwin_posix_to_win32_path_list (path, p); + path = p; + } +#endif p = path; + if (elen > MAXPATHLEN) goto toolong; @@ -3858,8 +3876,8 @@ auto_save_1 (Lisp_Object ignored) return /* !!#### need to deal with this 'escape-quoted everywhere */ Fwrite_region_internal (Qnil, Qnil, a, Qnil, Qlambda, Qnil, -#ifdef MULE - Qescape_quoted +#ifdef FILE_CODING + current_buffer->buffer_file_coding_system #else Qnil #endif