summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLars Magne Ingebrigtsen <larsi@gnus.org>2011-07-04 15:44:52 +0200
committerLars Magne Ingebrigtsen <larsi@gnus.org>2011-07-04 15:44:52 +0200
commitc4f2d8d48d29b35ba5f0d7734be8e8b0b8b71798 (patch)
tree0299cca6ec76a73680a0e7d79c411fe241c0a7ee /src
parentc1e57b47608627bf9432e5e32efc7457b49a991c (diff)
downloademacs-c4f2d8d48d29b35ba5f0d7734be8e8b0b8b71798.tar.gz
* fileio.c (barf_or_query_if_file_exists): Check first if the file
is a directory before asking whether to use the file name (bug#7564).
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/fileio.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 18ecc1ae41f..1be9b09381e 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,9 @@
2011-07-04 Lars Magne Ingebrigtsen <larsi@gnus.org>
+ * fileio.c (barf_or_query_if_file_exists): Check first if the file
+ is a directory before asking whether to use the file name
+ (bug#7564).
+
* fns.c (Frequire): Remove the mention of the .gz files, since
that's installation-specific, but keep the mention of
`get-load-suffixes'.
diff --git a/src/fileio.c b/src/fileio.c
index 27fef42960a..6a4d1c55680 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -1755,6 +1755,10 @@ barf_or_query_if_file_exists (Lisp_Object absname, const char *querystring,
regardless of what access permissions it has. */
if (lstat (SSDATA (encoded_filename), &statbuf) >= 0)
{
+ if (Ffile_directory_p (absname))
+ xsignal2 (Qfile_error,
+ build_string ("File name is a directory"), absname);
+
if (! interactive)
xsignal2 (Qfile_already_exists,
build_string ("File already exists"), absname);