all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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)

  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.