From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai =?iso-8859-15?q?Gro=DFjohann?=) Newsgroups: gmane.emacs.devel Subject: Invoke Ange-FTP from within Tramp Date: Sat, 22 Jun 2002 18:37:06 +0200 Sender: emacs-devel-admin@gnu.org Message-ID: NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1024766744 28828 127.0.0.1 (22 Jun 2002 17:25:44 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sat, 22 Jun 2002 17:25:44 +0000 (UTC) Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17Lodr-0007Ur-00 for ; Sat, 22 Jun 2002 19:25:43 +0200 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17Loe8-0001AQ-00 for ; Sat, 22 Jun 2002 19:26:00 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 17Lnvp-0002j2-00; Sat, 22 Jun 2002 12:40:13 -0400 Original-Received: from waldorf.cs.uni-dortmund.de ([129.217.4.42]) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 17Lnsv-00027s-00 for ; Sat, 22 Jun 2002 12:37:14 -0400 Original-Received: from lothlorien.cs.uni-dortmund.de (lothlorien [129.217.19.67]) by waldorf.cs.uni-dortmund.de with ESMTP id g5MGbCb08391 for ; Sat, 22 Jun 2002 18:37:12 +0200 (MES) Original-Received: from lucy.cs.uni-dortmund.de (lucy [129.217.19.80]) by lothlorien.cs.uni-dortmund.de id SAA08500; Sat, 22 Jun 2002 18:37:07 +0200 (MET DST) Original-Received: by lucy.cs.uni-dortmund.de (Postfix, from userid 6104) id 172863B5E4; Sat, 22 Jun 2002 18:37:06 +0200 (CEST) Original-To: emacs-devel@gnu.org Original-Lines: 35 User-Agent: Gnus/5.090007 (Oort Gnus v0.07) Emacs/21.3.50 (i686-pc-linux-gnu) Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.9 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:5095 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:5095 How to implement this feature? My current idea is as follows: * Create a function which, given an operation, a list of arguments, and a list of indices, invokes Ange-FTP. (Call it tramp-run-ange-ftp.) The list of indices specifies where in the arg list you can find Ange-FTP filenames. These arguments are then rewritten from Tramp format to Ange-FTP format. Then ange-ftp-hook-function is invoked with the operation and those arguments. * Change all tramp-handle-foo functions (foo are names of operations) to check whether Ange-FTP should be invoked, and have them signal `tramp-run-ange-ftp' with the list of indices (where to find filenames in the arg list) as argument. * Change tramp-file-name-handler (the function mentioned in file-name-handler-alist) so that it catches the tramp-run-ange-ftp signal and invokes the tramp-run-ange-ftp function. Other alternatives: * Use throw/catch instead of signal/condition-case. I have no idea which one to use. * Put the invocation of Ange-FTP directly in the functions. This means that all of the functions will get an additional conditional around it and the meat of the function is in the else part. What do you think? Is this the right way to do it? kai -- A large number of young women don't trust men with beards. (BFBS Radio)