diff options
author | Glenn Morris <rgm@gnu.org> | 2011-02-18 19:53:35 -0800 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2011-02-18 19:53:35 -0800 |
commit | 30abce25f2c78c46994f22d60295c40578097b76 (patch) | |
tree | 456b892ad3e7e1d5ddfbfaa36f1c09f0edde8f4c /lisp/dired-x.el | |
parent | 4d737eb2db5f2847106fa18713381a72895217e5 (diff) | |
download | emacs-30abce25f2c78c46994f22d60295c40578097b76.tar.gz |
Merge dired-x's dired-add-entry modifications into the main definition.
* lisp/dired-aux.el (dired-add-entry): Give it a doc-string.
Merge dired-x's dired-omit handling here.
(dired-omit-mode, dired-omit-regexp, dired-omit-localp): Declare.
* lisp/dired-x.el (dired-omit-new-add-entry): Merge into dired-add-entry.
* doc/misc/dired-x.texi (Technical Details): No longer redefines
dired-add-entry.
Diffstat (limited to 'lisp/dired-x.el')
-rw-r--r-- | lisp/dired-x.el | 41 |
1 files changed, 1 insertions, 40 deletions
diff --git a/lisp/dired-x.el b/lisp/dired-x.el index e591bb5d1d9..0bdf4950a58 100644 --- a/lisp/dired-x.el +++ b/lisp/dired-x.el @@ -50,7 +50,7 @@ ;; When loaded this code redefines the following functions of GNU Emacs: ;; From dired.el: dired-clean-up-after-deletion, dired-find-buffer-nocreate, ;; and dired-initial-position. -;; From dired-aux.el: dired-add-entry and dired-read-shell-command. +;; From dired-aux.el: dired-read-shell-command. ;; *Please* see the `dired-x' info pages for more details. @@ -589,45 +589,6 @@ Optional fourth argument LOCALP is as in `dired-get-filename'." (and fn (string-match regexp fn)))) msg))) -;; Compiler does not get fset. -(declare-function dired-omit-old-add-entry "dired-x") - -;; REDEFINE. -;; Redefine dired-aux.el's version of `dired-add-entry' -;; Save old defun if not already done: -(or (fboundp 'dired-omit-old-add-entry) - (fset 'dired-omit-old-add-entry (symbol-function 'dired-add-entry))) - -;; REDEFINE. -(defun dired-omit-new-add-entry (filename &optional marker-char relative) - ;; This redefines dired-aux.el's dired-add-entry to avoid calling ls for - ;; files that are going to be omitted anyway. - (if dired-omit-mode - ;; perhaps return t without calling ls - (let ((omit-re (dired-omit-regexp))) - (if (or (string= omit-re "") - (not - (string-match omit-re - (cond - ((eq 'no-dir dired-omit-localp) - filename) - ((eq t dired-omit-localp) - (dired-make-relative filename)) - (t - (dired-make-absolute - filename - (file-name-directory filename))))))) - ;; if it didn't match, go ahead and add the entry - (dired-omit-old-add-entry filename marker-char relative) - ;; dired-add-entry returns t for success, perhaps we should - ;; return file-exists-p - t)) - ;; omitting is not turned on at all - (dired-omit-old-add-entry filename marker-char relative))) - -;; Redefine it. -(fset 'dired-add-entry 'dired-omit-new-add-entry) - ;;; VIRTUAL DIRED MODE. |