I object to this patch. We have previously rejected code that sprinkles jnews and jcalls all over directory.java. I believe the proper way to introduce jar support for DIRECTORY would be to do it in the list-directory primitive in Pathname.java. At any rate, if we don't want that and want to do the jar logic in directory.lisp, then fine, add whatever primitives you need for the bare minimum, but _don't_ implement it as lisp code that only calls java code. That makes no sense (*).
(*) Yes, it may make sense for user code that has to call java. I don't, however, think it makes sense for abcl internals, or namely directory.lisp. It looks ugly as sin, and it prevents using the code in non-java environments, if such ever arrive. We have a design where lisp code calls primitives that provide the bare minimum support from the java side, I think we should stick to that design.