[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#11795: 24.1.50; wdired: C-c C-c loses marks and positions of renamed
From: |
Stefan Monnier |
Subject: |
bug#11795: 24.1.50; wdired: C-c C-c loses marks and positions of renamed files |
Date: |
Wed, 04 Jul 2012 08:29:57 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) |
>>> The call to `dired-mark-remembered' should be wrapped in a
>>> `save-excursion', else it may move point to another position.
> Can someone explain why `dired-mark-remembered' cannot do:
> (defun dired-mark-remembered (alist)
> "Mark all files remembered in ALIST.
> Each element of ALIST looks like (FILE . MARKERCHAR)."
> (let (elt fil chr)
> (save-excursion
> (while alist
> (setq elt (car alist)
> alist (cdr alist)
> fil (car elt)
> chr (cdr elt))
> (when (dired-goto-file fil)
> (beginning-of-line)
> (delete-char 1)
> (insert chr))))))
I have no idea, but you could rewrite the above as:
(require 'pcase)
(defun dired-mark-remembered (alist)
"Mark all files remembered in ALIST.
Each element of ALIST looks like (FILE . MARKERCHAR)."
(save-excursion
(pcase-dolist (`(,fil . ,chr) alist)
(when (dired-goto-file fil)
(beginning-of-line)
(delete-char 1)
(insert chr)))))
-- Stefan "official pcase promoter"