• Stephen Berman's avatar
    Fix bugs in wdired.el involving dired-filename property · 8a563d97
    Stephen Berman authored
    After every change in wdired-mode, put the dired-filename text
    property on the file name.  This ensures that changing some but not
    all characters in the name succeeds with non-nil
    wdired-use-interactive-rename (bug#32173) and it also ensures that
    changed names can be found (e.g. by dired-isearch-filenames) while
    still in wdired-mode.
    * lisp/wdired.el (wdired--restore-dired-filename-prop): New function.
    (wdired-change-to-wdired-mode): Add it to after-change-functions.
    (wdired-change-to-dired-mode): Remove it from after-change-functions.
    (wdired-finish-edit): Move invocation of
    wdired-change-to-dired-mode below invocation of wdired-do-renames,
    so that the latter runs wdired--restore-dired-filename-prop, but
    above the invocation of revert-buffer to avoid using
    wdired-revert, which changes back to wdired-mode.
    (wdired-search-and-rename): Wrap renaming in unwind-protect and if
    user types C-g when prompted to change the file name, make sure we
    return to dired-mode.
wdired.el 34.7 KB