Subject: bug#8177: closed (Re: bug#8177: 24.0.50; `find-file' 2nd time for image file - regression)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 05 Mar 2011 08:57:02 +0000

Your bug report

#8177: 24.0.50; `find-file' 2nd time for image file - regression

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
8177: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8177
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#8177: 24.0.50; `find-file' 2nd time for image file - regression
From: Eli Zaretskii <[email-masked]>
To: Drew Adams <[email-masked]>
Cc: [email-masked]
Date: Sat, 05 Mar 2011 10:54:35 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: "Drew Adams" <[email-masked]>
> Date: Sat, 5 Mar 2011 00:03:51 -0800
> Cc: 
> 
> 1. This is a regression; it works fine in Emacs 22 and Emacs 23.
>  
> M-: (find-file "...foo.jpg")
>  
> where `...foo.jpg' is an absolute file name of an image file (of a type
> that is supported).  The image is displayed - no problem.  Good.
>  
> Now repeat it:
> M-: (find-file "...foo.jpg")
>  
> This time you get an annoying dialog.  You should just see the image
> again.  Similarly, if you hit RET on the file name in Dired - first time
> is OK, second time you get sent down the rabbit hole.

My bad; fixed now.  If you want to try the change, but cannot dump
Emacs, apply the patch below, recompile files.el, and manually load
files.elc (followed by ls-lisp.elc) into Emacs.

> 2. In addition (but this is *not* the main point of this bug report),
> the annoying dialog you get uses multiple lines of text (6!) to prompt
> in the minibuffer (or in a popup, depending on how you invoke the
> function) for a y-or-n answer.  The prompt text is *far* too long and
> pretty much incomprehensible to an average user.

I didn't do anything about this part; suggest a separate bug report,
as it's unrelated.

=== modified file 'lisp/ChangeLog'
--- lisp/ChangeLog	2011-03-05 04:11:05 +0000
+++ lisp/ChangeLog	2011-03-05 08:48:52 +0000
@@ -1,3 +1,9 @@
+2011-03-05  Eli Zaretskii  <[email-masked]>
+
+	* files.el (find-file-noselect): Don't ask about re-visiting
+	non-literally if the file is already visited in image-mode.
+	(Bug#8177)
+
 2011-03-05  Glenn Morris  <[email-masked]>
 
 	* eshell/esh-mode.el (eshell-kill-buffer-function): New function.

=== modified file 'lisp/files.el'
--- lisp/files.el	2011-03-03 08:10:52 +0000
+++ lisp/files.el	2011-03-05 08:48:52 +0000
@@ -1894,8 +1894,8 @@ the various files."
 			   (not nonexistent)
 			   ;; It is confusing to ask whether to visit
 			   ;; non-literally if they have the file in
-			   ;; hexl-mode.
-			   (not (eq major-mode 'hexl-mode)))
+			   ;; hexl-mode or image-mode.
+			   (not (memq major-mode '(hexl-mode image-mode))))
 		  (if (buffer-modified-p)
 		      (if (y-or-n-p
 			   (format

Subject: 24.0.50; `find-file' 2nd time for image file - regression
From: "Drew Adams" <[email-masked]>
To: <[email-masked]>
Date: Sat, 5 Mar 2011 00:03:51 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

1. This is a regression; it works fine in Emacs 22 and Emacs 23.
 
M-: (find-file "...foo.jpg")
 
where `...foo.jpg' is an absolute file name of an image file (of a type
that is supported).  The image is displayed - no problem.  Good.
 
Now repeat it:
M-: (find-file "...foo.jpg")
 
This time you get an annoying dialog.  You should just see the image
again.  Similarly, if you hit RET on the file name in Dired - first time
is OK, second time you get sent down the rabbit hole.

2. In addition (but this is *not* the main point of this bug report),
the annoying dialog you get uses multiple lines of text (6!) to prompt
in the minibuffer (or in a popup, depending on how you invoke the
function) for a y-or-n answer.  The prompt text is *far* too long and
pretty much incomprehensible to an average user.  This is the `y-or-n-p'
prompt (including its line breaks):
 
"The file maybe-a-very-long-file-name.jpg is already visited literally,
meaning no coding system decoding, format conversion, or local variables.
You have asked to visit it normally,
but Emacs can only visit a file in one way at a time.
 
Do you want to revisit the file normally now? (y or n) "
 
That is _ridiculously_ long and confusing.  It is horribly user
unfriendly.  `find-file-noselect' is now filled to the gills with such
gobbledygook prompts, each more twisted and verbose than the next.
 
It's hard to believe that we have been prompting users this way since
Emacs 22 (the prompts for this are much shorter in Emacs 21).
Fortunately, these prompts not encountered very often.

In GNU Emacs 24.0.50.1 (i386-mingw-nt5.1.2600)
 of 2011-02-28 on 3249CTO
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.4) --no-opt --cflags
-Ic:/imagesupport/include'