7 |
;; Date: 1994/08/18 19:27:42 |
;; Date: 1994/08/18 19:27:42 |
8 |
;; Keywords: dired extensions files |
;; Keywords: dired extensions files |
9 |
|
|
10 |
;; Copyright (C) 1993, 1994, 1997, 2001 Free Software Foundation, Inc. |
;; Copyright (C) 1993, 1994, 1997, 2001, 2003 Free Software Foundation, Inc. |
11 |
|
|
12 |
;; This file is part of GNU Emacs. |
;; This file is part of GNU Emacs. |
13 |
|
|
470 |
(defvar dired-omit-localp 'no-dir |
(defvar dired-omit-localp 'no-dir |
471 |
"The LOCALP argument `dired-omit-expunge' passes to `dired-get-filename'. |
"The LOCALP argument `dired-omit-expunge' passes to `dired-get-filename'. |
472 |
If it is 'no-dir, omitting is much faster, but you can only match |
If it is 'no-dir, omitting is much faster, but you can only match |
473 |
against the basename of the file. Set it to nil if you need to match the |
against the non-directory part of the file name. Set it to nil if you |
474 |
whole pathname.") |
need to match the entire file name.") |
475 |
|
|
476 |
;; \017=^O for Omit - other packages can chose other control characters. |
;; \017=^O for Omit - other packages can chose other control characters. |
477 |
(defvar dired-omit-marker-char ?\017 |
(defvar dired-omit-marker-char ?\017 |
570 |
;; Returns t if any work was done, nil otherwise. |
;; Returns t if any work was done, nil otherwise. |
571 |
(defun dired-mark-unmarked-files (regexp msg &optional unflag-p localp) |
(defun dired-mark-unmarked-files (regexp msg &optional unflag-p localp) |
572 |
"Mark unmarked files matching REGEXP, displaying MSG. |
"Mark unmarked files matching REGEXP, displaying MSG. |
573 |
REGEXP is matched against the complete pathname. |
REGEXP is matched against the entire file name. |
574 |
Does not re-mark files which already have a mark. |
Does not re-mark files which already have a mark. |
575 |
With prefix argument, unflag all those files. |
With prefix argument, unflag all those files. |
576 |
Second optional argument LOCALP is as in `dired-get-filename'." |
Second optional argument LOCALP is as in `dired-get-filename'." |
1122 |
file2 (expand-file-name file2) |
file2 (expand-file-name file2) |
1123 |
len1 (length file1) |
len1 (length file1) |
1124 |
len2 (length file2)) |
len2 (length file2)) |
1125 |
;; Find common initial pathname components: |
;; Find common initial file name components: |
1126 |
(let (next) |
(let (next) |
1127 |
(while (and (setq next (string-match "/" file1 index)) |
(while (and (setq next (string-match "/" file1 index)) |
1128 |
(setq next (1+ next)) |
(setq next (1+ next)) |
1140 |
sub (substring file1 0 index) |
sub (substring file1 0 index) |
1141 |
name1 (substring file1 index))) |
name1 (substring file1 index))) |
1142 |
(if (string-equal sub "/") |
(if (string-equal sub "/") |
1143 |
;; No common initial pathname found |
;; No common initial file name found |
1144 |
(setq name1 file1) |
(setq name1 file1) |
1145 |
;; Else they have a common parent directory |
;; Else they have a common parent directory |
1146 |
(let ((tem (substring file2 index)) |
(let ((tem (substring file2 index)) |
1168 |
|
|
1169 |
not absolute ones like |
not absolute ones like |
1170 |
|
|
1171 |
foo -> /ugly/path/that/may/change/any/day/bar/foo" |
foo -> /ugly/file/name/that/may/change/any/day/bar/foo" |
1172 |
(interactive "P") |
(interactive "P") |
1173 |
(dired-do-create-files 'relsymlink (function dired-make-relative-symlink) |
(dired-do-create-files 'relsymlink (function dired-make-relative-symlink) |
1174 |
"RelSymLink" arg dired-keep-marker-relsymlink)) |
"RelSymLink" arg dired-keep-marker-relsymlink)) |
1175 |
|
|
1176 |
(defun dired-do-relsymlink-regexp (regexp newname &optional whole-path) |
(defun dired-do-relsymlink-regexp (regexp newname &optional whole-name) |
1177 |
"RelSymlink all marked files containing REGEXP to NEWNAME. |
"RelSymlink all marked files containing REGEXP to NEWNAME. |
1178 |
See functions `dired-do-rename-regexp' and `dired-do-relsymlink' |
See functions `dired-do-rename-regexp' and `dired-do-relsymlink' |
1179 |
for more info." |
for more info." |
1180 |
(interactive (dired-mark-read-regexp "RelSymLink")) |
(interactive (dired-mark-read-regexp "RelSymLink")) |
1181 |
(dired-do-create-files-regexp |
(dired-do-create-files-regexp |
1182 |
(function dired-make-relative-symlink) |
(function dired-make-relative-symlink) |
1183 |
"RelSymLink" nil regexp newname whole-path dired-keep-marker-relsymlink)) |
"RelSymLink" nil regexp newname whole-name dired-keep-marker-relsymlink)) |
1184 |
|
|
1185 |
|
|
1186 |
;;; VISIT ALL MARKED FILES SIMULTANEOUSLY. |
;;; VISIT ALL MARKED FILES SIMULTANEOUSLY. |