Subject: RE: 23.0.60; error raised if visit new, empty file foo.jpeg

From: "Drew Adams" <[email-masked]>
Date: Tue, 27 Jan 2009 07:45:31 -0800

> > emacs -Q
> > 
> > C-x C-f foo.jpeg
> > 
> > That raises this error:
> > "File mode specification error: (error "Cannot determine 
> > image type")"
> > 
> > I don't think an error should be raised until the buffer is 
> > saved.  I could be wrong about that.  In any case, the error
> > message should be something more appropriate.
> 
> The error occurs because Emacs is trying to display the image, and is
> unable to do so.

Yes, I know.

> It has nothing to do with saving the buffer.

I see. Will Emacs display an unsaved image file buffer? I was thinking that
image mode (or whatever it is) is reserved for existing files. That's why I
mentioned saving.

There are two possible cases here: (1) a new, empty file buffer and (2) an
existing empty file.

> Note that image-mode does not assume that the file is in jpeg format
> based on the file name alone: it examines the file contents 
> as well.  We could, in principle, replace this error message with a
> more generic message, but that would be less helpful for debugging.

It should be replaced with a more _specific_ message, saying that (1) the file
does not exist or (2) that the file is empty.

A user who knows nothing of image mode or images and mistakenly types foo.jpeg
instead of foo.jpem (local to his organization) gets an inappropriate message.
What s?he should be told is that (1) image mode is used, by default, for *.jpeg
(`auto-mode-alist'), and (2) the file does not exist (if new) or is empty (if
existing).

Another case is what happens if a user visits a non-empty text file named
foo.jpeg? Again, the buffer should be put in fundamental mode and an error
message raised. The message should say that *.jpeg is associated with image
mode, but this is not a well-formed JPEG file. IOW, the not-valid-PDF message
must make sense also to a user unfamiliar with images.

If you want to give additional info about the invalid JPEG in the case of a
normal bad-JPEG file, then consider giving first such a short message, but
mention that the user can hit some key for more information. When s?he hits that
key, pop up a buffer with the detailed diagnosis for the bad JPEG.

See the discussion for bug #2058.