On Wed, Jun 2, 2010 at 6:33 PM, Mark Evenson evenson@panix.com wrote:
On 6/2/10 4:27 PM, Alessio Stalla wrote:
Index: src/org/armedbear/lisp/Pathname.java
--- src/org/armedbear/lisp/Pathname.java (revisione 12737) +++ src/org/armedbear/lisp/Pathname.java (copia locale) @@ -232,6 +232,7 @@ if (s == null) { return; }
- namestring = s;
if (s.equals(".") || s.equals("./") || (Utilities.isPlatformWindows && s.equals(".\"))) { directory = new Cons(Keyword.RELATIVE); @@ -429,7 +430,6 @@ s = System.getProperty("user.home").concat(s.substring(1)); } }
- namestring = s;
if (Utilities.isPlatformWindows) { if (s.length() >= 2 && s.charAt(1) == ':') { device = new SimpleString(s.charAt(0));
I think the second part of the patch is good, as Pathname.init() shouldn't be setting the namestring at all. The getNamestring() accessor should construct the value on its first invocation.
But won't that construct it with \ on Windows?
So I would be led to think that the first part of the patch is wrong. At best, it has no effect on the action on the algorithim.
It has the effect of preventing getNamestring() to recalculate the namestring until the pathname is modified.
Alessio