[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#13610: 24.3.50; vc-next-action hang forever
From: |
Thierry Volpiatto |
Subject: |
bug#13610: 24.3.50; vc-next-action hang forever |
Date: |
Mon, 04 Feb 2013 08:07:34 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:
> Thierry Volpiatto <thierry.volpiatto@gmail.com> writes:
>
>> Hi,
>> To reproduce:
>> emacs -Q
>> create a new file and edit it (a script shell for me)
>> save it and register it under RCS.
>> C-x v v
>> emacs hang forever.
>
> More exactly, this is this loop (which is not in 24.2.92) which
> turn forever because it assume buffer have been modified before setq'ing
> files to nil and stop the loop.
>
> ;; If a buffer has unsaved changes, a checkout would discard those
> ;; changes, so treat the buffer as having unlocked changes.
> (when (and (not (eq model 'implicit)) (eq state 'up-to-date))
> (let ((files files))
> (while files
> (let ((buffer (get-file-buffer (car files))))
> (and buffer
> (buffer-modified-p buffer)
> (setq state 'unlocked-changes
> files nil))))))
--8<---------------cut here---------------start------------->8---
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 9b8b949..18147cd 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -1084,8 +1084,8 @@ For old-style locking-based version control systems, like
RCS:
(let ((buffer (get-file-buffer (car files))))
(and buffer
(buffer-modified-p buffer)
- (setq state 'unlocked-changes
- files nil))))))
+ (setq state 'unlocked-changes)))
+ (setq files (cdr files)))))
;; Do the right thing
(cond
--8<---------------cut here---------------end--------------->8---
--
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997