GNU bug report logs -
#2295
Viewing images with image-mode changes directory time
Previous Next
Reported by: Juri Linkov <juri <at> jurta.org>
Date: Wed, 11 Feb 2009 23:25:04 UTC
Severity: normal
Tags: patch, pending
Merged with 10602
Done: Juri Linkov <juri <at> jurta.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Thu, 12 Feb 2009 23:49:52 +0200
with message-id <878wob496n.fsf <at> jurta.org>
and subject line Re: bug#2295: Viewing images with image-mode changes directory time
has caused the Emacs bug report #2295,
regarding Viewing images with image-mode changes directory time
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact help-debbugs <at> gnu.org
immediately.)
--
2295: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=2295
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Using image-mode to visit image files touches directory modification
dates. This is especially annoying when image files are in an old
archive. The problem is in the function `add-text-properties' that
temporarily modifies the image buffer causing lock-file to create a lock
file in the current directory that modifies the directory timestamp.
As a solution I propose to let-bind `buffer-file-truename' to nil
around the call to `add-text-properties' to prevent directory time
modification:
Index: lisp/image-mode.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/image-mode.el,v
retrieving revision 1.55
diff -c -r1.55 image-mode.el
*** lisp/image-mode.el 7 Feb 2009 15:29:14 -0000 1.55
--- lisp/image-mode.el 11 Feb 2009 22:52:35 -0000
***************
*** 457,464 ****
(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,
;; because cursors look very strange on top of images.
(setq cursor-type nil)
--- 457,465 ----
(buffer-undo-list t)
(modified (buffer-modified-p)))
(image-refresh image)
! (let ((buffer-file-truename nil)) ; avoid changing dir mtime by lock_file
! (add-text-properties (point-min) (point-max) props)
! (set-buffer-modified-p modified))
;; Inhibit the cursor when the buffer contains only an image,
;; because cursors look very strange on top of images.
(setq cursor-type nil)
--
Juri Linkov
http://www.jurta.org/emacs/
[Message part 3 (message/rfc822, inline)]
>> As a solution I propose to let-bind `buffer-file-truename' to nil
>> around the call to `add-text-properties' to prevent directory time
>> modification:
>
> That sounds OK. We should provide at least a macro for that.
Maybe it would be better (after the release) to improve
`add-text-properties' to not modify the current buffer
(with a new flag to keep the default behavior unchanged).
This is an old problem with buffers that don't save text properties,
so modifying them is meaningless and sometimes harmful.
> BTW, while you're there, change set-buffer-modified-p to
> restore-buffer-modified-p.
Done.
--
Juri Linkov
http://www.jurta.org/emacs/
This bug report was last modified 10 years and 173 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.