[armedbear-devel] r12666 breaks ASDF compilation on Linux

Alessio Stalla alessiostalla at gmail.com
Wed Jun 2 16:56:46 UTC 2010


On Wed, Jun 2, 2010 at 6:33 PM, Mark Evenson <evenson at 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




More information about the armedbear-devel mailing list