comparison lisp/dired.el @ 82195:69abb81564e4

(dired-mode-map): Bind C-x C-q to dired-toggle-read-only. Filter out menu item "Edit File Names" `wdired-change-to-wdired-mode' when major-mode is not dired-mode. (dired-toggle-read-only): New function. (dired-recursive-deletes): Remove obsolete comments about old default value. (dired-do-flagged-delete, dired-do-delete): Refill docstring.
author Juri Linkov <juri@jurta.org>
date Sun, 29 Jul 2007 09:17:44 +0000
parents b98604865ea0
children e5a68f18fcb9 539530fa389c
comparison
equal deleted inserted replaced
82194:06241457c4f0 82195:69abb81564e4
1245 (define-key map [up] 'dired-previous-line) 1245 (define-key map [up] 'dired-previous-line)
1246 ;; hiding 1246 ;; hiding
1247 (define-key map "$" 'dired-hide-subdir) 1247 (define-key map "$" 'dired-hide-subdir)
1248 (define-key map "\M-$" 'dired-hide-all) 1248 (define-key map "\M-$" 'dired-hide-all)
1249 ;; misc 1249 ;; misc
1250 (define-key map "\C-x\C-q" 'wdired-change-to-wdired-mode) 1250 (define-key map "\C-x\C-q" 'dired-toggle-read-only)
1251 (define-key map "?" 'dired-summary) 1251 (define-key map "?" 'dired-summary)
1252 (define-key map "\177" 'dired-unmark-backward) 1252 (define-key map "\177" 'dired-unmark-backward)
1253 (define-key map [remap undo] 'dired-undo) 1253 (define-key map [remap undo] 'dired-undo)
1254 (define-key map [remap advertised-undo] 'dired-undo) 1254 (define-key map [remap advertised-undo] 'dired-undo)
1255 ;; thumbnail manipulation (image-dired) 1255 ;; thumbnail manipulation (image-dired)
1351 '(menu-item "Find This File" dired-find-file 1351 '(menu-item "Find This File" dired-find-file
1352 :help "Edit file at cursor")) 1352 :help "Edit file at cursor"))
1353 (define-key map [menu-bar immediate create-directory] 1353 (define-key map [menu-bar immediate create-directory]
1354 '(menu-item "Create Directory..." dired-create-directory)) 1354 '(menu-item "Create Directory..." dired-create-directory))
1355 (define-key map [menu-bar immediate wdired-mode] 1355 (define-key map [menu-bar immediate wdired-mode]
1356 '(menu-item "Edit File Names" wdired-change-to-wdired-mode)) 1356 '(menu-item "Edit File Names" wdired-change-to-wdired-mode
1357 :filter (lambda (x) (if (eq major-mode 'dired-mode) x))))
1357 1358
1358 (define-key map [menu-bar regexp] 1359 (define-key map [menu-bar regexp]
1359 (cons "Regexp" (make-sparse-keymap "Regexp"))) 1360 (cons "Regexp" (make-sparse-keymap "Regexp")))
1360 1361
1361 (define-key map 1362 (define-key map
1653 (let (buffer-read-only) 1654 (let (buffer-read-only)
1654 (undo)) 1655 (undo))
1655 (dired-build-subdir-alist) 1656 (dired-build-subdir-alist)
1656 (message "Change in dired buffer undone. 1657 (message "Change in dired buffer undone.
1657 Actual changes in files cannot be undone by Emacs.")) 1658 Actual changes in files cannot be undone by Emacs."))
1659
1660 (defun dired-toggle-read-only ()
1661 "Edit dired buffer with Wdired, or set it read-only.
1662 Call `wdired-change-to-wdired-mode' in dired buffers whose editing is
1663 supported by Wdired (the major mode of the dired buffer is `dired-mode').
1664 Otherwise, for buffers inheriting from dired-mode, call `toggle-read-only'."
1665 (interactive)
1666 (if (eq major-mode 'dired-mode)
1667 (wdired-change-to-wdired-mode)
1668 (toggle-read-only)))
1658 1669
1659 (defun dired-next-line (arg) 1670 (defun dired-next-line (arg)
1660 "Move down lines then position at filename. 1671 "Move down lines then position at filename.
1661 Optional prefix ARG says how many lines to move; default is one line." 1672 Optional prefix ARG says how many lines to move; default is one line."
1662 (interactive "p") 1673 (interactive "p")
2358 (point-max) 2369 (point-max)
2359 (point)))) 2370 (point))))
2360 2371
2361 ;; Deleting files 2372 ;; Deleting files
2362 2373
2363 (defcustom dired-recursive-deletes 'top ; Default only delete empty directories. 2374 (defcustom dired-recursive-deletes 'top
2364 "*Decide whether recursive deletes are allowed. 2375 "*Decide whether recursive deletes are allowed.
2365 A value of nil means no recursive deletes. 2376 A value of nil means no recursive deletes.
2366 `always' means delete recursively without asking. This is DANGEROUS! 2377 `always' means delete recursively without asking. This is DANGEROUS!
2367 `top' means ask for each directory at top level, but delete its subdirectories 2378 `top' means ask for each directory at top level, but delete its subdirectories
2368 without asking. 2379 without asking.
2407 2418
2408 (defun dired-do-flagged-delete (&optional nomessage) 2419 (defun dired-do-flagged-delete (&optional nomessage)
2409 "In Dired, delete the files flagged for deletion. 2420 "In Dired, delete the files flagged for deletion.
2410 If NOMESSAGE is non-nil, we don't display any message 2421 If NOMESSAGE is non-nil, we don't display any message
2411 if there are no flagged files. 2422 if there are no flagged files.
2412 `dired-recursive-deletes' controls whether 2423 `dired-recursive-deletes' controls whether deletion of
2413 deletion of non-empty directories is allowed." 2424 non-empty directories is allowed."
2414 (interactive) 2425 (interactive)
2415 (let* ((dired-marker-char dired-del-marker) 2426 (let* ((dired-marker-char dired-del-marker)
2416 (regexp (dired-marker-regexp)) 2427 (regexp (dired-marker-regexp))
2417 case-fold-search) 2428 case-fold-search)
2418 (if (save-excursion (goto-char (point-min)) 2429 (if (save-excursion (goto-char (point-min))
2425 (or nomessage 2436 (or nomessage
2426 (message "(No deletions requested)"))))) 2437 (message "(No deletions requested)")))))
2427 2438
2428 (defun dired-do-delete (&optional arg) 2439 (defun dired-do-delete (&optional arg)
2429 "Delete all marked (or next ARG) files. 2440 "Delete all marked (or next ARG) files.
2430 `dired-recursive-deletes' controls whether 2441 `dired-recursive-deletes' controls whether deletion of
2431 deletion of non-empty directories is allowed." 2442 non-empty directories is allowed."
2432 ;; This is more consistent with the file marking feature than 2443 ;; This is more consistent with the file marking feature than
2433 ;; dired-do-flagged-delete. 2444 ;; dired-do-flagged-delete.
2434 (interactive "P") 2445 (interactive "P")
2435 (dired-internal-do-deletions 2446 (dired-internal-do-deletions
2436 ;; this may move point if ARG is an integer 2447 ;; this may move point if ARG is an integer