From xemacs-m  Tue Feb 25 12:00:18 1997
Received: from newman (root@newman.aventail.com [38.225.141.10])
	by xemacs.org (8.8.5/8.8.5) with SMTP id MAA06302
	for <xemacs-beta@xemacs.org>; Tue, 25 Feb 1997 12:00:11 -0600 (CST)
Received: from kramer.in.aventail.com.aventail.com (wmperry@kramer [192.168.1.12]) by newman (8.6.12/8.6.9) with SMTP id JAA16117; Tue, 25 Feb 1997 09:58:11 -0800
Date: Tue, 25 Feb 1997 09:58:11 -0800
Message-Id: <199702251758.JAA16117@newman>
From: "William M. Perry" <wmperry@aventail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
To: Hrvoje Niksic <hniksic@srce.hr>
Cc: xemacs-beta@xemacs.org
Subject: Re: Can't determine how to read passwords, winging it.
In-Reply-To: <kig7mjwpy8w.fsf@jagor.srce.hr>
References: <199702251643.RAA18621@midnight.eng.ecf.teradyne.com>
	<kigd8toq151.fsf@jagor.srce.hr>
	<rjene4ke3u.fsf@zuse.dina.kvl.dk>
	<199702251720.JAA15723@newman>
	<kig7mjwpy8w.fsf@jagor.srce.hr>
Errors-to: wmperry@aventail.com
Reply-to: wmperry@aventail.com
X-Face: O~Rn;(l][/-o1sALg4A@xpE:9-"'IR[%;,,!m7</SYF`{vYQ(&RI1&EiH[FvT;J}@f!4kfz
 x_!Y#=y{Uuj9GvUi=cPuajQ(Z42R[wE@{G,sn$qGr5g/wnb*"*ktI+,CD}1Z'wxrM2ag-r0p5I6\nA
 [WJopW_J.WY;

Hrvoje Niksic writes:
>"William M. Perry" <wmperry@aventail.com> writes:
>
>>   (cond
>>     ((fboundp 'read-passwd) 'read-passwd)
>>     ((featurep 'ange-ftp)   'ange-ftp-read-passwd)
>>     ((or (featurep 'efs)
>>          (featurep 'efs-auto))
>>       'ange-ftp-read-passwd)
>>     (t
>>       ;; define your own function here.
>>      )))
>
>I don't see how such a scheme would work -- for this to work, you'd have
>to require all of these first (e.g. `(featurep 'ange-ftp)' gives nil in
>XEmacs 19.14, until I actually load ange-ftp).  But, to require it, you
>must also know that you have it, so...

  If the user doesn't want to load a package, then another package should
not do it for them, ever.  Hence the define-your-own-function-here slot.
NEVER EVER do (autoload 'ange-ftp-read-passwd "ange-ftp") - its just evil.
And never do a (require 'blah) either, unless your package is useless
without it (ie: Emacs-W3 & URL & MM)

-Bill P.

