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 19:02:47 +0100 (BST) Message-ID: <87d34kfxa3@ch.ristopher.com> References: <87r4t1sk9o.fsf@web.de> <87sjdhily5@ch.ristopher.com> <06AF8E7E174A4F768ADB2B901755EA3C@us.oracle.com> <871ul0bymm@ch.ristopher.com> <87zk7ozman.fsf@web.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: dough.gmane.org 1340820257 23368 80.91.229.3 (27 Jun 2012 18:04:17 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 27 Jun 2012 18:04:17 +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 20:04:16 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 1Sjwb2-0000Nz-Pj for geb-bug-gnu-emacs@m.gmane.org; Wed, 27 Jun 2012 20:04:09 +0200 Original-Received: from localhost ([::1]:47729 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sjwb2-0007cB-LS for geb-bug-gnu-emacs@m.gmane.org; Wed, 27 Jun 2012 14:04:08 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:41129) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sjwav-0007bn-82 for bug-gnu-emacs@gnu.org; Wed, 27 Jun 2012 14:04:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Sjwao-0000px-OB for bug-gnu-emacs@gnu.org; Wed, 27 Jun 2012 14:04:00 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:51436) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sjwao-0000pi-Ht for bug-gnu-emacs@gnu.org; Wed, 27 Jun 2012 14:03:54 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1Sjwen-0005gR-O8 for bug-gnu-emacs@gnu.org; Wed, 27 Jun 2012 14:08:01 -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 18:08:01 +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.134082043521793 (code B ref -1); Wed, 27 Jun 2012 18:08:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 27 Jun 2012 18:07:15 +0000 Original-Received: from localhost ([127.0.0.1]:60982 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sjwe2-0005fR-DM for submit@debbugs.gnu.org; Wed, 27 Jun 2012 14:07:15 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:54557) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Sjwe0-0005fK-2H for submit@debbugs.gnu.org; Wed, 27 Jun 2012 14:07:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SjwZz-0000Sd-0i for submit@debbugs.gnu.org; Wed, 27 Jun 2012 14:03:04 -0400 Original-Received: from lists.gnu.org ([208.118.235.17]:56982) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SjwZy-0000SW-RH for submit@debbugs.gnu.org; Wed, 27 Jun 2012 14:03:02 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:40845) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SjwZt-0007N4-GN for bug-gnu-emacs@gnu.org; Wed, 27 Jun 2012 14:03:02 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SjwZo-0000O1-8Z for bug-gnu-emacs@gnu.org; Wed, 27 Jun 2012 14:02:56 -0400 Original-Received: from ristopher.com ([146.185.21.93]:40339 helo=saturn.ch.ristopher.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SjwZn-0000Mp-RA for bug-gnu-emacs@gnu.org; Wed, 27 Jun 2012 14:02:52 -0400 Original-Received: by saturn.ch.ristopher.com (Postfix, from userid 0) id D651520B28; Wed, 27 Jun 2012 19:02:47 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=ch.ristopher.com; s=mail; t=1340820167; bh=ELWWDirVHb9tWMGfN49k9G9VVGD9uSl+zKmZ4SWhFoo=; h=From:To:Subject:In-Reply-To:References:Message-ID:MIME-Version: Content-Type:Date; b=CIxZ1kMszC1PIBFvvyfrBTQNNtGCTJFxxOGYFwtb7NzV2dRXEUo/ENbrZlLl8if39 /qaB3qGuYjigUBPrUOnDUZswzz5LL5uaSYEExI2MxDxG6NobqzX87LuT4INs8jCsqO tuERGKwo0IVzkSx7D4WPsomveruXYHBwNsvrurK0= In-Reply-To: <87zk7ozman.fsf@web.de> (Michael Heerdegen's message of "Wed, 27 Jun 2012 19:39:44 +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:61337 Archived-At: --=-=-= Content-Type: text/plain Michael Heerdegen writes: > But there is a problem: if I now rename a file that isn't marked, I > get the following error: [...] > `dired-mark-remembered' does not accept files that are not marked, see > the docstring. I guess this can easily be fixed by just removing > those from the alist before calling `dired-mark-remembered'. Here is a fix for the fix. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=wdired-finish-edit-remember-marks-fixed.diff diff --git a/wdired.el b/wdired-fixed-fixed.el index fe5b4ef..045fe91 100644 --- a/wdired.el +++ b/wdired-fixed-fixed.el @@ -351,6 +351,7 @@ non-nil means return old filename." (wdired-change-to-dired-mode) (let ((changes nil) (errors 0) + (marks (dired-remember-marks (point-min) (point-max))) files-deleted files-renamed some-file-names-unchanged @@ -376,6 +377,12 @@ non-nil means return old filename." (setq changes t) (if (not file-new) ;empty filename! (push file-old files-deleted) + (when dired-keep-marker-rename + (let ((mark (if (integerp dired-keep-marker-rename) + dired-keep-marker-rename + (cdr (assoc file-old marks))))) + (when mark + (push (cons (substitute-in-file-name file-new) mark) marks)))) (push (cons file-old (substitute-in-file-name file-new)) files-renamed)))) (forward-line -1))) @@ -393,7 +400,9 @@ 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) + (let ((inhibit-read-only t)) + (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 --=-=-=--