1. 13 Oct, 2020 4 commits
  2. 10 Oct, 2020 8 commits
    • Mark's avatar
      INCOMPLETE Implement Zip from InputStream access · 1b20b067
      Mark authored
      ZipCache.Archive.getEntry() now works on pathnames relative to the
      root of the Archive.
      
      Able to retrieve the reference to the InputStream for a nested pathname.
      
      Now need to implement accessing entries within this reference.
      
      TODO Rework decision to always use fully qualified pathname in the cache.
      * * *
      Fix Pathname.copyFrom() not to change order of DEVICE cons
      
      Reproduce via:
      
         #p"jar:jar:file:/var/tmp/cl-ppcre-all-2.1.1.jar!/cl-ppcre/packages.abcl!/**/*"
         (namestring *)
      * * *
      PROBE-FILE fails for archive stream
      
      Somewhere in the code we can construct root jar as a Pathname rather
      than PathnameURL which means that the two values are not
      java.lang.Object.equals(), so not matched.
      
      TODO figure out how we are getting such a value
      * * *
      Start being more explicit about the truename method
      * * *
      Delegate cloning of device to the JAR-PATHNAME Java object
      
      TODO PathnameXXX.createXXX() routines uniformly return object over
      LispObject.  Is this really necessary?  It seems to work now in a kind
      of "mixed" state.
      1b20b067
    • Mark's avatar
      pathname: carefully refactor finishing(?) touches · e225e1d6
      Mark authored
      Return NIL as opposed to signalling error with PATHNAME-JAR-P and
      PATHNAME-URL-P.
      * * *
      FILE-WRITE-DATE for remote jar
      
      DELETE-FILE for local jar
      * * *
      Define static Pathname.ncoerce in terms of copyFrom()
      e225e1d6
    • Mark's avatar
      a6ed6d22
    • Mark's avatar
      Expand abstraction of Archive · aa74a3a6
      Mark authored
      Fix ZipTest
      
      Start working on creating a test for a nested jar.
      
      pathname: overhaul semantics for zips using PATHNAME-DEVICE
      
      Implement CL:PATHNAME-DEVICE references to files which are cons cells
      to the level of abcl-1.7.0, which is that nested pathnames do not
      fully work for all variants of CL:TRUENAME.
      
      Attempt to start coding "worst case, cache everything we find
      strategy".
      
      TODO memoize storage via a weak reference so that the VM can possibly
      reclaim space if it needs to.
      
      TODO re-implement references to URIs. (???)
      * * *
      OPEN of remote Zip archives works
      
      TODO no last modified times are being returned
      aa74a3a6
    • Mark's avatar
      Make Pathname.init() static method · 71b6c1bc
      Mark authored
      Running under Netbeans, but failing to enumerate jar pathnames in the
      Java tests.
      
      Moved (most) Pathname.truename() invocations to using symbols
      
      Changed a lot of use of PROBE-FILE over TRUENAME.
      
      Running under Netbeans, but can't probe-file on jar locations:
      
        (probe-file "jar:file:/opt/local/share/java/abcl/abcl.jar!/org/armedbear/lisp/")
        (probe-file "jar:file:/opt/local/share/java/abcl/abcl.jar!/org/armedbear/lisp/boot.lisp")
      
      
      Loading from boot jar not working.
      
      Reading all the jar entries into the entry cache at once is not a good
      idea.  For abcl.jar this is ~10k entries which takes a noticable
      amount of time.
      
      And PathnameJar does not implement the right equals() contract, so
      looking up the entry in the cache doesn't work either.
      
      Running from abcl.jar!
      
      Not loading in contribs…
      Good progress: able to load from abcl.jar.
      
      Failing to bootstrap contrib due to the following errors.
      
      DIRECTORY partly working for jar archives
      
      Use java.net.URI to encode namestrings.
      
      INCOMPLETE Overhaul ZipCache to give linear access to PathnameURL keys
      
      TODO Failing to distinguish that org/armedbear/lisp/java *doesn't* name a directory
      
      TODO: comprehensive multi-level cache design that will plausibly work
      71b6c1bc
    • Mark's avatar
      Starting to hook jar/uri mechanisms up · 6b884d84
      Mark authored
      Failing to roundtrip
      
           (pathname "jar:jar:file:foo.jar!/baz.abcl!/")
      6b884d84
    • Mark's avatar
      INCOMPLETE Hook up implementation of PathnameJar and PathnameURL · 631e423d
      Mark authored
      Current problem:
      
      working through getting TRUENAME working, Lisp.coerceToPathname()
      always returns a Pathname even if it creates a JarPathname?
      631e423d
    • Mark's avatar
      pathname: normalize Pathname to new Java conventions · bc929cf8
      Mark authored
      1. use setter/getter methods for accessing internal components
      
      2. use create() to construct new Pathname objects
      
      Also known as using a Factory pattern which allows one to do stuff
      like:
      
             Pathname p = new Pathname("/foo/").setName("build").setType("me");
      
      TODO: remove invalidateNamestring()
      
      Disallow use of Pathname constructor where possible to encourage use
      of create() routines.
      bc929cf8
  3. 29 Aug, 2020 1 commit
    • Mark's avatar
      Disable aspects of JAR-PATHNAME tests · 156549e6
      Mark authored
      In general, these tests need to be reworked as they are dramatically
      unmaintainable.  But for now, we disable aspects of the tests that
      prevent the in-progress Pathame refactoring from working.
      156549e6
  4. 05 Aug, 2020 1 commit
  5. 04 Aug, 2020 1 commit
  6. 31 Jul, 2020 2 commits
  7. 26 Jun, 2020 1 commit
  8. 30 May, 2020 1 commit
  9. 17 May, 2020 1 commit
    • Mark's avatar
      Update ansi-tests · 32217e69
      Mark authored
      Add recent results to ansi test database.
      
      Add the ASDF system name as a nickname.
      
      Export and add a docstring for DIFFERENCE.
      32217e69
  10. 18 Dec, 2019 1 commit
  11. 17 Dec, 2019 1 commit
  12. 22 Nov, 2019 1 commit
  13. 05 Nov, 2019 4 commits
  14. 01 Nov, 2019 2 commits
  15. 28 Jan, 2018 2 commits
  16. 08 Jun, 2017 2 commits
  17. 07 Jun, 2017 2 commits
    • mevenson@1c010e3e-69d0-11dd-93a8-456734b0d56f's avatar
      Restore compilation on Java 6 · 4e32305a
      JSR-223 is always present so usage in <file:build.xml> is deprecated.
      
      Fix compilation for SYS:RUN-PROGRAM on Java 6.  Not expected to be
      working very well.  The general strategy is to undeprecate
      SYS:RUN-SHELL-COMMAND is some manner that uses the Java 6 NIO plus
      thread pools to drain IO.
      
      Conditionalize on runtime platform of parts of our RUN-PROGRAM
      implementation.
      
      Stub implementation of NIO async processor to drain queue.
      
      TODO: figure out how why "cat /etc/passwd" doesn't ever give output?
      4e32305a
    • mevenson@1c010e3e-69d0-11dd-93a8-456734b0d56f's avatar
      Restore compilation on Java 6 · b10dd7a2
      JSR-223 is always present so usage in <file:build.xml> is deprecated.
      
      Fix compilation for SYS:RUN-PROGRAM on Java 6.  Not expected to be
      working very well.  The general strategy is to undeprecate
      SYS:RUN-SHELL-COMMAND is some manner that uses the Java 6 NIO plus
      thread pools to drain IO.
      
      Conditionalize on runtime platform of parts of our RUN-PROGRAM
      implementation.
      
      Stub implementation of NIO async processor to drain queue.
      
      TODO: figure out how why "cat /etc/passwd" doesn't ever give output?
      b10dd7a2
  18. 03 Jun, 2017 5 commits