From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.bugs Subject: bug#11795: 24.1.50; wdired: C-c C-c loses marks and positions of renamed files Date: Wed, 04 Jul 2012 06:02:33 +0200 Message-ID: <873958b2cm.fsf@web.de> References: <87r4t1sk9o.fsf@web.de> <87sjdhily5@ch.ristopher.com> <06AF8E7E174A4F768ADB2B901755EA3C@us.oracle.com> <871ul0bymm@ch.ristopher.com> <87zk7ozman.fsf@web.de> <87d34kfxa3@ch.ristopher.com> <87d34kzcr8.fsf@web.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: dough.gmane.org 1341374486 4738 80.91.229.3 (4 Jul 2012 04:01:26 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 4 Jul 2012 04:01:26 +0000 (UTC) Cc: Christopher Schmidt To: 11795@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Jul 04 06:01:26 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 1SmGmL-0002Ol-6R for geb-bug-gnu-emacs@m.gmane.org; Wed, 04 Jul 2012 06:01:25 +0200 Original-Received: from localhost ([::1]:60625 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SmGmJ-0003Ri-Uz for geb-bug-gnu-emacs@m.gmane.org; Wed, 04 Jul 2012 00:01:23 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:48717) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SmGmG-0003RS-57 for bug-gnu-emacs@gnu.org; Wed, 04 Jul 2012 00:01:21 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SmGmE-0002Nm-B1 for bug-gnu-emacs@gnu.org; Wed, 04 Jul 2012 00:01:19 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:37093) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SmGmE-0002NW-80 for bug-gnu-emacs@gnu.org; Wed, 04 Jul 2012 00:01:18 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1SmGqo-0006Oc-BN for bug-gnu-emacs@gnu.org; Wed, 04 Jul 2012 00:06:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Heerdegen Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 04 Jul 2012 04:06: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: Original-Received: via spool by 11795-submit@debbugs.gnu.org id=B11795.134137471724535 (code B ref 11795); Wed, 04 Jul 2012 04:06:02 +0000 Original-Received: (at 11795) by debbugs.gnu.org; 4 Jul 2012 04:05:17 +0000 Original-Received: from localhost ([127.0.0.1]:46638 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SmGq3-0006Ne-UI for submit@debbugs.gnu.org; Wed, 04 Jul 2012 00:05:16 -0400 Original-Received: from mout.web.de ([212.227.17.11]:61763) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SmGq1-0006NW-5V for 11795@debbugs.gnu.org; Wed, 04 Jul 2012 00:05:14 -0400 Original-Received: from snow.dragon ([89.204.138.21]) by smtp.web.de (mrweb002) with ESMTPSA (Nemesis) id 0MUEoU-1SLLxa0Ves-00RHnC; Wed, 04 Jul 2012 06:00:26 +0200 In-Reply-To: <87d34kzcr8.fsf@web.de> (Michael Heerdegen's message of "Wed, 27 Jun 2012 23:05:47 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) X-Provags-ID: V02:K0:ZhzlTemH8eMzcK+6IadtfXw+q/xmpUuHK5acP+fLQt2 /QohQOQYcYdTSv9X5nqMNnCCr9BuqZCEDKNB27I7TtxTEM5BBd ZZYKMY8QeBWOd+yKQtRW90p6EeDFjwB9owRyay3qQmQhr1FqGh eDqg76l3BeoSO9ZUVpwknkcz720m7G+yM0JhrMBGOKadbrmEsJ clHYL0v53pK/kLYkpRlt/R/OWQzzT5XIX6tfmr7bRc= 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:61558 Archived-At: --=-=-= Content-Type: text/plain Hello again, > The call to `dired-mark-remembered' should be wrapped in a > `save-excursion', else it may move point to another position. So, this is the fixed patch: --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=wdired-finish-edit-remember-marks-fixed.diff diff -c /home/micha/today/wdired-stuff/wdired.el /home/micha/today/wdired-stuff/wdired-orig.el *** /home/micha/today/wdired-stuff/wdired.el 2012-07-01 04:32:46.000000000 +0200 --- /home/micha/today/wdired-stuff/wdired-orig.el 2012-07-01 04:48:03.000000000 +0200 *************** *** 351,357 **** (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 --- 351,356 ---- *************** *** 377,390 **** (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 (expand-file-name - (substitute-in-file-name file-new)) mark) - marks)))) (push (cons file-old (substitute-in-file-name file-new)) files-renamed)))) (forward-line -1))) --- 376,381 ---- *************** *** 402,410 **** (= (length files-renamed) 1)) (setq dired-directory (cdr (car files-renamed)))) ;; Re-sort the buffer. ! (revert-buffer) ! (let ((inhibit-read-only t)) ! (save-excursion (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 --- 393,399 ---- (= (length files-renamed) 1)) (setq dired-directory (cdr (car files-renamed)))) ;; Re-sort the buffer. ! (revert-buffer)) (let ((inhibit-read-only t)) (remove-text-properties (point-min) (point-max) '(old-name nil end-name nil old-link nil Diff finished. Tue Jul 3 02:02:01 2012 --=-=-= Content-Type: text/plain I made a lot of tests, and it seems to work well now. Please, somebody have a look, and apply it if it's ok. Thanks, Michael. --=-=-=--