changeset 78452:8a8bca3342bc

(image-toggle-display): Use image-refresh.
author Chong Yidong <cyd@stupidchicken.com>
date Tue, 07 Aug 2007 16:40:29 +0000
parents 5cc850916d7c
children aebddcb3277b
files lisp/image-mode.el
diffstat 1 files changed, 7 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/image-mode.el	Tue Aug 07 16:40:18 2007 +0000
+++ b/lisp/image-mode.el	Tue Aug 07 16:40:29 2007 +0000
@@ -295,16 +295,17 @@
 	    (message "Repeat this command to go back to displaying the image")))
     ;; Turn the image data into a real image, but only if the whole file
     ;; was inserted
-    (let* ((image
-	    (if (and (buffer-file-name)
-		     (not (file-remote-p (buffer-file-name)))
+    (let* ((filename (buffer-file-name))
+	   (image
+	    (if (and filename
+		     (file-readable-p filename)
+		     (not (file-remote-p filename))
 		     (not (buffer-modified-p))
 		     (not (and (boundp 'archive-superior-buffer)
 			       archive-superior-buffer))
 		     (not (and (boundp 'tar-superior-buffer)
 			       tar-superior-buffer)))
-		(progn (clear-image-cache)
-		       (create-image (buffer-file-name)))
+		(create-image filename)
 	      (create-image
 	       (string-make-unibyte
 		(buffer-substring-no-properties (point-min) (point-max)))
@@ -313,13 +314,11 @@
 	    `(display ,image
 		      intangible ,image
 		      rear-nonsticky (display intangible)
-		      ;; This a cheap attempt to make the whole buffer
-		      ;; read-only when we're visiting the file (as
-		      ;; opposed to just inserting it).
 		      read-only t front-sticky (read-only)))
 	   (inhibit-read-only t)
 	   (buffer-undo-list t)
 	   (modified (buffer-modified-p)))
+      (image-refresh image)
       (add-text-properties (point-min) (point-max) props)
       (set-buffer-modified-p modified)
       ;; Inhibit the cursor when the buffer contains only an image,