bug-gnu-emacs
[Top][All Lists]
Advanced

[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"





reply via email to

[Prev in Thread] Current Thread [Next in Thread]