EFS 1.15 bug: ftp client under linux outputs cruft when TERM=xterm

Samuel Mikes (smikes@alumni.hmc.edu)
Wed, 28 Jan 1998 18:16:22 +0100


Ciao bug team:

  EFS worked great before, and does now, but I couldn't find a
reference to this problem in the code or the info files, so I thought 
I'd let y'all know that:

  If the environment variable TERM is set to type "xterm" in the
emacs environment, then it's set to "xterm" in the environment of the
ftp client spawned by EFS.  At least on my box (Linux with terminfo
1.9.4 and ncurses 3.0.0) this causes the ftp client to write some
escape sequences which confuse EFS, making EFS appear to hang after
printing the message "Logging in as user anonymous...".  Sample ftp
output is below (literal ESC characters in the output were converted
to "^[").

  Executing (setenv "TERM" nil), or even (setenv "TERM" ""), fixes
the problem.

  Thanks for working on EFS!

Sam Mikes


|||------sample ftp output--------|||
open ftp.sunet.se
^[[?1l^[>Connected to ftp2.sunet.se.
220 ftp2.sunet.se FTP server (Version wu-2.4(7) Wed Jun 12 12:18:20 MET DST 1996) ready.
quote user "anonymous"
Remote system type is UNIX.
Using binary mode to transfer files.
^[[?1h^[=ftp> ^[[?1l^[>331 Guest login ok, send your complete e-mail address as password.
^[[?1h^[=ftp> 
|||------sample ftp output--------|||

Emacs  : XEmacs 20.3 "Vatican City" [Lucid] (i586-pc-linux, Mule) of Sat Jan 24 1998 on trurl
Package: efs

efs believes that the host type of ftp.sunet.se is bsd-unix.

current state:
==============
(setq
 efs-cu-version "1.15/1.12"
 efs-defun-version "1.15/1.1"
 efs-dired-mule-version "1.15/1.1"
 efs-dired-version "1.15/1.32"
 efs-dump-version "1.15/1.1"
 efs-fnh-version "1.15/1.3"
 efs-netrc-version "1.15/1.2"
 efs-ovwrt-version "1.15/1.2"
 efs-report-version "1.15/1.9"
 efs-version "1.15/1.56"
 efs-x19.15-version "1.15/1.2"
 efs-36-bit-binary-file-name-regexp nil
 efs-anonymous-umask nil
 efs-auto-save nil
 efs-auto-save-remotely nil
 efs-backup-by-copying nil
 efs-binary-file-host-regexp nil
 efs-binary-file-name-regexp "\\.\\([zZ]\\|t?gz\\|lzh\\|arc\\|zip\\|zoo\\|ta[rz]\\|dvi\\|sit\\|ps\\|elc\\|gif\\|Z-part-..\\|tpz\\|exe\\|[jm]pg\\|TZ[a-z]?\\|lib\\)\\(~\\|~[0-9]+~\\)?$\\|\\.\\(ARC\\|ELC\\|TAGS\\|EXE\\|ZIP\\|DVI|ZOO\\|GIF\\|T?GZ\\|[JM]PG\\)\\([.#;][0-9]+\\)?$"
 efs-buffer-name-case nil
 efs-compute-remote-buffer-file-truename nil
 efs-debug-ftp-connection t
 efs-ding-on-chmod-failure t
 efs-ding-on-umask-failure t
 efs-disable-netrc-security-check nil
 efs-expire-ftp-buffers t
 efs-ftp-buffer-expire-time nil
 efs-ftp-program-args '("-i" "-n" "-g" "-v")
 efs-ftp-prompt-regexp "^\\(ftp\\|Ftp\\|FTP\\)> *"
 efs-gateway-ftp-prompt-regexp "^\\(ftp\\|Ftp\\|FTP\\)> *"
 efs-gateway-hash-mark-size nil
 efs-gateway-incoming-binary-hm-size nil
 efs-generate-anonymous-password t
 efs-hash-mark-size 1024
 efs-high-security-hosts nil
 efs-incoming-binary-hm-size nil
 efs-local-apollo-unix nil
 efs-ls-cache-max 5
 efs-make-backup-files '(unix sysV-unix bsd-unix next-unix apollo-unix
			 dumb-unix dumb-apollo-unix
			 super-dumb-unix)
 efs-max-ftp-buffer-size 3000
 efs-maximize-idle nil
 efs-message-interval 0
 efs-nlist-cmd "ls"
 efs-nslookup-on-connect nil
 efs-nslookup-program "nslookup"
 efs-prompt-for-transfer-type nil
 efs-pty-check-retry-time 5
 efs-pty-check-threshold 1000
 efs-retry-time 5
 efs-root-umask nil
 efs-send-hash t
 efs-set-modtimes-synchronously nil
 efs-short-circuit-to-remote-root nil
 efs-suppress-abort-recursive-edit-and-then nil
 efs-text-file-name-regexp ".*"
 efs-treat-crlf-as-nl nil
 efs-umask nil
 efs-use-passive-mode nil
 efs-verbose t
 efs-verify-anonymous-modtime nil
 efs-verify-modtime-host-regexp ".*"
 efs-ftp-program-name "ftp"
 efs-ftp-program-args '("-i" "-n" "-g" "-v")
 efs-local-host-regexp ".*"
 efs-ftp-local-host-regexp ".*"
 efs-gateway-host nil
 efs-gateway-type nil
 reporter-version "3.2"
 features '(reporter efs-report vc lispdir loadhist env efs-dired
	    dired-faces dired-xemacs dired view-less
	    view efs-x19\.15 efs-fnh passwd efs-ovwrt efs-netrc efs-defun
	    efs efs-dump picture tex-mode info
	    rfc822 comint-xemacs shell hyper-apropos pp smtpmail ispell
	    feedmail vm-reply vm-minibuf vm-save
	    diary-ins diary-lib solar cal-dst holidays cal-xemacs calendar
	    vm-sort vm-delete vm-undo
	    highlight-headers bbdb-xemacs bbdb-com bbdb-hooks mail-extr
	    vm-page vm-mime tapestry vm-motion
	    vm-summary vm-virtual vm-message vm-folder vc-hooks efs-cu
	    vm-menu vm-mouse vm-misc vm-window
	    vm-defuns fmailutils bbdb-pgp message messagexmas mail-abbrevs
	    sendmail nnheader nnheaderxm
	    rmail tm-view tm-text tm-parse tm-ew-d tm-def mel std11 tl-misc
	    tl-str tl-atype atype tl-seq
	    tl-list alist cless file-detect path-util emu emu-x20 emu-20
	    emu-xemacs overlay mail-utils
	    mailheader bbdb-vm mailcrypt comint ring metamail vm-autoload
	    vm-version vm vm-vars vm-startup
	    font-lock cus-face x-font-menu disp-table crypt crypt++ bbdb t
	    timezone auto-save gnuserv
	    x11-autoloads w3-autoloads vm-autoloads viper-autoloads
	    vc-autoloads utils-autoloads
	    tm-autoloads tl-autoloads skk-autoloads rmail-autoloads
	    psgml-autoloads prim-autoloads
	    pcl-cvs-autoloads packages-autoloads oobr-autoloads
	    mule-autoloads modes-autoloads
	    mh-e-autoloads mel-autoloads mailcrypt-autoloads leim-autoloads
	    language-autoloads iso-autoloads
	    hyperbole-autoloads hm--html-menus-autoloads gnus-autoloads
	    gnats-autoloads games-autoloads
	    eterm-autoloads emulators-autoloads electric-autoloads
	    efs-autoloads ediff-autoloads
	    edebug-autoloads custom-autoloads comint-autoloads
	    cc-mode-autoloads calendar-autoloads
	    bytecomp-autoloads auctex-autoloads apel-autoloads auto-show
	    fontl-hooks ediff-hook x-iso8859-1
	    x-menubar mouse mode-motion skk-leim ccl mule-help itimer
	    lisp-mode easymenu iso8859-1 page
	    buff-menu format lib-complete derived frame text-props cus-start
	    custom widget cl-autoloads
	    cl-extra mini-cl cl cl-19 packages backquote mule
	    lucid-scrollbars cut-buffer lucid-menubars xpm
	    gif athena-dialogs x tty-frames tty toolbar native-sound
	    scrollbar network-streams subprocesses
	    menubar berkeley-db dbm md5 xemacs lisp-float-type linux dialog window-system c-balloon-help)
 )