diff options
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/files.el | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/lisp/files.el b/lisp/files.el index 85e649fbb59..7ab6f769a8f 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -5501,10 +5501,10 @@ Noninteractively, the last argument PARENTS says whether to | |||
| 5501 | create parent directories if they don't exist. Interactively, | 5501 | create parent directories if they don't exist. Interactively, |
| 5502 | this happens by default. | 5502 | this happens by default. |
| 5503 | 5503 | ||
| 5504 | If NEWNAME names an existing directory, copy DIRECTORY as a | 5504 | If NEWNAME is a directory name, copy DIRECTORY as a subdirectory |
| 5505 | subdirectory there. However, if called from Lisp with a non-nil | 5505 | there. However, if called from Lisp with a non-nil optional |
| 5506 | optional argument COPY-CONTENTS, copy the contents of DIRECTORY | 5506 | argument COPY-CONTENTS, copy the contents of DIRECTORY directly |
| 5507 | directly into NEWNAME instead." | 5507 | into NEWNAME instead." |
| 5508 | (interactive | 5508 | (interactive |
| 5509 | (let ((dir (read-directory-name | 5509 | (let ((dir (read-directory-name |
| 5510 | "Copy directory: " default-directory default-directory t nil))) | 5510 | "Copy directory: " default-directory default-directory t nil))) |
| @@ -5526,19 +5526,17 @@ directly into NEWNAME instead." | |||
| 5526 | 5526 | ||
| 5527 | ;; Compute target name. | 5527 | ;; Compute target name. |
| 5528 | (setq directory (directory-file-name (expand-file-name directory)) | 5528 | (setq directory (directory-file-name (expand-file-name directory)) |
| 5529 | newname (directory-file-name (expand-file-name newname))) | 5529 | newname (expand-file-name newname)) |
| 5530 | 5530 | ||
| 5531 | (cond ((not (file-directory-p newname)) | 5531 | (cond ((not (directory-name-p newname)) |
| 5532 | ;; If NEWNAME is not an existing directory, create it; | 5532 | ;; If NEWNAME is not a directory name, create it; |
| 5533 | ;; that is where we will copy the files of DIRECTORY. | 5533 | ;; that is where we will copy the files of DIRECTORY. |
| 5534 | (make-directory newname parents)) | 5534 | (make-directory newname parents)) |
| 5535 | ;; If NEWNAME is an existing directory and COPY-CONTENTS | 5535 | ;; If NEWNAME is a directory name and COPY-CONTENTS |
| 5536 | ;; is nil, copy into NEWNAME/[DIRECTORY-BASENAME]. | 5536 | ;; is nil, copy into NEWNAME/[DIRECTORY-BASENAME]. |
| 5537 | ((not copy-contents) | 5537 | ((not copy-contents) |
| 5538 | (setq newname (concat | 5538 | (setq newname (concat newname |
| 5539 | (file-name-as-directory newname) | 5539 | (file-name-nondirectory directory))) |
| 5540 | (file-name-nondirectory | ||
| 5541 | (directory-file-name directory)))) | ||
| 5542 | (and (file-exists-p newname) | 5540 | (and (file-exists-p newname) |
| 5543 | (not (file-directory-p newname)) | 5541 | (not (file-directory-p newname)) |
| 5544 | (error "Cannot overwrite non-directory %s with a directory" | 5542 | (error "Cannot overwrite non-directory %s with a directory" |