[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: copy-file-doesn't work (was: Tramp ftp bug (was: ange-ftp-name-forma
From: |
Eli Zaretskii |
Subject: |
Re: copy-file-doesn't work (was: Tramp ftp bug (was: ange-ftp-name-format needs to be improved)) |
Date: |
Mon, 02 Feb 2004 22:57:48 +0200 |
> From: Michael Albinus <address@hidden>
> Date: Mon, 02 Feb 2004 20:53:41 +0100
>
> Hmm. Interesting enough, it doesn't seem to be related to Tramp or
> ange-ftp. There's even the same problem copying the file locally:
>
> (copy-file "~/.emacs" "/tmp/")
>
> Debugger entered--Lisp error: (file-already-exists "File already exists"
> "/home/albinus/.emacs")
> copy-file("~/.emacs" "/tmp/")
> eval((copy-file "~/.emacs" "/tmp/"))
> eval-expression((copy-file "~/.emacs" "/tmp/") nil)
> call-interactively(eval-expression)
>
> Of course, "/home/albinus/.emacs" does exists, and "/tmp/.emacs"
> doesn't.
>
> The problem is not evident with Emacs 21.3.
It's a simple bug in copy-file; thanks for bringing this to our
attention.
Please try the patch below.
2004-02-02 Eli Zaretskii <address@hidden>
* fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
basename of FILE relative to it, not FILE itself.
Index: src/fileio.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/fileio.c,v
retrieving revision 1.497
retrieving revision 1.498
diff -u -p -r1.497 -r1.498
--- src/fileio.c 31 Jan 2004 04:24:23 -0000 1.497
+++ src/fileio.c 2 Feb 2004 20:51:18 -0000 1.498
@@ -2407,7 +2407,7 @@ Also set the file modes of the target fi
CHECK_STRING (newname);
if (!NILP (Ffile_directory_p (newname)))
- newname = Fexpand_file_name (file, newname);
+ newname = Fexpand_file_name (Ffile_name_nondirectory (file), newname);
else
newname = Fexpand_file_name (newname, Qnil);