X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/c69aef14ddc150da07dcd3527b5a9fb99d6cef34..5deebc3c914c86e84d11661a7877c00b2d7fddd1:/lisp/dired.el diff --git a/lisp/dired.el b/lisp/dired.el index 6c7445c348..d078478aaa 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -303,7 +303,7 @@ The directory name must be absolute, but need not be fully expanded.") (put 'dired-actual-switches 'safe-local-variable 'dired-safe-switches-p) -(defvar dired-re-inode-size "[0-9 \t]*" +(defvar dired-re-inode-size "[0-9 \t]*[.,0-9]*[BkKMGTPEZY]?[ \t]*" "Regexp for optional initial inode and file size as made by `ls -i -s'.") ;; These regexps must be tested at beginning-of-line, but are also @@ -2740,9 +2740,18 @@ instead of `dired-actual-switches'." (save-excursion (goto-char (point-min)) (dired-goto-file-1 file file (point-max))) - ;; Otherwise, look for it as a relative name. The - ;; hair is to get the result of `dired-goto-subdir' - ;; without calling it if we don't have any subdirs. + ;; Next, look for it as a relative name with leading + ;; subdirectories. (This happens in Dired buffers + ;; created by find-dired, for example.) + (save-excursion + (goto-char (point-min)) + (dired-goto-file-1 (file-relative-name file + default-directory) + file (point-max))) + ;; Otherwise, look for it as a relative name, a base + ;; name only. The hair is to get the result of + ;; `dired-goto-subdir' without calling it if we don't + ;; have any subdirs. (save-excursion (when (if (string= dir (expand-file-name default-directory)) (goto-char (point-min)) @@ -3348,7 +3357,12 @@ object files--just `.o' will mark more than you might think." (defun dired-mark-files-containing-regexp (regexp &optional marker-char) "Mark all files with contents containing REGEXP for use in later commands. A prefix argument means to unmark them instead. -`.' and `..' are never marked." +`.' and `..' are never marked. + +Note that if a file is visited in an Emacs buffer, this command will +look in the buffer without revisiting the file, so the results might +be inconsistent with the file on disk if its contents has changed +since it was last visited." (interactive (list (read-regexp (concat (if current-prefix-arg "Unmark" "Mark") " files containing (regexp): ")