# HG changeset patch # User Gerd Moellmann # Date 964541109 0 # Node ID 1130a792b2f74f44b22b4fab9fc484fab1b38ad1 # Parent dd5077dea3799deeb70a54e7f9e4bd9a70a2e6d4 Update copyright notice. (find-dired): Offer to kill a running `find'. diff -r dd5077dea379 -r 1130a792b2f7 lisp/find-dired.el --- a/lisp/find-dired.el Tue Jul 25 14:19:30 2000 +0000 +++ b/lisp/find-dired.el Tue Jul 25 16:05:09 2000 +0000 @@ -1,6 +1,6 @@ ;;; find-dired.el --- run a `find' command and dired the output -;; Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc. +;; Copyright (C) 1992, 1994, 1995, 2000 Free Software Foundation, Inc. ;; Author: Roland McGrath , ;; Sebastian Kremer @@ -36,8 +36,7 @@ (defcustom find-dired-find-program "find" "Program used to find files." :group 'dired - :type 'file - ) + :type 'file) ;; find's -ls corresponds to these switches. ;; Note -b, at least GNU find quotes spaces etc. in filenames @@ -92,6 +91,21 @@ (or (file-directory-p dir) (error "find-dired needs a directory: %s" dir)) (switch-to-buffer (get-buffer-create "*Find*")) + + ;; See if there's still a `find' running, and offer to kill + ;; it first, if it is. + (let ((find (get-buffer-process (current-buffer)))) + (when find + (if (or (not (eq (process-status find) 'run)) + (yes-or-no-p "A `find' process is running; kill it? ")) + (condition-case nil + (progn + (interrupt-process find) + (sit-for 1) + (delete-process find)) + (error nil)) + (error "Cannot have two processes in `%s' at once" (buffer-name))))) + (widen) (kill-all-local-variables) (setq buffer-read-only nil)