From xemacs-m  Wed Mar 26 09:00:18 1997
Received: from macon.informatik.uni-tuebingen.de (macon2.Informatik.Uni-Tuebingen.De [134.2.13.2])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id JAA00696
	for <xemacs-beta@xemacs.org>; Wed, 26 Mar 1997 09:00:15 -0600 (CST)
Received: from modas.informatik.uni-tuebingen.de (modas.Informatik.Uni-Tuebingen.De [134.2.12.3]) by macon.informatik.uni-tuebingen.de (8.8.4/8.8.3/AIX-4.1/WSI-1.0) with SMTP id QAA12786 for <xemacs-beta@xemacs.org>; Wed, 26 Mar 1997 16:00:13 +0100
Received: by modas.informatik.uni-tuebingen.de (AIX 4.1/UCB 5.64/4.03)
          id AA15042; Wed, 26 Mar 1997 16:00:11 +0100
Sender: sperber@informatik.uni-tuebingen.de
To: xemacs-beta@xemacs.org
Subject: Re: j-shell and efs don't get along [FIX]
References: <199703241918.LAA08226@palrel3.hp.com> <y9lg1xk789w.fsf@modas.informatik.uni-tuebingen.de> <fawd8snn7uo.fsf@rlab24.rsn.hp.com> <y9ln2rrg4bn.fsf@modas.informatik.uni-tuebingen.de> <fawn2rrllk0.fsf@rlab24.rsn.hp.com> <y9l4tdzf155.fsf@modas.informatik.uni-tuebingen.de> <rviv2flyoy.fsf@sdnp5.ucsd.edu>
Mime-Version: 1.0 (generated by tm-edit 7.106)
Content-Type: text/plain; charset=ISO-8859-1
From: sperber@informatik.uni-tuebingen.de (Michael Sperber [Mr. Preprocessor])
Date: 26 Mar 1997 16:00:08 +0100
In-Reply-To: David Moore's message of 26 Mar 1997 02:44:45 -0800
Message-Id: <y9lvi6e4s1z.fsf_-_@modas.informatik.uni-tuebingen.de>
Lines: 60
X-Mailer: Gnus v5.4.33/XEmacs 20.1(beta9)
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by xemacs.org id JAA00698

>>>>> "David" == David Moore <dmoore@ucsd.edu> writes:

David> sperber@informatik.uni-tuebingen.de (Michael Sperber [Mr. Preprocessor]) writes:

>> Do "xemacs -q".
>> 
>> (setq default-directory "/ftp:/bla/")
>> 
>> And then C-x C-f or something, you also get the error.

David> Yes.  I've located this bug.  I have to think about how to fix it.
David> Fexpand_file_name calls itself recursively (fileio.c:950) to resolve the
David> default directory when needed.  This causes a problem in this case, it
David> seems since efs isn't loaded.  It'll try to autoload it, but to autoload
David> it has to search the load-path.  So it calls back into
David> Fexpand_file_name.  And again it tries to resolve the default, and
David> autoload efs, and resolve, etc etc etc.

David> It's giving me a headache just looking at the mess of goop at the end of
David> that function.

No kidding.  Fix attached.  Just faulty logic.  This should go into
19.15, too :-} :-} :-}

-- 
Cheers =8-} Chipsy
Friede, Vlkerverstndigung und berhaupt blabla

*** src/fileio.c.orig	Wed Mar 26 14:31:23 1997
--- src/fileio.c	Wed Mar 26 15:48:41 1997
***************
*** 940,950 ****
       Putting this call here avoids all that crud.
  
       The EQ test avoids infinite recursion.  */
!   if (! NILP (defalt) && !EQ (defalt, name)
        /* This saves time in a common case.  */
        && ! (XSTRING_LENGTH (defalt) >= 3
! 	    && IS_DIRECTORY_SEP (XSTRING_BYTE (defalt, 0))
! 	    && IS_DEVICE_SEP (XSTRING_BYTE (defalt, 1))))
      {
        struct gcpro gcpro1;
  
--- 940,950 ----
       Putting this call here avoids all that crud.
  
       The EQ test avoids infinite recursion.  */
!   if (! NILP(defalt) && !EQ (defalt, name)
        /* This saves time in a common case.  */
        && ! (XSTRING_LENGTH (defalt) >= 3
! 	    && (IS_DIRECTORY_SEP (XSTRING_BYTE (defalt, 0))
! 		|| IS_DEVICE_SEP (XSTRING_BYTE (defalt, 1)))))
      {
        struct gcpro gcpro1;
  

