summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/image-mode.el9
1 files changed, 9 insertions, 0 deletions
diff --git a/lisp/image-mode.el b/lisp/image-mode.el
index 948e62e10d0..4c719f7cda2 100644
--- a/lisp/image-mode.el
+++ b/lisp/image-mode.el
@@ -612,6 +612,15 @@ Key bindings:
(setq major-mode 'image-mode)
(setq image-transform-resize image-auto-resize)
+ ;; Bail out early if we have no image data.
+ (if (zerop (buffer-size))
+ (funcall (if (called-interactively-p 'any) 'error 'message)
+ (if (file-exists-p buffer-file-name)
+ "Empty file"
+ "(New file)"))
+ (image-mode--display)))
+
+(defun image-mode--display ()
(if (not (image-get-display-property))
(progn
(when (condition-case err