Comparing c:

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • omion
    Visitor
    • Dec 2007
    • 6

    Comparing c:

    I just got Cirrus, and I noticed something odd when I make a new folder compare

    If I type "c:" in the text field, it will replace it with "C:\Documents and Settings\Omion", which is my home folder. The contents in the compare are from my home folder, not the C: folder.

    If I click on the text field to change it, it will revert back to "c:".

    Using "c:\" works as expected, as does "d:".


    I'm using full debug 442 on Windows XP x64 edition.
  • Michael Bulgrien
    Carpal Tunnel
    • Oct 2007
    • 1772

    #2
    Without the "\", C: refers to the drive, not a specific folder. Your home folder is the active folder on your C: drive, that is why it displays. I did not realize that Cirrus did this (I had not tried it) but it does not bother me. It is consistent with how the operating system changes drives elsewhere (such as at a command prompt).
    BC v4.0.7 build 19761
    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

    Comment

    • omion
      Visitor
      • Dec 2007
      • 6

      #3
      I agree that it behaves the same as the command line, but I personally think it should act like Windows Explorer as much as possible, which turns "C:" into "C:\". BC2 also acts like this.

      Actually, I think the only place Windows keeps track of which directory each drive has active is in the command line, since it maintains the same usage as DOS. In all the GUI programs I've seen, typing "C:" goes to the root directory.

      I'll be honest, I do like that feature for command-line things because I can easily switch between two directories without having to type in the whole path again.

      However, the feature is useless if one cannot change the "active" directory. With the command prompt, you can "cd" to some directory in a drive to make it active, but with Cirrus I don't see that option - "c:" always goes to the home directory.


      I've always though that the differentiation of drive and directory was strange, since you can now map an NTFS partition to a directory, and drives can be represented internally as "directories" in the "\\?\" UNC directory.

      Comment

      • Michael Bulgrien
        Carpal Tunnel
        • Oct 2007
        • 1772

        #4
        Originally posted by omion
        the feature is useless if one cannot change the "active" directory.
        I agree. Wouldn't it be neat if Cirrus remembered the last path it accessed on each drive, then all you needed to do was enter c: or d: to switch to that path? For example, c: opens your home folder (d: on my system since my home folder is on my d: drive). If you went down several layers deeper, then went to another drive, then came back with the drive letter, wouldn't it be neat if the last path you were at was restored? I know I would use it if it worked.
        BC v4.0.7 build 19761
        ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

        Comment

        • Tim
          Team Scooter
          • Oct 2007
          • 786

          #5
          "Current Directory" is a valid concept in Windows, beyond DOS programs and the command line. A shortcut to a GUI app can set the current directory in the "Start in" field. My desktop shortcut to Cirrus has this field blank, so I get my desktop when I enter C: for a base path.

          Windows' Start menu initializes the current directory to your home directory --that's why you're seeing it.

          We definitely want to respect the current directory if you don't type the "\". As far as Michael's suggestion for setting the current directory when BC loads base folders, that's something we can think about.
          Tim T Scooter Software

          Comment

          • omion
            Visitor
            • Dec 2007
            • 6

            #6
            Tim:

            That makes sense, and I've changed my shortcut's current directory to "C:\" to make it work the way I wanted it, but it does seem a bit odd...

            Using the shortcut, comparing "C:" to "D:" will actually compare "C:\documents and ..." to "D:\".

            When I open the exe file directly on my computer, comparing "C:" to "D:" will actually compare "C:\" to "D:\Programs\Cirrus Full Debug". Straight through the exe file, there is no "start in" to change.

            And yet, if I type "C:" into explorer, or any "save" or "open" dialog, or even BC2, it gets me the root directory, no matter what that program has as the current directory.

            Personally, I think that basing anything in the compare off the "start in" setting is not helpful. The fact that it only applies to one drive is odd. Why can't I select a default directory for each drive? Why is it different from every other text field in every other GUI program? I think the current implementation is too strange and not useful enough.

            Comment

            • Zoë
              Team Scooter
              • Oct 2007
              • 2663

              #7
              Current directory doesn't apply to only one drive. If you start a command prompt on C:, change into a directory, change to D:, change into another directory, and then start "Cirrus.exe C: D:" it will load the subdirectories from both drives. To use your example, if Cirrus were installed in D:\Cirrus, it would use that path for "D:" and would show the root for "C:". Other behavior we support for the paths include "C:filename.txt", which is "filename.txt in C:'s current directory", and environmental variables like %Temp%.

              Personally I think we should match the current behavior on the command line and Explorer's behavior from the GUI, but there messy cases like scripting where the difference isn't as clear, so we have to choose one or the other.
              Zoë P Scooter Software

              Comment

              • Michael Bulgrien
                Carpal Tunnel
                • Oct 2007
                • 1772

                #8
                Originally posted by Craig
                Other behavior we support for the paths include "C:filename.txt", which is "filename.txt in C:'s current directory", and environmental variables like %Temp%.
                Cirrus also supports relative path names:
                "." for current directory.
                ".." up a level from current directory.
                BC v4.0.7 build 19761
                ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

                Comment

                Working...