Subject: Re: bug#24586: 24.5; `find-file' for non-existent file a.jpg should not complain

From: [email-masked]
Date: Tue, 04 Oct 2016 20:04:22 -0400

severity 24586 minor
quit

Drew Adams <[email-masked]> writes:

> emacs -Q
>
> C-x C-f a.jpg     ; Where file `a.jpg' does not exist
>
> This presents these error/warning messages, but it does not raise an
> error:
>
>   Type C-c C-c to view the image as an image.
>   Cannot display image: (Cannot determine image type)
>
> This seems wrong, because the file does not exist.  If you are trying to
> create an ordinary text file that happens to match an image-file name
> pattern, you should be able to do so, without getting such messages.  It
> could be helpful to instead get a message confirming that this is in
> fact what you are doing.
>
> Or if it is considered wrong to do that then Emacs should raise an
> error.
>
> IOW, either raise an error, if you are not allowed to create a new file
> whose name matches an image file, or else show a different message,
> saying, e.g., that no such image file exists and the buffer is therefore
> not in image mode (and it should in that case not be put in image mode).
>
> It seems wrong to both put the new buffer for the non-existent file in
> image mode and to complain that Emacs cannot display the image.  And
> the first message, about typing C-c C-c seems doubly inappropriate.

But then what would a user who wants to type the raw jpeg bytes into a
buffer and use C-c C-c to check the result do? ;)

Possible solutions:

1. Use the content-based magic-mode-alist to recognize images instead of
the filename-based auto-mode-alist.

2. Add a check to `image-mode' for an empty buffer and stay in
fundamental-mode in that case.