diff options
-rw-r--r-- | lisp/ChangeLog | 13 | ||||
-rw-r--r-- | lisp/net/tramp.el | 42 | ||||
-rw-r--r-- | lisp/vc-git.el | 5 |
3 files changed, 38 insertions, 22 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e0ed590c6fa..fea01d5f317 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,16 @@ +2008-01-08 Michael Albinus <michael.albinus@gmx.de> + + * vc-git.el (vc-git--call): Apply `process-file' instead of + `call-process'. + + * net/tramp.el (tramp-remote-process-environment): Add "LC_CTYPE=C". + Reported by Pete Forman <pete.forman@westerngeco.com>. + (tramp-perl-encode, tramp-perl-decode): Update copyrights. + (tramp-handle-process-file): Handle the case where DESTINATION is + a consp with t as car. + (tramp-wait-for-output): We shall remove exactly what has been + find by the search. + 2008-01-08 Kevin Ryde <user42@zip.com.au> * progmodes/compile.el (compilation-error-regexp-alist-alist): diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 852a22a7034..899cefc82d8 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -2,7 +2,7 @@ ;;; -*- mode: Emacs-Lisp; coding: utf-8; -*- ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; (copyright statements below in code to be updated with the above notice) @@ -112,14 +112,14 @@ (autoload 'uudecode-decode-region "uudecode") -;; The following Tramp packages must be loaded after Tramp, because -;; they require Tramp as well. +;; The following Tramp packages must be loaded after tramp.el, because +;; they require it as well. (eval-after-load "tramp" '(dolist (feature (list - ;; Tramp commands. + ;; Tramp interactive commands. 'tramp-cmds ;; Load foreign FTP method. @@ -891,7 +891,7 @@ The default value is to use the same value as `tramp-rsh-end-of-line'." ;; "getconf PATH" yields: ;; HP-UX: /usr/bin:/usr/ccs/bin:/opt/ansic/bin:/opt/langtools/bin:/opt/fortran/bin ;; Solaris: /usr/xpg4/bin:/usr/ccs/bin:/usr/bin:/opt/SUNWspro/bin -;; Linux (Debian, Suse): /bin:/usr/bin +;; GNU/Linux (Debian, Suse): /bin:/usr/bin ;; FreeBSD: /usr/bin:/bin:/usr/sbin:/sbin: - beware trailing ":"! (defcustom tramp-remote-path '(tramp-default-remote-path "/usr/sbin" "/usr/local/bin" @@ -914,7 +914,7 @@ directories for POSIX compatible commands." (string :tag "Directory")))) (defcustom tramp-remote-process-environment - `("HISTFILE=$HOME/.tramp_history" "HISTSIZE=1" "LC_TIME=C" + `("HISTFILE=$HOME/.tramp_history" "HISTSIZE=1" "LC_CTYPE=C" "LC_TIME=C" ,(concat "TERM=" tramp-terminal-type) "CDPATH=" "HISTORY=" "MAIL=" "MAILCHECK=" "MAILPATH=" "autocorrect=" "correct=") @@ -1595,7 +1595,7 @@ on the remote host.") (defconst tramp-perl-encode "%s -e ' # This script is contributed by Juanma Barranquero <lektu@terra.es>. -# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 +# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. use strict; @@ -1637,7 +1637,7 @@ This string is passed to `format', so percent characters need to be doubled.") (defconst tramp-perl-decode "%s -e ' # This script is contributed by Juanma Barranquero <lektu@terra.es>. -# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 +# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. use strict; @@ -1776,7 +1776,7 @@ normal Emacs functions.") If (FUNCTION FILENAME) returns non-nil, then all I/O on that file is done by calling HANDLER.") -;;; Internal functions which must come first. +;;; Internal functions which must come first: (defsubst tramp-debug-message (vec fmt-string &rest args) "Append message to debug buffer. @@ -2044,9 +2044,9 @@ For definition of that list see `tramp-set-completion-function'." (cdr (assoc method tramp-completion-function-alist)))) -;;; Fontification of `read-file-name'. +;;; Fontification of `read-file-name': -;; rfn-eshadow.el is part of Emacs 22. Its is autoloaded. +;; rfn-eshadow.el is part of Emacs 22. It is autoloaded. (defvar tramp-rfn-eshadow-overlay) (make-variable-buffer-local 'tramp-rfn-eshadow-overlay) @@ -3609,7 +3609,7 @@ beginning of local filename are not substituted." minibuffer-electric-tilde))) -;;; Remote commands. +;;; Remote commands: (defun tramp-handle-executable-find (command) "Like `executable-find' for Tramp files." @@ -3693,7 +3693,9 @@ beginning of local filename are not substituted." ((bufferp (car destination)) (setq outbuf (car destination))) ((stringp (car destination)) - (setq outbuf (get-buffer-create (car destination))))) + (setq outbuf (get-buffer-create (car destination)))) + ((car destination) + (setq outbuf (current-buffer)))) ;; stderr (cond ((stringp (cadr destination)) @@ -4539,7 +4541,7 @@ Falls back to normal file name handler if no Tramp file name handler exists." (add-hook 'tramp-unload-hook 'tramp-unload-file-name-handlers) -;;; File name handler functions for completion mode. +;;; File name handler functions for completion mode: (defvar tramp-completion-mode nil "If non-nil, external packages signal that they are in file name completion. @@ -6245,16 +6247,14 @@ function waits for output unless NOOUTPUT is set." (defun tramp-wait-for-output (proc &optional timeout) "Wait for output from remote rsh command." (with-current-buffer (process-buffer proc) - (let ((found - (tramp-wait-for-regexp - proc timeout - ;; Initially, `tramp-end-of-output' is "$ ". There might - ;; be leading escape sequences, which must be ignored. - (format "^[^$\n]*%s\r?$" (regexp-quote tramp-end-of-output))))) + ;; Initially, `tramp-end-of-output' is "$ ". There might be + ;; leading escape sequences, which must be ignored. + (let* ((regexp (format "^[^$\n]*%s\r?$" (regexp-quote tramp-end-of-output))) + (found (tramp-wait-for-regexp proc timeout regexp))) (if found (let (buffer-read-only) (goto-char (point-max)) - (forward-line -2) + (re-search-backward regexp nil t) (delete-region (point) (point-max))) (if timeout (tramp-error diff --git a/lisp/vc-git.el b/lisp/vc-git.el index c73c458fcb7..7f3a39d55ab 100644 --- a/lisp/vc-git.el +++ b/lisp/vc-git.el @@ -444,7 +444,10 @@ The difference to vc-do-command is that this function always invokes `git'." (apply 'vc-do-command buffer okstatus "git" file-or-list flags)) (defun vc-git--call (buffer command &rest args) - (apply 'call-process "git" nil buffer nil command args)) + ;; We don't need to care the arguments. If there is a file name, it + ;; is always a relative one. This works also for remote + ;; directories. + (apply 'process-file "git" nil buffer nil command args)) (defun vc-git--out-ok (command &rest args) (zerop (apply 'vc-git--call '(t nil) command args))) |