diff options
Diffstat (limited to 'lisp/files.el')
-rw-r--r-- | lisp/files.el | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lisp/files.el b/lisp/files.el index 396e4c28b36..141fe9f26c9 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -1695,6 +1695,16 @@ This function ensures that none of these modifications will take place." (if (file-directory-p filename) (signal 'file-error (list "Opening input file" "file is a directory" filename))) + ;; Check whether the file is uncommonly large (see find-file-noselect): + (let (size) + (when (and large-file-warning-threshold + (setq size (nth 7 (file-attributes filename))) + (> size large-file-warning-threshold) + (not (y-or-n-p + (format "File %s is large (%dMB), really insert? " + (file-name-nondirectory filename) + (/ size 1048576))))) + (error "Aborted"))) (let* ((buffer (find-buffer-visiting (abbreviate-file-name (file-truename filename)) #'buffer-modified-p)) (tem (funcall insert-func filename))) @@ -2916,7 +2926,7 @@ Interactively, confirmation is required unless you supply a prefix argument." (interactive (list (if buffer-file-name (read-file-name "Write file: " - nil nil nil nil) + nil nil nil nil) (read-file-name "Write file: " default-directory (expand-file-name (file-name-nondirectory (buffer-name)) |