diff options
| author | Gerd Moellmann | 2000-04-24 18:41:54 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-04-24 18:41:54 +0000 |
| commit | b272d624004f3a925adfd600fb0fbe24e7952e76 (patch) | |
| tree | ea858e1aa7e576b2fdff1e0a2b9a5ec1a30f2e28 /src | |
| parent | fa78f71bdb803fd6ee2fd796a21b1a4ecb0a7c08 (diff) | |
| download | emacs-b272d624004f3a925adfd600fb0fbe24e7952e76.tar.gz emacs-b272d624004f3a925adfd600fb0fbe24e7952e76.zip | |
(Fdo_auto_save): Create directories for auto-save
list file if necessary.
Diffstat (limited to 'src')
| -rw-r--r-- | src/fileio.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/fileio.c b/src/fileio.c index 59d09a93157..43110f7ece8 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -299,6 +299,7 @@ Lisp_Object Qunhandled_file_name_directory; | |||
| 299 | Lisp_Object Qfile_name_as_directory; | 299 | Lisp_Object Qfile_name_as_directory; |
| 300 | Lisp_Object Qcopy_file; | 300 | Lisp_Object Qcopy_file; |
| 301 | Lisp_Object Qmake_directory_internal; | 301 | Lisp_Object Qmake_directory_internal; |
| 302 | Lisp_Object Qmake_directory; | ||
| 302 | Lisp_Object Qdelete_directory; | 303 | Lisp_Object Qdelete_directory; |
| 303 | Lisp_Object Qdelete_file; | 304 | Lisp_Object Qdelete_file; |
| 304 | Lisp_Object Qrename_file; | 305 | Lisp_Object Qrename_file; |
| @@ -5225,8 +5226,14 @@ A non-nil CURRENT-ONLY argument means save only current buffer.") | |||
| 5225 | 5226 | ||
| 5226 | if (STRINGP (Vauto_save_list_file_name)) | 5227 | if (STRINGP (Vauto_save_list_file_name)) |
| 5227 | { | 5228 | { |
| 5228 | Lisp_Object listfile; | 5229 | Lisp_Object listfile, dir; |
| 5230 | |||
| 5229 | listfile = Fexpand_file_name (Vauto_save_list_file_name, Qnil); | 5231 | listfile = Fexpand_file_name (Vauto_save_list_file_name, Qnil); |
| 5232 | |||
| 5233 | dir = Ffile_name_directory (listfile); | ||
| 5234 | if (NILP (Ffile_directory_p (dir))) | ||
| 5235 | call2 (Qmake_directory, dir, Qt); | ||
| 5236 | |||
| 5230 | stream = fopen (XSTRING (listfile)->data, "w"); | 5237 | stream = fopen (XSTRING (listfile)->data, "w"); |
| 5231 | if (stream != NULL) | 5238 | if (stream != NULL) |
| 5232 | { | 5239 | { |
| @@ -5700,6 +5707,7 @@ syms_of_fileio () | |||
| 5700 | Qfile_name_as_directory = intern ("file-name-as-directory"); | 5707 | Qfile_name_as_directory = intern ("file-name-as-directory"); |
| 5701 | Qcopy_file = intern ("copy-file"); | 5708 | Qcopy_file = intern ("copy-file"); |
| 5702 | Qmake_directory_internal = intern ("make-directory-internal"); | 5709 | Qmake_directory_internal = intern ("make-directory-internal"); |
| 5710 | Qmake_directory = intern ("make-directory"); | ||
| 5703 | Qdelete_directory = intern ("delete-directory"); | 5711 | Qdelete_directory = intern ("delete-directory"); |
| 5704 | Qdelete_file = intern ("delete-file"); | 5712 | Qdelete_file = intern ("delete-file"); |
| 5705 | Qrename_file = intern ("rename-file"); | 5713 | Qrename_file = intern ("rename-file"); |
| @@ -5731,6 +5739,7 @@ syms_of_fileio () | |||
| 5731 | staticpro (&Qfile_name_as_directory); | 5739 | staticpro (&Qfile_name_as_directory); |
| 5732 | staticpro (&Qcopy_file); | 5740 | staticpro (&Qcopy_file); |
| 5733 | staticpro (&Qmake_directory_internal); | 5741 | staticpro (&Qmake_directory_internal); |
| 5742 | staticpro (&Qmake_directory); | ||
| 5734 | staticpro (&Qdelete_directory); | 5743 | staticpro (&Qdelete_directory); |
| 5735 | staticpro (&Qdelete_file); | 5744 | staticpro (&Qdelete_file); |
| 5736 | staticpro (&Qrename_file); | 5745 | staticpro (&Qrename_file); |