From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Christopher Schmidt Newsgroups: gmane.emacs.bugs Subject: bug#11795: 24.1.50; wdired: C-c C-c loses marks and positions of renamed files Date: Wed, 27 Jun 2012 02:27:00 +0100 (BST) Message-ID: <87sjdhily5@ch.ristopher.com> References: <87r4t1sk9o.fsf@web.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: dough.gmane.org 1340760487 16031 80.91.229.3 (27 Jun 2012 01:28:07 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 27 Jun 2012 01:28:07 +0000 (UTC) To: 11795@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Jun 27 03:28:06 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 1Sjh37-0002Ez-9f for geb-bug-gnu-emacs@m.gmane.org; Wed, 27 Jun 2012 03:28:05 +0200 Original-Received: from localhost ([::1]:41671 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sjh37-0005Rn-9i for geb-bug-gnu-emacs@m.gmane.org; Tue, 26 Jun 2012 21:28:05 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:59632) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sjh33-0005RJ-1p for bug-gnu-emacs@gnu.org; Tue, 26 Jun 2012 21:28:03 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Sjh31-0000mp-7b for bug-gnu-emacs@gnu.org; Tue, 26 Jun 2012 21:28:00 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:49734) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sjh31-0000mN-1k for bug-gnu-emacs@gnu.org; Tue, 26 Jun 2012 21:27:59 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1Sjh6w-0005m0-9v for bug-gnu-emacs@gnu.org; Tue, 26 Jun 2012 21:32:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Christopher Schmidt Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 27 Jun 2012 01:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 11795 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.134076067922144 (code B ref -1); Wed, 27 Jun 2012 01:32:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 27 Jun 2012 01:31:19 +0000 Original-Received: from localhost ([127.0.0.1]:59280 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sjh6E-0005l7-VT for submit@debbugs.gnu.org; Tue, 26 Jun 2012 21:31:19 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:39380) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sjh6B-0005ky-DC for submit@debbugs.gnu.org; Tue, 26 Jun 2012 21:31:16 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Sjh2D-0000T4-W7 for submit@debbugs.gnu.org; Tue, 26 Jun 2012 21:27:11 -0400 Original-Received: from lists.gnu.org ([208.118.235.17]:51175) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sjh2D-0000Sk-QP for submit@debbugs.gnu.org; Tue, 26 Jun 2012 21:27:09 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:59185) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sjh2B-0005HY-Ri for bug-gnu-emacs@gnu.org; Tue, 26 Jun 2012 21:27:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Sjh29-0000R1-Ln for bug-gnu-emacs@gnu.org; Tue, 26 Jun 2012 21:27:07 -0400 Original-Received: from ristopher.com ([146.185.21.93]:40196 helo=saturn.ch.ristopher.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sjh29-0000Pf-8K for bug-gnu-emacs@gnu.org; Tue, 26 Jun 2012 21:27:05 -0400 Original-Received: by saturn.ch.ristopher.com (Postfix, from userid 0) id D89E120B28; Wed, 27 Jun 2012 02:27:00 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=ch.ristopher.com; s=mail; t=1340760420; bh=m8hBjBL99AW6RnHeJDNJXgwaMzZEs4aka2YGK1aluo0=; h=From:To:Subject:In-Reply-To:References:Message-ID:MIME-Version: Content-Type:Date; b=OJUbnVrcz/Jw+wrDWnM7VaRPnMLf1HmIswIPqZRhova969gWHWt8dgYpJOumivBcC FtrrO0m0iL0nc8jrSk7e+GH/Zx4IRAXN0VDOlp8L/GTN7rx46WidlE0JHz1TqpT0b4 jF9ZVw9EXaAlrbcSARuKEGdDwCLIPA28OInwvto4= In-Reply-To: <87r4t1sk9o.fsf@web.de> (Michael Heerdegen's message of "Wed, 27 Jun 2012 01:53:07 +0200") Mail-Followup-To: bug-gnu-emacs@gnu.org X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) 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:61320 Archived-At: --=-=-= Content-Type: text/plain Michael Heerdegen writes: > Background: `wdired-finish-edit' calls `revert-buffer', which will > call `dired-revert'. Before this is called, everything is ok. But > `dired-revert' fails to remember the mark and the position of the > renamed file correctly. I didn't dig any further, but I guess a > specialized revert function is needed for `wdired-finish-edit'. This patch for wdired.el fixes the problem here (GNU Emacs 24.1.1). --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=wdired-finish-edit-remeber-marks.diff diff --git a/wdired.el b/wdired-fixed.el index fe5b4ef..d241d2e 100644 --- a/wdired.el +++ b/wdired-fixed.el @@ -350,7 +350,8 @@ non-nil means return old filename." (interactive) (wdired-change-to-dired-mode) (let ((changes nil) - (errors 0) + (errors 0) + (marks (dired-remember-marks (point-min) (point-max))) files-deleted files-renamed some-file-names-unchanged @@ -376,6 +377,9 @@ non-nil means return old filename." (setq changes t) (if (not file-new) ;empty filename! (push file-old files-deleted) + (push (cons (substitute-in-file-name file-new) + (cdr (assoc file-old marks))) + marks) (push (cons file-old (substitute-in-file-name file-new)) files-renamed)))) (forward-line -1))) @@ -393,7 +397,8 @@ non-nil means return old filename." (= (length files-renamed) 1)) (setq dired-directory (cdr (car files-renamed)))) ;; Re-sort the buffer. - (revert-buffer)) + (revert-buffer) + (dired-mark-remembered marks)) (let ((inhibit-read-only t)) (remove-text-properties (point-min) (point-max) '(old-name nil end-name nil old-link nil --=-=-= Content-Type: text/plain Christopher --=-=-=--