tramp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Tramp and Zope.


From: Artur Maciąg
Subject: Re: Tramp and Zope.
Date: 06 Aug 2002 12:16:19 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50

address@hidden (Kai Großjohann) writes:
> 
> The question is, why does tramp-run-real-handler lead to Tramp being
> invoked itself?  Hm.  Ah, I have an idea.  Please try this patch.
> Does it work?

 No :(

 and: Symbol's value as variable is void: op

 *Backtrace*

Debugger entered--Lisp error: (void-variable op)
  (eq inhibit-file-name-operation op)
  (and (eq inhibit-file-name-operation op) inhibit-file-name-handlers)
  (list (quote tramp-file-name-handler) (and (eq inhibit-file-name-operation 
op) inhibit-file-name-handlers))
  (let ((op ...) (inhibit-file-name-handlers ...) (inhibit-file-name-operation 
op)) (apply operation args))
  tramp-run-real-handler(substitute-in-file-name 
("/ftp:address@hidden:/artgabi/portfolio/index_html"))
  (if fn (catch (quote tramp-forward-to-ange-ftp) (save-match-data ...)) 
(tramp-run-real-handler operation args))
  (let ((fn ...)) (if fn (catch ... ...) (tramp-run-real-handler operation 
args)))
  tramp-file-name-handler(substitute-in-file-name 
"/ftp:address@hidden:/artgabi/portfolio/index_html")
  read-file-name("Find file: " nil "~/Wiki/" nil)
  find-file-read-args("Find file: " nil)
  call-interactively(find-file)


 Code:

(defun tramp-run-real-handler (operation args)
  "Invoke normal file name handler for OPERATION.
First arg specifies the OPERATION, second arg is a list of arguments to
pass to the OPERATION."
  (let ((op (if (eq operation 'ange-ftp-hook-function)
                (car args)
              operation))
        (inhibit-file-name-handlers
         (list 'tramp-file-name-handler
               (and (eq inhibit-file-name-operation op)  ;; <----- here
                    inhibit-file-name-handlers)))
        (inhibit-file-name-operation op))
    (apply operation args)))

 Look's like 'op' in this let is not set. 

 Even when I try to set 'op' like this:

  (let ((op operation)
        (inhibit-file-name-handlers
         (list 'tramp-file-name-handler
               (and (eq inhibit-file-name-operation op)  ;; <----- here
                    inhibit-file-name-handlers)))
        (inhibit-file-name-operation op))
    (apply operation args))

  I get: error (void-variable op)

  I don't understand - 'op' should be visible in this let - why it isn't ?

  Sorry, I know 'next to nothing' about ELisp, but I'm workin' on it :)


        Artur.
 
-- 
   Artur Maciąg                          http://www.artgabi.com.pl
----------------------------------------------------------------------
          Discoveries are made by not following instructions. 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]