1852 |
(> (dired-get-subdir-min elt1) |
(> (dired-get-subdir-min elt1) |
1853 |
(dired-get-subdir-min elt2))))))) |
(dired-get-subdir-min elt2))))))) |
1854 |
|
|
1855 |
(defun dired-kill-tree (dirname &optional remember-marks) |
(defun dired-kill-tree (dirname &optional remember-marks kill-root) |
1856 |
"Kill all proper subdirs of DIRNAME, excluding DIRNAME itself. |
"Kill all proper subdirs of DIRNAME, excluding DIRNAME itself. |
1857 |
With optional arg REMEMBER-MARKS, return an alist of marked files." |
Interactively, you can kill DIRNAME as well by using a prefix argument. |
1858 |
(interactive "DKill tree below directory: ") |
In interactive use, the command prompts for DIRNAME. |
1859 |
(setq dirname (expand-file-name dirname)) |
|
1860 |
|
When called from Lisp, if REMEMBER-MARKS is non-nil, return an alist |
1861 |
|
of marked files. If KILL-ROOT is non-nil, kill DIRNAME as well." |
1862 |
|
(interactive "DKill tree below directory: \ni\nP") |
1863 |
|
(setq dirname (file-name-as-directory (expand-file-name dirname))) |
1864 |
(let ((s-alist dired-subdir-alist) dir m-alist) |
(let ((s-alist dired-subdir-alist) dir m-alist) |
1865 |
(while s-alist |
(while s-alist |
1866 |
(setq dir (car (car s-alist)) |
(setq dir (car (car s-alist)) |
1867 |
s-alist (cdr s-alist)) |
s-alist (cdr s-alist)) |
1868 |
(if (and (not (string-equal dir dirname)) |
(and (or kill-root (not (string-equal dir dirname))) |
1869 |
(dired-in-this-tree dir dirname) |
(dired-in-this-tree dir dirname) |
1870 |
(dired-goto-subdir dir)) |
(dired-goto-subdir dir) |
1871 |
(setq m-alist (nconc (dired-kill-subdir remember-marks) m-alist)))) |
(setq m-alist (nconc (dired-kill-subdir remember-marks) m-alist)))) |
1872 |
m-alist)) |
m-alist)) |
1873 |
|
|
1874 |
(defun dired-insert-subdir-newpos (new-dir) |
(defun dired-insert-subdir-newpos (new-dir) |