diff options
| -rw-r--r-- | lisp/files.el | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lisp/files.el b/lisp/files.el index fd4d05b6577..da8db21274b 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -4541,7 +4541,12 @@ this happens by default." | |||
| 4541 | (make-directory-internal dir) | 4541 | (make-directory-internal dir) |
| 4542 | (let ((dir (directory-file-name (expand-file-name dir))) | 4542 | (let ((dir (directory-file-name (expand-file-name dir))) |
| 4543 | create-list) | 4543 | create-list) |
| 4544 | (while (not (file-exists-p dir)) | 4544 | (while (and (not (file-exists-p dir)) |
| 4545 | ;; If directory is its own parent, then we can't | ||
| 4546 | ;; keep looping forever | ||
| 4547 | (not (equal dir | ||
| 4548 | (directory-file-name | ||
| 4549 | (file-name-directory dir))))) | ||
| 4545 | (setq create-list (cons dir create-list) | 4550 | (setq create-list (cons dir create-list) |
| 4546 | dir (directory-file-name (file-name-directory dir)))) | 4551 | dir (directory-file-name (file-name-directory dir)))) |
| 4547 | (while create-list | 4552 | (while create-list |