Tramp problems (was: Norbert's PGP key expired)
Joachim Schrod
jschrod at acm.org
Wed Mar 28 19:29:36 EDT 2007
>>>>> "MA" == Michael Albinus <michael.albinus at gmx.de> writes:
MA> Joachim Schrod <jschrod at acm.org> writes:
>> /me is now off to fight more with the pre-release tramp version and
>> the obnoxious error messages about wrong argument types that it spouts
>> at me. ;-)
MA> It would be great if you could provide the offered description of
MA> the first problem, a backtrace in case of the error might be a
MA> good starting point for me.
XEmacs 21.5.25, tramp from XEmacs packages CVS:
Start with xemacs -vanilla.
In the scratch buffer, evaluate
(global-set-key 'f5 #'find-file-other-frame)
Open a dired window on a remote system with tramp (it uses the new
default method scp).
Press 'f5.
The error message is
(wrong-type-argument characterp nil)
Actually, I had problems in producing a backtrace, and I don't know
why. When I set debug-on-error to t, sometimes no reaction appears, no
backtrace, nothing. Well, after executing a few other commands, I was
eventually able to produce a backtrace:
Debugger entered--Lisp error: (wrong-type-argument characterp nil)
char-equal(nil ?\t)
tramp-completion-mode("/[scp/comedy]/home/schrod/trans/")
tramp-file-name-handler(abbreviate-file-name "/[scp/comedy]/home/schrod/trans/" t)
abbreviate-file-name("/[scp/comedy]/home/schrod/trans/" t)
apply(abbreviate-file-name ("/[scp/comedy]/home/schrod/trans/" t))
dired-handler-fn(abbreviate-file-name "/[scp/comedy]/home/schrod/trans/" t)
abbreviate-file-name("/[scp/comedy]/home/schrod/trans/" t)
read-file-name-2(file-name-history "Find file in other frame: " nil nil nil nil read-file-name-internal)
read-file-name-1(file file-name-history "Find file in other frame: " nil nil nil nil read-file-name-internal)
read-file-name("Find file in other frame: ")
(list (read-file-name "Find file in other frame: ") (and current-prefix-arg (read-coding-system "Coding system: ")) t)
call-interactively(find-file-other-frame)
With that information, the error is quite clear: #'event-to-character
can return nil and that's not cared for in #'tramp-completion-mode.
The following patch repairs the error at my installation:
Index: tramp.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/tramp/lisp/tramp.el,v
retrieving revision 1.40
diff -u -r1.40 tramp.el
--- tramp.el 2007/03/21 21:24:43 1.40
+++ tramp.el 2007/03/28 23:10:37
@@ -4548,6 +4548,8 @@
(char-equal last-input-event ?\ )))))
;; XEmacs
(and (featurep 'xemacs)
+ ;; last-input-event may have no character approximation
+ (event-to-character last-input-event)
(or
;; ?\t has event-modifier 'control
(char-equal
But you might want to code that differently -- I didn't undertand why
you used funcall to call event-to-character in that function (or why
you didn't use #' instead of symbol-function), maybe it has to do with
compatibility to FSF Emacs.
Best,
Joachim
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Joachim Schrod Email: jschrod at acm.org
Roedermark, Germany
More information about the XEmacs-Beta
mailing list