In GNU Emacs 22.1.50.8 (i686-pc-linux-gnu, GTK+ Version 2.10.11) of 2007-08-21 on trpaslik Windowing system distributor `The X.Org Foundation', version 11.0.70200000 configured using `configure '--with-gtk' '--prefix' '/usr/local' '--with-xpm' '--with-jpeg' '--with-png' '--with-gif'' I'm trying to run: (dired "/user@hosting6.123-reg.co.uk:/") but I'm getting a backtrace. It seems that the "Remove all ~/foo directories from dirlist" code in tramp.el is trying to determine whether the symbol tramp-default-remote-path begins with a ~ character. It doesn't seem to realise that not all the elements of dirlist will be strings. Debugger entered--Lisp error: (wrong-type-argument arrayp tramp-default-remote-path) aref(tramp-default-remote-path 0) (char-equal 126 (aref d 0)) (if (char-equal 126 (aref d 0)) nil (setq newdl (cons d newdl))) (unless (char-equal 126 (aref d 0)) (setq newdl (cons d newdl))) (while dirlist (setq d (car dirlist)) (setq dirlist (cdr dirlist)) (unless (char-equal 126 ...) (setq newdl ...))) (let (newdl d) (while dirlist (setq d ...) (setq dirlist ...) (unless ... ...)) (setq dirlist (nreverse newdl))) (progn (let (newdl d) (while dirlist ... ... ...) (setq dirlist ...))) (if ignore-tilde (progn (let ... ... ...))) (when ignore-tilde (let (newdl d) (while dirlist ... ... ...) (setq dirlist ...))) (if result nil (when ignore-tilde (let ... ... ...)) (tramp-send-command vec (format ... progname progname progname ...)) (goto-char (point-max)) (when (search-backward "tramp_executable " nil t) (skip-chars-forward "^ ") (skip-chars-forward " ") (setq result ...))) (unless result (when ignore-tilde (let ... ... ...)) (tramp-send-command vec (format ... progname progname progname ...)) (goto-char (point-max)) (when (search-backward "tramp_executable " nil t) (skip-chars-forward "^ ") (skip-chars-forward " ") (setq result ...))) (let (result) (unless ignore-path (tramp-send-command vec ...) (goto-char ...) (if ... ...)) (unless result (when ignore-tilde ...) (tramp-send-command vec ...) (goto-char ...) (when ... ... ... ...)) result) (save-current-buffer (set-buffer (tramp-get-buffer vec)) (let (result) (unless ignore-path ... ... ...) (unless result ... ... ... ...) result)) (with-current-buffer (tramp-get-buffer vec) (let (result) (unless ignore-path ... ... ...) (unless result ... ... ... ...) result)) tramp-find-executable(["scp" "user" "hosting6.123-reg.co.uk" "/"] "ls" (tramp-default-remote-path "/usr/sbin" "/usr/local/bin" "/local/bin" "/local/freeware/bin" "/local/gnu/bin" "/usr/freeware/bin" "/usr/pkg/bin" "/usr/contrib/bin") t t) Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_US.UTF-8 locale-coding-system: utf-8 default-enable-multibyte-characters: t