aboutsummaryrefslogtreecommitdiffstats
path: root/src/fileio.c
diff options
context:
space:
mode:
authorKim F. Storm2004-11-05 12:33:07 +0000
committerKim F. Storm2004-11-05 12:33:07 +0000
commitd4a42098b27cfecb4b22c03e0fe4bc85b0e81d51 (patch)
tree88b27293839eadd0f9341c6e3d87cdfc905237d2 /src/fileio.c
parentcc68f410e53bb7782501b24eb78645f604afa1a2 (diff)
downloademacs-d4a42098b27cfecb4b22c03e0fe4bc85b0e81d51.tar.gz
emacs-d4a42098b27cfecb4b22c03e0fe4bc85b0e81d51.zip
(Ffile_modes): Doc fix.
(auto_save_1): Check for Ffile_modes nil value.
Diffstat (limited to 'src/fileio.c')
-rw-r--r--src/fileio.c27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/fileio.c b/src/fileio.c
index 4b5f4942566..aa37c296eb3 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -3366,7 +3366,8 @@ This is the sort of file that holds an ordinary stream of data bytes. */)
3366} 3366}
3367 3367
3368DEFUN ("file-modes", Ffile_modes, Sfile_modes, 1, 1, 0, 3368DEFUN ("file-modes", Ffile_modes, Sfile_modes, 1, 1, 0,
3369 doc: /* Return mode bits of file named FILENAME, as an integer. */) 3369 doc: /* Return mode bits of file named FILENAME, as an integer.
3370Return nil, if file does not exist or is not accessible. */)
3370 (filename) 3371 (filename)
3371 Lisp_Object filename; 3372 Lisp_Object filename;
3372{ 3373{
@@ -5712,17 +5713,21 @@ Lisp_Object
5712auto_save_1 () 5713auto_save_1 ()
5713{ 5714{
5714 struct stat st; 5715 struct stat st;
5716 Lisp_Object modes;
5717
5718 auto_save_mode_bits = 0666;
5715 5719
5716 /* Get visited file's mode to become the auto save file's mode. */ 5720 /* Get visited file's mode to become the auto save file's mode. */
5717 if (! NILP (current_buffer->filename) 5721 if (! NILP (current_buffer->filename))
5718 && stat (SDATA (current_buffer->filename), &st) >= 0) 5722 {
5719 /* But make sure we can overwrite it later! */ 5723 if (stat (SDATA (current_buffer->filename), &st) >= 0)
5720 auto_save_mode_bits = st.st_mode | 0600; 5724 /* But make sure we can overwrite it later! */
5721 else if (! NILP (current_buffer->filename)) 5725 auto_save_mode_bits = st.st_mode | 0600;
5722 /* Remote files don't cooperate with stat. */ 5726 else if ((modes = Ffile_modes (current_buffer->filename),
5723 auto_save_mode_bits = XINT (Ffile_modes (current_buffer->filename)) | 0600; 5727 INTEGERP (modes)))
5724 else 5728 /* Remote files don't cooperate with stat. */
5725 auto_save_mode_bits = 0666; 5729 auto_save_mode_bits = XINT (modes) | 0600;
5730 }
5726 5731
5727 return 5732 return
5728 Fwrite_region (Qnil, Qnil, 5733 Fwrite_region (Qnil, Qnil,
@@ -6190,7 +6195,7 @@ before any other event (mouse or keypress) is handeled. */)
6190#endif 6195#endif
6191 return Qnil; 6196 return Qnil;
6192} 6197}
6193 6198
6194DEFUN ("read-file-name", Fread_file_name, Sread_file_name, 1, 6, 0, 6199DEFUN ("read-file-name", Fread_file_name, Sread_file_name, 1, 6, 0,
6195 doc: /* Read file name, prompting with PROMPT and completing in directory DIR. 6200 doc: /* Read file name, prompting with PROMPT and completing in directory DIR.
6196Value is not expanded---you must call `expand-file-name' yourself. 6201Value is not expanded---you must call `expand-file-name' yourself.