[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/vc.el,v
From: |
Dan Nicolaescu |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/vc.el,v |
Date: |
Thu, 21 Feb 2008 08:26:02 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Dan Nicolaescu <dann> 08/02/21 08:26:01
Index: vc.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/vc.el,v
retrieving revision 1.537
retrieving revision 1.538
diff -u -b -r1.537 -r1.538
--- vc.el 20 Feb 2008 18:11:15 -0000 1.537
+++ vc.el 21 Feb 2008 08:26:00 -0000 1.538
@@ -2684,9 +2684,9 @@
(let ((map (make-keymap)))
(suppress-keymap map)
;; Marking.
- (define-key map "m" 'vc-status-mark-file)
+ (define-key map "m" 'vc-status-mark)
(define-key map "M" 'vc-status-mark-all-files)
- (define-key map "u" 'vc-status-unmark-file)
+ (define-key map "u" 'vc-status-unmark)
(define-key map "\C-?" 'vc-status-unmark-file-up)
(define-key map "\M-\C-?" 'vc-status-unmark-all-files)
;; Movement.
@@ -2754,11 +2754,11 @@
:help "Go to the previous line"]
"----"
;; Marking.
- ["Mark" vc-status-mark-file
+ ["Mark" vc-status-mark
:help "Mark the current file and move to the next line"]
["Marl All" vc-status-mark-all-files
:help "Mark all files"]
- ["Unmark" vc-status-unmark-file
+ ["Unmark" vc-status-unmark
:help "Unmark the current file and move to the next line"]
["Unmark previous " vc-status-unmark-file-up
:help "Move to the previous line and unmark the file"]
@@ -2828,15 +2828,32 @@
(ewoc-goto-prev vc-status arg)
(vc-status-move-to-goal-column))
+(defun vc-status-mark-unmark (mark-unmark-function)
+ (if (use-region-p)
+ (let ((firstl (line-number-at-pos (region-beginning)))
+ (lastl (line-number-at-pos (region-end))))
+ (save-excursion
+ (goto-char (region-beginning))
+ (while (<= (line-number-at-pos) lastl)
+ (funcall mark-unmark-function))))
+ (funcall mark-unmark-function)))
+
(defun vc-status-mark-file ()
- "Mark the current file and move to the next line."
- (interactive)
+ ;; Mark the current file and move to the next line.
(let* ((crt (ewoc-locate vc-status))
(file (ewoc-data crt)))
(setf (vc-status-fileinfo->marked file) t)
(ewoc-invalidate vc-status crt)
(vc-status-next-line 1)))
+(defun vc-status-mark ()
+ "Mark the current file or all files in the region.
+If the region is active, mark all the files in the region.
+Otherwise mark the file on the current line and move to the next
+line."
+ (interactive)
+ (vc-status-mark-unmark 'vc-status-mark-file))
+
(defun vc-status-mark-all-files ()
"Mark all files."
(interactive)
@@ -2848,14 +2865,21 @@
vc-status))
(defun vc-status-unmark-file ()
- "Unmark the current file and move to the next line."
- (interactive)
+ ;; Unmark the current file and move to the next line.
(let* ((crt (ewoc-locate vc-status))
(file (ewoc-data crt)))
(setf (vc-status-fileinfo->marked file) nil)
(ewoc-invalidate vc-status crt)
(vc-status-next-line 1)))
+(defun vc-status-unmark ()
+ "Unmark the current file or all files in the region.
+If the region is active, unmark all the files in the region.
+Otherwise mark the file on the current line and move to the next
+line."
+ (interactive)
+ (vc-status-mark-unmark 'vc-status-unmark-file))
+
(defun vc-status-unmark-file-up ()
"Move to the previous line and unmark the file."
(interactive)
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2008/02/14
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2008/02/16
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2008/02/18
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2008/02/19
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2008/02/19
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v,
Dan Nicolaescu <=
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2008/02/21
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2008/02/22
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2008/02/23
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2008/02/27
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2008/02/27
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2008/02/29
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Nick Roberts, 2008/02/29