Changeset 15443


Ignore:
Timestamp:
10/29/20 16:54:37 (2 years ago)
Author:
Mark Evenson
Message:

Fix jar-pathname truename resolution for root jar

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/JarPathname.java

    r15435 r15443  
    364364    // Run a truename resolution on the path of local jar archives
    365365    if (p.isLocalFile()) {
    366       URLPathname rootJar = new URLPathname();
     366      Pathname rootJar;
     367      if (URLPathname.hasExplicitFile(p)) {
     368        rootJar = new URLPathname();
     369      } else {
     370        rootJar = new Pathname();
     371      }
    367372      rootJar.copyFrom((Pathname)p.getRootJar());
     373
    368374      // Ensure that we don't return a JarPathname if the current default is one
    369375      if (rootJar.getDevice().equals(NIL)) {
    370376        rootJar.setDevice(Keyword.UNSPECIFIC);
    371377      }
    372       LispObject trueRootJar = URLPathname.truename(rootJar, errorIfDoesNotExist);
    373       if (trueRootJar.equals(NIL)) {
     378      LispObject rootJarTruename = Pathname.truename(rootJar, errorIfDoesNotExist);
     379      if (rootJarTruename.equals(NIL)) {
    374380  return Pathname.doTruenameExit(rootJar, errorIfDoesNotExist);
    375381      }
    376       LispObject otherJars = p.getJars().cdr();
    377       p.setDevice(new Cons(trueRootJar, otherJars));
     382      LispObject otherJars
     383        = p.getJars().cdr();
     384      p.setDevice(new Cons(rootJarTruename, otherJars));
    378385    }
    379386
Note: See TracChangeset for help on using the changeset viewer.