Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#30 patch for bug 3087668

closed-accepted
None
5
2010-10-18
2010-10-14
Julian Squires
No

Bug 3087668 seems to occur because the trailing backslash in (ext:probe-pathname "C:\\") is stripped off before real_path, which means it gets interpreted as a relative path. Additionally, FindFirstFile fails when passed a path with a trailing backslash. The attached patch appears to fix this problem; I'm not terribly familiar with the source so hopefully it's appropriate.

Discussion

  • Julian Squires
    Julian Squires
    2010-10-14

    Sorry, my original patch didn't include a ChangeLog entry, and included a few errant tabs.

     
  • Sam Steingold
    Sam Steingold
    2010-10-15

    thanks for the patch.
    unfortunately, it breaks clisp on unix.

     
  • Julian Squires
    Julian Squires
    2010-10-15

    Doh. I'm sorry, I hadn't realized the code paths I was changing weren't all win32. I've included an #ifdef in the patch, but at this point you probably know a cleaner solution than I.

     
  • Thanks for the patch and investigation, Julian. I'll se how to fix the bug, probably real_path shouldn't add the slash. As far as I can see, (probe-pathname "C:\\") should be equivalent to (probe-pathname "C:") and mean "drive C exists", correct me if I wrong.

     
    • assigned_to: nobody --> ampy
     
  • Sam Steingold
    Sam Steingold
    2010-10-17

    Arseny, I disagree,
    c: means the default directory on c drive c
    c:/ means the top-level directory on drive c

     
  • Yep, I missed the return values - thought it's a predicate. I meant that if default directory exists then the drive exists and vice versa. But it's not true - I just checked.

     
  • Accepted as a basis for bigger patch.

     
    • status: open --> closed-accepted