<div dir="ltr">Can say what you mean by "work"? <div><br><div>I can make an use pathname with "##" in it without error.</div><div>If for pathname I use a URI instead, I get an error about the second "#" which is illegal in the fragment name. If you were doing that in web standards you would need to percent-encode the second "#"</div><div><br></div><div>But how to quote inside filenames in lisp is confusing to me. Is it even specified?</div><div><br></div><div>I made a file called ~/a##b</div><div>(probe-file "/Users/alanr/a##b") succeeds</div><div><br></div><div>(probe-file "file://<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">/Users/alanr/a##b") fails: "Improper URI syntax for 'file:/Users/lori/repos/bfo-theory/tex/a##b': java.net.URISyntaxException: Illegal character in fragment at index 42: file:///Users/lori/repos/bfo-theory/tex/a##b"</span><br></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="text-align:start;text-indent:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">(probe-file "file:///Users/lori/repos/bfo-theory/tex/a#%23b") returns nil<br></span></div><div><span style="text-align:start;text-indent:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div>Still not the same error as you get. </div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, May 30, 2018 at 1:51 PM, Blake McBride <span dir="ltr"><<a href="mailto:blake@mcbride.name" target="_blank">blake@mcbride.name</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">With tomcat, if you want to change the root application you can either rename the directory ROOT or ROOT##myapp. ROOT#myapp makes a lot of sense because it reminds you what's there. However, that naming convention seems to conflict with ABCL. My app under ROOT works fine, but when I name it to ROOT##myapp ABCL gives:<div><br></div><div><div>org.armedbear.lisp.<wbr>IntegrityError</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Primitives$<wbr>pf_error.execute(Primitives.<wbr>java:1577)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Primitive.<wbr>execute(Primitive.java:113)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Symbol.<wbr>execute(Symbol.java:803)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Lisp.error(<wbr>Lisp.java:383)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.ZipCache.<wbr>get(ZipCache.java:222)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.ZipCache.<wbr>get(ZipCache.java:102)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Pathname.<wbr>truename(Pathname.java:2275)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Load.<wbr>findLoadableFile(Load.java:69)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Load.<wbr>loadSystemFile(Load.java:305)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.<wbr>Interpreter.initializeLisp(<wbr>Interpreter.java:172)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.<wbr>Interpreter.createInstance(<wbr>Interpreter.java:72)</div><div><span style="white-space:pre-wrap"> </span>at com.arahant.lisp.ABCL.init(<wbr>ABCL.java:35)</div><div><span style="white-space:pre-wrap"> </span>at com.arahant.utils.<wbr>StartupListener.<wbr>contextInitialized(<wbr>StartupListener.java:225)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>StandardContext.listenerStart(<wbr>StandardContext.java:4792)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>StandardContext.startInternal(<wbr>StandardContext.java:5256)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.util.<wbr>LifecycleBase.start(<wbr>LifecycleBase.java:150)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>ContainerBase.<wbr>addChildInternal(<wbr>ContainerBase.java:754)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>ContainerBase.addChild(<wbr>ContainerBase.java:730)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>StandardHost.addChild(<wbr>StandardHost.java:734)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.startup.<wbr>HostConfig.deployDirectory(<wbr>HostConfig.java:1140)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.startup.<wbr>HostConfig$DeployDirectory.<wbr>run(HostConfig.java:1875)</div><div><span style="white-space:pre-wrap"> </span>at java.util.concurrent.<wbr>Executors$RunnableAdapter.<wbr>call(Executors.java:511)</div><div><span style="white-space:pre-wrap"> </span>at java.util.concurrent.<wbr>FutureTask.run(FutureTask.<wbr>java:266)</div><div><span style="white-space:pre-wrap"> </span>at java.util.concurrent.<wbr>ThreadPoolExecutor.runWorker(<wbr>ThreadPoolExecutor.java:1149)</div><div><span style="white-space:pre-wrap"> </span>at java.util.concurrent.<wbr>ThreadPoolExecutor$Worker.run(<wbr>ThreadPoolExecutor.java:624)</div><div><span style="white-space:pre-wrap"> </span>at java.lang.Thread.run(Thread.<wbr>java:748)</div><div>ERROR placeholder called with arguments:</div><div>Failed to get cached ZipFile because java.io.FileNotFoundException: /home/arahant/apache-tomcat-8.<wbr>5.31/demo/ROOT (No such file or directory)</div><div>Failed to get cached ZipFile because java.io.FileNotFoundException: /home/arahant/apache-tomcat-8.<wbr>5.31/demo/ROOT (No such file or directory)</div><div>[ERROR] [utils.StartupListener ] - 2018-05-30 12:42:02 Error initializing Lisp.</div><div>org.armedbear.lisp.<wbr>IntegrityError</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Primitives$<wbr>pf_error.execute(Primitives.<wbr>java:1577)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Primitive.<wbr>execute(Primitive.java:113)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Symbol.<wbr>execute(Symbol.java:803)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Lisp.error(<wbr>Lisp.java:383)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.ZipCache.<wbr>get(ZipCache.java:222)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.ZipCache.<wbr>get(ZipCache.java:102)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Pathname.<wbr>truename(Pathname.java:2275)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Load.<wbr>findLoadableFile(Load.java:69)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Load.<wbr>loadSystemFile(Load.java:305)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.<wbr>Interpreter.initializeLisp(<wbr>Interpreter.java:172)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.<wbr>Interpreter.createInstance(<wbr>Interpreter.java:72)</div><div><span style="white-space:pre-wrap"> </span>at com.arahant.lisp.ABCL.init(<wbr>ABCL.java:35)</div><div><span style="white-space:pre-wrap"> </span>at com.arahant.utils.<wbr>StartupListener.<wbr>contextInitialized(<wbr>StartupListener.java:225)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>StandardContext.listenerStart(<wbr>StandardContext.java:4792)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>StandardContext.startInternal(<wbr>StandardContext.java:5256)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.util.<wbr>LifecycleBase.start(<wbr>LifecycleBase.java:150)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>ContainerBase.<wbr>addChildInternal(<wbr>ContainerBase.java:754)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>ContainerBase.addChild(<wbr>ContainerBase.java:730)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>StandardHost.addChild(<wbr>StandardHost.java:734)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.startup.<wbr>HostConfig.deployDirectory(<wbr>HostConfig.java:1140)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.startup.<wbr>HostConfig$DeployDirectory.<wbr>run(HostConfig.java:1875)</div><div><span style="white-space:pre-wrap"> </span>at java.util.concurrent.<wbr>Executors$RunnableAdapter.<wbr>call(Executors.java:511)</div><div><span style="white-space:pre-wrap"> </span>at java.util.concurrent.<wbr>FutureTask.run(FutureTask.<wbr>java:266)</div><div><span style="white-space:pre-wrap"> </span>at java.util.concurrent.<wbr>ThreadPoolExecutor.runWorker(<wbr>ThreadPoolExecutor.java:1149)</div><div><span style="white-space:pre-wrap"> </span>at java.util.concurrent.<wbr>ThreadPoolExecutor$Worker.run(<wbr>ThreadPoolExecutor.java:624)</div><div><span style="white-space:pre-wrap"> </span>at java.lang.Thread.run(Thread.<wbr>java:748)</div><div>org.armedbear.lisp.<wbr>IntegrityError</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Primitives$<wbr>pf_error.execute(Primitives.<wbr>java:1577)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Primitive.<wbr>execute(Primitive.java:113)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Symbol.<wbr>execute(Symbol.java:803)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Lisp.error(<wbr>Lisp.java:383)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.ZipCache.<wbr>get(ZipCache.java:222)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.ZipCache.<wbr>get(ZipCache.java:102)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Pathname.<wbr>truename(Pathname.java:2275)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Load.<wbr>findLoadableFile(Load.java:69)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Load.<wbr>loadSystemFile(Load.java:305)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.<wbr>Interpreter.initializeLisp(<wbr>Interpreter.java:172)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.<wbr>Interpreter.createInstance(<wbr>Interpreter.java:72)</div><div><span style="white-space:pre-wrap"> </span>at com.arahant.lisp.ABCL.init(<wbr>ABCL.java:35)</div><div><span style="white-space:pre-wrap"> </span>at com.arahant.utils.<wbr>StartupListener.<wbr>contextInitialized(<wbr>StartupListener.java:225)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>StandardContext.listenerStart(<wbr>StandardContext.java:4792)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>StandardContext.startInternal(<wbr>StandardContext.java:5256)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.util.<wbr>LifecycleBase.start(<wbr>LifecycleBase.java:150)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>ContainerBase.<wbr>addChildInternal(<wbr>ContainerBase.java:754)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>ContainerBase.addChild(<wbr>ContainerBase.java:730)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>StandardHost.addChild(<wbr>StandardHost.java:734)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.startup.<wbr>HostConfig.deployDirectory(<wbr>HostConfig.java:1140)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.startup.<wbr>HostConfig$DeployDirectory.<wbr>run(HostConfig.java:1875)</div><div><span style="white-space:pre-wrap"> </span>at java.util.concurrent.<wbr>Executors$RunnableAdapter.<wbr>call(Executors.java:511)</div><div><span style="white-space:pre-wrap"> </span>at java.util.concurrent.<wbr>FutureTask.run(FutureTask.<wbr>java:266)</div><div><span style="white-space:pre-wrap"> </span>at java.util.concurrent.<wbr>ThreadPoolExecutor.runWorker(<wbr>ThreadPoolExecutor.java:1149)</div><div><span style="white-space:pre-wrap"> </span>at java.util.concurrent.<wbr>ThreadPoolExecutor$Worker.run(<wbr>ThreadPoolExecutor.java:624)</div><div><span style="white-space:pre-wrap"> </span>at java.lang.Thread.run(Thread.<wbr>java:748)</div><div>[ERROR] [utils.StartupListener ] - org.armedbear.lisp.<wbr>IntegrityError</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Primitives$<wbr>pf_error.execute(Primitives.<wbr>java:1577)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Primitive.<wbr>execute(Primitive.java:113)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Symbol.<wbr>execute(Symbol.java:803)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Lisp.error(<wbr>Lisp.java:383)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.ZipCache.<wbr>get(ZipCache.java:222)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.ZipCache.<wbr>get(ZipCache.java:102)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Pathname.<wbr>truename(Pathname.java:2275)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Load.<wbr>findLoadableFile(Load.java:69)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.Load.<wbr>loadSystemFile(Load.java:305)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.<wbr>Interpreter.initializeLisp(<wbr>Interpreter.java:172)</div><div><span style="white-space:pre-wrap"> </span>at org.armedbear.lisp.<wbr>Interpreter.createInstance(<wbr>Interpreter.java:72)</div><div><span style="white-space:pre-wrap"> </span>at com.arahant.lisp.ABCL.init(<wbr>ABCL.java:35)</div><div><span style="white-space:pre-wrap"> </span>at com.arahant.utils.<wbr>StartupListener.<wbr>contextInitialized(<wbr>StartupListener.java:225)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>StandardContext.listenerStart(<wbr>StandardContext.java:4792)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>StandardContext.startInternal(<wbr>StandardContext.java:5256)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.util.<wbr>LifecycleBase.start(<wbr>LifecycleBase.java:150)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>ContainerBase.<wbr>addChildInternal(<wbr>ContainerBase.java:754)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>ContainerBase.addChild(<wbr>ContainerBase.java:730)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.core.<wbr>StandardHost.addChild(<wbr>StandardHost.java:734)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.startup.<wbr>HostConfig.deployDirectory(<wbr>HostConfig.java:1140)</div><div><span style="white-space:pre-wrap"> </span>at org.apache.catalina.startup.<wbr>HostConfig$DeployDirectory.<wbr>run(HostConfig.java:1875)</div><div><span style="white-space:pre-wrap"> </span>at java.util.concurrent.<wbr>Executors$RunnableAdapter.<wbr>call(Executors.java:511)</div><div><span style="white-space:pre-wrap"> </span>at java.util.concurrent.<wbr>FutureTask.run(FutureTask.<wbr>java:266)</div><div><span style="white-space:pre-wrap"> </span>at java.util.concurrent.<wbr>ThreadPoolExecutor.runWorker(<wbr>ThreadPoolExecutor.java:1149)</div><div><span style="white-space:pre-wrap"> </span>at java.util.concurrent.<wbr>ThreadPoolExecutor$Worker.run(<wbr>ThreadPoolExecutor.java:624)</div><div><span style="white-space:pre-wrap"> </span>at java.lang.Thread.run(Thread.<wbr>java:748)</div></div><div><br></div></div>
</blockquote></div><br></div>