From: Tom Tromey <tromey@redhat.com>
To: Dan Nicolaescu <dann@ics.uci.edu>
Cc: emacs-devel@gnu.org
Subject: Re: some vc-status updates
Date: Wed, 09 Jan 2008 19:00:26 -0700 [thread overview]
Message-ID: <m3tzlmmocl.fsf@fleche.redhat.com> (raw)
In-Reply-To: <200801090728.m097Son4004816@oogie-boogie.ics.uci.edu> (Dan Nicolaescu's message of "Tue\, 08 Jan 2008 23\:28\:45 -0800")
>>>>> "Dan" == Dan Nicolaescu <dann@ics.uci.edu> writes:
Dan> Tom Tromey <tromey@redhat.com> writes:
>> This adds a bunch of functionality to vc-status.
Dan> Thanks, I checked this in.
Thanks. I've appended a couple more simple bindings.
>> * Updates. Can you do a full-directory update in VC?
Dan> Probably not. But update needs a bit of work anyway: it does not work
Dan> for VCSes that only do whole repository updates at a time (hg, git).
We can always error and tell the user that he has to do something
else. Or, we could do a full tree update and just show a subset of
what happens. I don't know which is best.
For DVCs I think we can provide push/pull commands as well.
>> * A new backend method for "ignore".
>> * Saving buffers should probably update the vc-status buffer.
Dan> PCL-CVS does that. Can that code be "stolen"?
Probably. I'm taking all the bindings from pcl-cvs, though not any
implementations yet.
Tom
ChangeLog:
2008-01-10 Tom Tromey <tromey@redhat.com>
* vc.el (vc-status-unmark-all-files): New function.
(vc-status-unmark-all-files): Likewise.
(vc-status-mode-map): Add bindings.
Index: vc.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/vc.el,v
retrieving revision 1.510
diff -u -r1.510 vc.el
--- vc.el 9 Jan 2008 07:21:07 -0000 1.510
+++ vc.el 10 Jan 2008 02:14:21 -0000
@@ -2552,8 +2554,10 @@
(suppress-keymap map)
;; Marking.
(define-key map "m" 'vc-status-mark-file)
+ (define-key map "M" 'vc-status-mark-all-files)
(define-key map "u" 'vc-status-unmark-file)
(define-key map "\C-?" 'vc-status-unmark-file-up)
+ (define-key map "\M-\C-?" 'vc-status-unmark-all-files)
;; Movement.
(define-key map "n" 'vc-status-next-line)
(define-key map " " 'vc-status-next-line)
@@ -2627,6 +2631,16 @@
(ewoc-invalidate vc-status crt)
(vc-status-next-line 1)))
+(defun vc-status-mark-all-files ()
+ "Mark all files."
+ (interactive)
+ (ewoc-map
+ (lambda (file)
+ (unless (vc-status-fileinfo->marked file)
+ (setf (vc-status-fileinfo->marked file) t)
+ t))
+ vc-status))
+
(defun vc-status-unmark-file ()
"Unmark the current file and move to the next line."
(interactive)
@@ -2648,6 +2662,16 @@
(ewoc-invalidate vc-status prev)
(vc-status-move-to-goal-column)))
+(defun vc-status-unmark-all-files ()
+ "Unmark all files."
+ (interactive)
+ (ewoc-map
+ (lambda (file)
+ (when (vc-status-fileinfo->marked file)
+ (setf (vc-status-fileinfo->marked file) nil)
+ t))
+ vc-status))
+
(defun vc-status-register ()
"Register the marked files, or the current file if no marks."
(interactive)
next prev parent reply other threads:[~2008-01-10 2:00 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-09 1:31 some vc-status updates Tom Tromey
2008-01-09 7:28 ` Dan Nicolaescu
2008-01-10 2:00 ` Tom Tromey [this message]
2008-01-10 4:01 ` Stefan Monnier
2008-01-10 8:04 ` Dan Nicolaescu
2008-01-18 23:22 ` Dan Nicolaescu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3tzlmmocl.fsf@fleche.redhat.com \
--to=tromey@redhat.com \
--cc=dann@ics.uci.edu \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.