Mercurial > emacs
changeset 5496:24f0d2908e61
[MSDOS]: Use text mode for all files but ".elc" files.
(complete_file_name) [MSDOS]: Drive letter support.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 08 Jan 1994 09:17:27 +0000 |
parents | 87f9165f5b14 |
children | 525a2027ec95 |
files | src/lread.c |
diffstat | 1 files changed, 25 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lread.c Sat Jan 08 09:16:45 1994 +0000 +++ b/src/lread.c Sat Jan 08 09:17:27 1994 +0000 @@ -47,6 +47,17 @@ #ifdef STDC_HEADERS #include <stdlib.h> #endif + +#if 0 /* That is untrue--XINT is used below, and it uses INTBITS. + What in the world is values.h, anyway? */ +#ifdef MSDOS +/* These are redefined in <values.h> and not used here */ +#undef INTBITS +#undef LONGBITS +#undef SHORTBITS +#endif +#endif + #include <math.h> #endif /* LISP_FLOAT_TYPE */ @@ -319,6 +330,9 @@ /* 1 means inhibit the message at the beginning. */ int nomessage1 = 0; Lisp_Object handler; +#ifdef MSDOS + char *dosmode = "rt"; +#endif CHECK_STRING (str, 0); str = Fsubstitute_in_file_name (str); @@ -352,6 +366,9 @@ struct stat s1, s2; int result; +#ifdef MSDOS + dosmode = "rb"; +#endif stat (XSTRING (found)->data, &s1); XSTRING (found)->data[XSTRING (found)->size - 1] = 0; result = stat (XSTRING (found)->data, &s2); @@ -366,7 +383,12 @@ XSTRING (found)->data[XSTRING (found)->size - 1] = 'c'; } +#ifdef MSDOS + close (fd); + stream = fopen ((char *) XSTRING (found)->data, dosmode); +#else stream = fdopen (fd, "r"); +#endif if (stream == 0) { close (fd); @@ -422,6 +444,9 @@ #ifdef VMS || index (s, ':') #endif /* VMS */ +#ifdef MSDOS /* MW, May 1993 */ + || (s[0] != '\0' && s[1] == ':' && s[2] == '/') +#endif ); }