bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#2295: marked as done (Viewing images with image-mode changes direct


From: Emacs bug Tracking System
Subject: bug#2295: marked as done (Viewing images with image-mode changes directory time)
Date: Thu, 12 Feb 2009 22:00:04 +0000

Your message dated Thu, 12 Feb 2009 23:49:52 +0200
with message-id <878wob496n.fsf@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 owner@emacsbugs.donarmstrong.com
immediately.)


-- 
2295: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=2295
Emacs Bug Tracking System
Contact owner@emacsbugs.donarmstrong.com with problems
--- Begin Message --- Subject: Viewing images with image-mode changes directory time Date: Thu, 12 Feb 2009 00:55:48 +0200 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.90 (x86_64-pc-linux-gnu)
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/



--- End Message ---
--- Begin Message --- Subject: Re: bug#2295: Viewing images with image-mode changes directory time Date: Thu, 12 Feb 2009 23:49:52 +0200 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.90 (x86_64-pc-linux-gnu)
>> 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/


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]