diff options
| author | Stefan Monnier | 2011-02-10 14:37:42 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2011-02-10 14:37:42 -0500 |
| commit | cf77dd27af3e9893f4051887cb0e17999bbdb631 (patch) | |
| tree | 0a61fdc807ce9ca88ec618222107b9b248e9e9ee | |
| parent | 665addc97b7d74ac2456ec14448bc1c3f3d21471 (diff) | |
| download | emacs-cf77dd27af3e9893f4051887cb0e17999bbdb631.tar.gz emacs-cf77dd27af3e9893f4051887cb0e17999bbdb631.zip | |
* lisp/vc/vc-dir.el (vc-dir-refresh): Reorder operations to try and avoid
bzr locking race condition.
| -rw-r--r-- | lisp/ChangeLog | 3 | ||||
| -rw-r--r-- | lisp/vc/vc-dir.el | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index dd33dda4382..70dc7697814 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,5 +1,8 @@ | |||
| 1 | 2011-02-10 Stefan Monnier <monnier@iro.umontreal.ca> | 1 | 2011-02-10 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 2 | ||
| 3 | * vc/vc-dir.el (vc-dir-refresh): Reorder operations to try and avoid | ||
| 4 | bzr locking race condition. | ||
| 5 | |||
| 3 | * emacs-lisp/edebug.el (edebug-instrument-function): Check a marker is | 6 | * emacs-lisp/edebug.el (edebug-instrument-function): Check a marker is |
| 4 | still valid before using it. | 7 | still valid before using it. |
| 5 | 8 | ||
diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index 5f386bcee76..38fbaaedd32 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el | |||
| @@ -1061,6 +1061,9 @@ Throw an error if another update process is in progress." | |||
| 1061 | (unless (vc-dir-fileinfo->directory info) | 1061 | (unless (vc-dir-fileinfo->directory info) |
| 1062 | (setf (vc-dir-fileinfo->needs-update info) t) nil)) | 1062 | (setf (vc-dir-fileinfo->needs-update info) t) nil)) |
| 1063 | vc-ewoc) | 1063 | vc-ewoc) |
| 1064 | ;; Bzr has serious locking problems, so setup the headers first (this is | ||
| 1065 | ;; synchronous) rather than doing it while dir-status is running. | ||
| 1066 | (ewoc-set-hf vc-ewoc (vc-dir-headers backend def-dir) "") | ||
| 1064 | (lexical-let ((buffer (current-buffer))) | 1067 | (lexical-let ((buffer (current-buffer))) |
| 1065 | (with-current-buffer vc-dir-process-buffer | 1068 | (with-current-buffer vc-dir-process-buffer |
| 1066 | (cd def-dir) | 1069 | (cd def-dir) |
| @@ -1081,8 +1084,7 @@ Throw an error if another update process is in progress." | |||
| 1081 | (vc-dir-refresh-files | 1084 | (vc-dir-refresh-files |
| 1082 | (mapcar 'vc-dir-fileinfo->name remaining) | 1085 | (mapcar 'vc-dir-fileinfo->name remaining) |
| 1083 | 'up-to-date) | 1086 | 'up-to-date) |
| 1084 | (setq mode-line-process nil))))))))) | 1087 | (setq mode-line-process nil)))))))))))) |
| 1085 | (ewoc-set-hf vc-ewoc (vc-dir-headers backend def-dir) "")))) | ||
| 1086 | 1088 | ||
| 1087 | (defun vc-dir-show-fileentry (file) | 1089 | (defun vc-dir-show-fileentry (file) |
| 1088 | "Insert an entry for a specific file into the current *VC-dir* listing. | 1090 | "Insert an entry for a specific file into the current *VC-dir* listing. |