From: Juri Linkov Date: Fri, 23 Nov 2012 07:59:43 +0000 (+0200) Subject: * lisp/dired.el (dired-mark): Add optional arg `interactive'. X-Git-Tag: emacs-24.2.90~12 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=61a2a12285951942d007929973f8bdd59f82ea53;p=emacs.git * lisp/dired.el (dired-mark): Add optional arg `interactive'. Check for `use-region-p' if `interactive' is non-nil. (dired-unmark, dired-flag-file-deletion): Add optional arg `interactive'. Call `dired-mark' with the arg `interactive'. Fixes: debbugs:10624 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a020790e4fd..eed11358baf 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -2,6 +2,14 @@ * faces.el (color-defined-p): Doc fix (Bug#12853). +2012-11-23 Juri Linkov + + * dired.el (dired-mark): Add optional arg `interactive'. + Check for `use-region-p' if `interactive' is non-nil. + (dired-unmark, dired-flag-file-deletion): Add optional arg + `interactive'. Call `dired-mark' with the arg `interactive'. + (Bug#10624) + 2012-11-23 Juri Linkov * wdired.el: Revert 2012-10-17 change partly and replace it with diff --git a/lisp/dired.el b/lisp/dired.el index 5f7ee48a810..b62b4d1ad08 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -3109,7 +3109,7 @@ argument or confirmation)." (insert dired-marker-char))) (forward-line 1)))) -(defun dired-mark (arg) +(defun dired-mark (arg &optional interactive) "Mark the file at point in the Dired buffer. If the region is active, mark all files in the region. Otherwise, with a prefix arg, mark files on the next ARG lines. @@ -3119,10 +3119,10 @@ If on a subdir headerline, mark all its files except `.' and `..'. Use \\[dired-unmark-all-files] to remove all marks and \\[dired-unmark] on a subdir to remove the marks in this subdir." - (interactive "P") + (interactive (list current-prefix-arg t)) (cond ;; Mark files in the active region. - ((and transient-mark-mode mark-active) + ((and interactive (use-region-p)) (save-excursion (let ((beg (region-beginning)) (end (region-end))) @@ -3139,7 +3139,7 @@ this subdir." (prefix-numeric-value arg) (function (lambda () (delete-char 1) (insert dired-marker-char)))))))) -(defun dired-unmark (arg) +(defun dired-unmark (arg &optional interactive) "Unmark the file at point in the Dired buffer. If the region is active, unmark all files in the region. Otherwise, with a prefix arg, unmark files on the next ARG lines. @@ -3147,11 +3147,11 @@ Otherwise, with a prefix arg, unmark files on the next ARG lines. If looking at a subdir, unmark all its files except `.' and `..'. If the region is active in Transient Mark mode, unmark all files in the active region." - (interactive "P") + (interactive (list current-prefix-arg t)) (let ((dired-marker-char ?\040)) - (dired-mark arg))) + (dired-mark arg interactive))) -(defun dired-flag-file-deletion (arg) +(defun dired-flag-file-deletion (arg &optional interactive) "In Dired, flag the current line's file for deletion. If the region is active, flag all files in the region. Otherwise, with a prefix arg, flag files on the next ARG lines. @@ -3159,9 +3159,9 @@ Otherwise, with a prefix arg, flag files on the next ARG lines. If on a subdir headerline, flag all its files except `.' and `..'. If the region is active in Transient Mark mode, flag all files in the active region." - (interactive "P") + (interactive (list current-prefix-arg t)) (let ((dired-marker-char dired-del-marker)) - (dired-mark arg))) + (dired-mark arg interactive))) (defun dired-unmark-backward (arg) "In Dired, move up lines and remove marks or deletion flags there.