(image-minor-mode): Exit more gracefully when the image

cannot be displayed (e.g. when doing C-x C-f some-new-file.svg RET).
This commit is contained in:
Stefan Monnier 2009-11-28 20:45:19 +00:00
parent c6d4731535
commit 26224fafa0
2 changed files with 22 additions and 11 deletions

View file

@ -1,5 +1,8 @@
2009-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
* image-mode.el (image-minor-mode): Exit more gracefully when the image
cannot be displayed (e.g. when doing C-x C-f some-new-file.svg RET).
* man.el (Man-completion-table): Make it easier to enter "<sec> <name>".
* eshell/em-prompt.el (eshell-prompt-function): Abbreviate pwd, since

View file

@ -362,18 +362,26 @@ See the command `image-mode' for more information on this mode."
(image-mode-setup-winprops)
(add-hook 'change-major-mode-hook (lambda () (image-minor-mode -1)) nil t)
(if (display-images-p)
(if (not (image-get-display-property))
(image-toggle-display)
(setq cursor-type nil truncate-lines t
image-type (plist-get (cdr (image-get-display-property)) :type)))
(condition-case err
(progn
(if (not (image-get-display-property))
(image-toggle-display)
(setq cursor-type nil truncate-lines t
image-type (plist-get (cdr (image-get-display-property))
:type)))
(message "%s"
(concat
(substitute-command-keys
"Type \\[image-toggle-display] to view the image as ")
(if (image-get-display-property)
"text" "an image") ".")))
(error
(image-toggle-display-text)
(funcall
(if (called-interactively-p 'any) 'error 'message)
"Cannot display image: %s" (cdr err))))
(setq image-type "text")
(use-local-map image-mode-text-map))
(if (display-images-p)
(message "%s" (concat
(substitute-command-keys
"Type \\[image-toggle-display] to view the image as ")
(if (image-get-display-property)
"text" "an image") ".")))))
(use-local-map image-mode-text-map))))
;;;###autoload
(defun image-mode-maybe ()