From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.bugs Subject: bug#2295: Viewing archives with arc-mode changes directory time Date: Fri, 28 Sep 2012 19:59:19 +0300 Organization: JURTA Message-ID: <874nmi13tk.fsf_-_@mail.jurta.org> References: <873aepkksk.fsf@jurta.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1348851963 5348 80.91.229.3 (28 Sep 2012 17:06:03 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 28 Sep 2012 17:06:03 +0000 (UTC) Cc: 2295@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Sep 28 19:06:08 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1THe0u-0000R6-Dm for geb-bug-gnu-emacs@m.gmane.org; Fri, 28 Sep 2012 19:06:08 +0200 Original-Received: from localhost ([::1]:47826 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1THe0o-0008Ko-Gz for geb-bug-gnu-emacs@m.gmane.org; Fri, 28 Sep 2012 13:06:02 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:57899) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1THe0i-0008IH-MR for bug-gnu-emacs@gnu.org; Fri, 28 Sep 2012 13:06:00 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1THe0e-0005GZ-Cq for bug-gnu-emacs@gnu.org; Fri, 28 Sep 2012 13:05:56 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:51195) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1THe0e-0005GT-9u for bug-gnu-emacs@gnu.org; Fri, 28 Sep 2012 13:05:52 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1THe0o-00057z-LL for bug-gnu-emacs@gnu.org; Fri, 28 Sep 2012 13:06:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Juri Linkov Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 28 Sep 2012 17:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 2295 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 2295-submit@debbugs.gnu.org id=B2295.134885190819623 (code B ref 2295); Fri, 28 Sep 2012 17:06:02 +0000 Original-Received: (at 2295) by debbugs.gnu.org; 28 Sep 2012 17:05:08 +0000 Original-Received: from localhost ([127.0.0.1]:60738 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1THdzw-00056R-3H for submit@debbugs.gnu.org; Fri, 28 Sep 2012 13:05:08 -0400 Original-Received: from ps18281.dreamhost.com ([69.163.218.105]:56499 helo=ps18281.dreamhostps.com) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1THdzt-00056I-WA for 2295@debbugs.gnu.org; Fri, 28 Sep 2012 13:05:07 -0400 Original-Received: from localhost (ps18281.dreamhostps.com [69.163.218.105]) by ps18281.dreamhostps.com (Postfix) with ESMTP id 202C8451CCA1; Fri, 28 Sep 2012 10:04:53 -0700 (PDT) In-Reply-To: (Stefan Monnier's message of "Wed, 11 Feb 2009 21:40:54 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (x86_64-pc-linux-gnu) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:64985 Archived-At: >> 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: > > That sounds OK. We should provide at least a macro for that. I don't know how this macro could look, but there is exactly the same problem in arc-mode and tar-mode.el. Visiting an archive file modifies the mtime of its directory. This can be fixed with the same method as used to fix image-mode (by binding buffer-file-truename to nil): === modified file 'lisp/arc-mode.el' --- lisp/arc-mode.el 2012-05-04 06:13:18 +0000 +++ lisp/arc-mode.el 2012-09-28 16:51:56 +0000 @@ -787,7 +789,8 @@ (defun archive-summarize (&optional shut Optional argument SHUT-UP, if non-nil, means don't print messages when parsing the archive." (widen) - (let ((inhibit-read-only t)) + (let ((buffer-file-truename nil) ; avoid changing dir mtime by lock_file + (inhibit-read-only t)) (setq archive-proper-file-start (copy-marker (point-min) t)) (set (make-local-variable 'change-major-mode-hook) 'archive-desummarize) (or shut-up === modified file 'lisp/tar-mode.el' --- lisp/tar-mode.el 2012-08-13 10:34:25 +0000 +++ lisp/tar-mode.el 2012-08-20 01:25:16 +0000 @@ -518,12 +518,13 @@ (defun tar-summarize-buffer () (progress-reporter-done progress-reporter) (message "Warning: premature EOF parsing tar file")) (goto-char (point-min)) - (let ((inhibit-read-only t) + (let ((buffer-file-truename nil) ; avoid changing dir mtime by lock_file + (inhibit-read-only t) (total-summaries (mapconcat 'tar-header-block-summarize tar-parse-info "\n"))) - (insert total-summaries "\n")) + (insert total-summaries "\n") (goto-char (point-min)) - (restore-buffer-modified-p modified))) + (restore-buffer-modified-p modified)))) (defvar tar-mode-map (let ((map (make-keymap)))