Mercurial > emacs
diff lisp/pcvs.el @ 90472:138027c8c982
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 300-313)
- Update from CVS
- Update from CVS: lispref/display.texi (Forcing Redisplay): Fix typo.
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 105-106)
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-74
author | Miles Bader <miles@gnu.org> |
---|---|
date | Sat, 17 Jun 2006 20:57:37 +0000 |
parents | a8190f7e546e 1405144e8610 |
children | 7f3f771c85fa |
line wrap: on
line diff
--- a/lisp/pcvs.el Fri Jun 16 13:22:32 2006 +0000 +++ b/lisp/pcvs.el Sat Jun 17 20:57:37 2006 +0000 @@ -1723,16 +1723,22 @@ (message "Retrieving revision %s..." rev) ;; Discard stderr output to work around the CVS+SSH+libc ;; problem when stdout and stderr are the same. - (let ((res (apply 'call-process cvs-program nil '(t nil) nil - "-q" "update" "-p" - ;; If `rev' is HEAD, don't pass it at all: - ;; the default behavior is to get the head - ;; of the current branch whereas "-r HEAD" - ;; stupidly gives you the head of the trunk. - (append (unless (equal rev "HEAD") (list "-r" rev)) - (list file))))) + (let ((res + (let ((coding-system-for-read 'binary)) + (apply 'call-process cvs-program nil '(t nil) nil + "-q" "update" "-p" + ;; If `rev' is HEAD, don't pass it at all: + ;; the default behavior is to get the head + ;; of the current branch whereas "-r HEAD" + ;; stupidly gives you the head of the trunk. + (append (unless (equal rev "HEAD") (list "-r" rev)) + (list file)))))) (when (and res (not (and (equal 0 res)))) (error "Something went wrong retrieving revision %s: %s" rev res)) + ;; Figure out the encoding used and decode the byte-sequence + ;; into a sequence of chars. + (decode-coding-inserted-region + (point-min) (point-max) file t nil nil t) (set-buffer-modified-p nil) (let ((buffer-file-name (expand-file-name file))) (after-find-file))