3366 |
} |
} |
3367 |
|
|
3368 |
DEFUN ("file-modes", Ffile_modes, Sfile_modes, 1, 1, 0, |
DEFUN ("file-modes", Ffile_modes, Sfile_modes, 1, 1, 0, |
3369 |
doc: /* Return mode bits of file named FILENAME, as an integer. */) |
doc: /* Return mode bits of file named FILENAME, as an integer. |
3370 |
|
Return nil, if file does not exist or is not accessible. */) |
3371 |
(filename) |
(filename) |
3372 |
Lisp_Object filename; |
Lisp_Object filename; |
3373 |
{ |
{ |
5713 |
auto_save_1 () |
auto_save_1 () |
5714 |
{ |
{ |
5715 |
struct stat st; |
struct stat st; |
5716 |
|
Lisp_Object modes; |
5717 |
|
|
5718 |
|
auto_save_mode_bits = 0666; |
5719 |
|
|
5720 |
/* Get visited file's mode to become the auto save file's mode. */ |
/* Get visited file's mode to become the auto save file's mode. */ |
5721 |
if (! NILP (current_buffer->filename) |
if (! NILP (current_buffer->filename)) |
5722 |
&& stat (SDATA (current_buffer->filename), &st) >= 0) |
{ |
5723 |
/* But make sure we can overwrite it later! */ |
if (stat (SDATA (current_buffer->filename), &st) >= 0) |
5724 |
auto_save_mode_bits = st.st_mode | 0600; |
/* But make sure we can overwrite it later! */ |
5725 |
else if (! NILP (current_buffer->filename)) |
auto_save_mode_bits = st.st_mode | 0600; |
5726 |
/* Remote files don't cooperate with stat. */ |
else if ((modes = Ffile_modes (current_buffer->filename), |
5727 |
auto_save_mode_bits = XINT (Ffile_modes (current_buffer->filename)) | 0600; |
INTEGERP (modes))) |
5728 |
else |
/* Remote files don't cooperate with stat. */ |
5729 |
auto_save_mode_bits = 0666; |
auto_save_mode_bits = XINT (modes) | 0600; |
5730 |
|
} |
5731 |
|
|
5732 |
return |
return |
5733 |
Fwrite_region (Qnil, Qnil, |
Fwrite_region (Qnil, Qnil, |
6195 |
#endif |
#endif |
6196 |
return Qnil; |
return Qnil; |
6197 |
} |
} |
6198 |
|
|
6199 |
DEFUN ("read-file-name", Fread_file_name, Sread_file_name, 1, 6, 0, |
DEFUN ("read-file-name", Fread_file_name, Sread_file_name, 1, 6, 0, |
6200 |
doc: /* Read file name, prompting with PROMPT and completing in directory DIR. |
doc: /* Read file name, prompting with PROMPT and completing in directory DIR. |
6201 |
Value is not expanded---you must call `expand-file-name' yourself. |
Value is not expanded---you must call `expand-file-name' yourself. |