# HG changeset patch # User Dave Love # Date 890759282 0 # Node ID df07331ebc845b128f4b0fce413367d84b6e45c2 # Parent be5da0a5cf649e660bbda08e134aec01e87bf864 (shell-command): Define handler. (ange-ftp-shell-command): Add optional arg. (comint-last-output-start, comint-last-input-start, comint-last-input-end): Defvar to silence compiler. diff -r be5da0a5cf64 -r df07331ebc84 lisp/ange-ftp.el --- a/lisp/ange-ftp.el Tue Mar 24 12:17:32 1998 +0000 +++ b/lisp/ange-ftp.el Tue Mar 24 17:08:02 1998 +0000 @@ -1,6 +1,6 @@ ;;; ange-ftp.el --- transparent FTP support for GNU Emacs -;; Copyright (C) 1989,90,91,92,93,94,95,96 Free Software Foundation, Inc. +;; Copyright (C) 1989,90,91,92,93,94,95,96,98 Free Software Foundation, Inc. ;; Author: Andy Norman (ange@hplb.hpl.hp.com) ;; Maintainer: FSF @@ -621,6 +621,11 @@ ;;; Code: (require 'comint) +;; Silence compiler: +(eval-when-compile + (defvar comint-last-output-start nil) + (defvar comint-last-input-start nil) + (defvar comint-last-input-end nil)) ;;;; ------------------------------------------------------------ ;;;; User customization variables. @@ -4111,6 +4116,7 @@ (put 'vc-registered 'ange-ftp 'null) (put 'dired-call-process 'ange-ftp 'ange-ftp-dired-call-process) +(put 'shell-command 'ange-ftp 'ange-ftp-shell-command) ;;; Define ways of getting at unmodified Emacs primitives, ;;; turning off our handler. @@ -4226,15 +4232,14 @@ (if func (funcall func file keep-backup-version) (ange-ftp-real-file-name-sans-versions file keep-backup-version)))) -;;; This doesn't work yet; a new hook needs to be created. -;;; Maybe the new hook should be in call-process. -(defun ange-ftp-shell-command (command) +;; This is the handler for shell-command. +(defun ange-ftp-shell-command (command &optional output-buffer) (let* ((parsed (ange-ftp-ftp-name default-directory)) (host (nth 0 parsed)) (user (nth 1 parsed)) (name (nth 2 parsed))) (if (not parsed) - (ange-ftp-real-shell-command command) + (ange-ftp-real-shell-command command output-buffer) (if (> (length name) 0) ; else it's $HOME (setq command (concat "cd " name "; " command))) (setq command @@ -4245,7 +4250,7 @@ ;; Cannot call ange-ftp-real-dired-run-shell-command here as it ;; would prepend "cd default-directory" --- which bombs because ;; default-directory is in ange-ftp syntax for remote file names. - (ange-ftp-real-shell-command command)))) + (ange-ftp-real-shell-command command output-buffer)))) ;;; This is the handler for call-process. (defun ange-ftp-dired-call-process (program discard &rest arguments)