+2008-01-05 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * vc.el (vc-process-sentinel): Fix apparent typo.
+ (vc-do-command): Forcefully kill any left over process.
+ Use start-file-process.
+ (vc-annotate-get-time-set-line-props): Check we don't move backward.
+
2008-01-04 Michael Albinus <michael.albinus@gmx.de>
* net/dbus.el (dbus-list-hash-table)
(dbus-handle-event): Apply return message if needed.
(dbus-event-serial-number): New defun.
(dbus-event-service-name, dbus-event-path-name)
- (dbus-event-interface-name, dbus-event-member-name): Adapt
- implementation to serial number.
+ (dbus-event-interface-name, dbus-event-member-name):
+ Adapt implementation to serial number.
2008-01-04 Juanma Barranquero <lekktu@gmail.com>
;;; vc.el --- drive a version-control system from within Emacs
;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000,
-;; 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+;; 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
;; Author: FSF (see below for full credits)
;; Maintainer: Andre Spiegel <spiegel@gnu.org>
(save-excursion
(goto-char (process-mark p))
(let ((cmds (process-get p 'vc-sentinel-commands)))
- (process-put p 'vc-postprocess nil)
+ (process-put p 'vc-sentinel-commands nil)
(dolist (cmd cmds)
;; Each sentinel may move point and the next one should be run
;; at that new point. We could get the same result by having
(string= (buffer-name) buffer))
(eq buffer (current-buffer)))
(vc-setup-buffer buffer))
+ ;; If there's some previous async process still running, just kill it.
+ (let ((oldproc (get-buffer-process (current-buffer))))
+ ;; If we wanted to wait for oldproc to finish before doing
+ ;; something, we'd have used vc-eval-after.
+ ;; Use `delete-process' rather than `kill-process' because we don't
+ ;; want any of its output to appear from now on.
+ (if oldproc (delete-process oldproc)))
(let ((squeezed (remq nil flags))
(inhibit-read-only t)
(status 0))
;; start-process does not support remote execution
(setq okstatus nil))
(if (eq okstatus 'async)
- ;; Run asynchronously
+ ;; Run asynchronously.
(let ((proc
(let ((process-connection-type nil))
- (apply 'start-process command (current-buffer) command
- squeezed))))
+ (apply 'start-file-process command (current-buffer)
+ command squeezed))))
(if vc-command-messages
(message "Running %s in background..." full-command))
;;(set-process-sentinel proc (lambda (p msg) (delete-process p)))
(let ((bol (point))
(date (vc-call-backend vc-annotate-backend 'annotate-time))
(inhibit-read-only t))
+ (assert (>= (point) bol))
(put-text-property bol (point) 'invisible 'vc-annotate-annotation)
date))